Debug an agent trace: unit mismatch in a freight quote

    Easy15 minDebug the trace · Exact answer + fix reviewCAASA
    • tool-call failure
    • data validation

    The brief

    A freight forwarder in Chennai uses an agent to produce instant less-than-container-load (LCL) sea freight quotes. A customer complained that the quote was far higher than a competitor's. Here is the trace.

    [1] user      Quote for 3 pallets, order SO-55821, Chennai to Rotterdam, ready 14 Dec.
    
    [2] tool_call get_shipment_details(order_ref="SO-55821")
        result    {"pallets": 3, "gross_weight": 2646, "weight_unit": "lb",
                   "volume_cbm": 2.1, "commodity": "auto parts", "hazardous": false}
    
    [3] tool_call get_rate_card(origin="INMAA", dest="NLRTM", mode="LCL")
        result    {"rate_per_cbm_usd": 38, "rate_per_tonne_usd": 52,
                   "min_charge_usd": 60, "basis": "charge the greater of volume or weight"}
    
    [4] tool_call calculate_freight(volume_cbm=2.1, weight_kg=2646,
                                    rate_per_cbm=38, rate_per_tonne=52)
        result    {"volume_charge_usd": 79.80, "weight_charge_usd": 137.59,
                   "chargeable_basis": "weight", "freight_usd": 137.59}
    
    [5] assistant Your ocean freight from Chennai to Rotterdam is USD 137.59,
                  charged on weight (2.646 tonnes). Origin and destination
                  charges are quoted separately.

    The calculator tool's schema is calculate_freight(volume_cbm: number, weight_kg: number, rate_per_cbm: number, rate_per_tonne: number). It divides weight_kg by 1,000 to get tonnes.

    Your answer

    At which step did the agent go wrong?

    The change you would make so this cannot happen again. Two or three concrete points.

    0/120 words

    Graded by AI against the ADaSci rubric. Your answers stay private; only your score shows on your profile.