Lesson 4 of 5 in Trace Anatomy: Reading an Agent Run Like a Professional.
Here is the part that makes you useful. Three traces follow. Each one ends with a plausible answer, each one has status=OK on every span, and each one is broken. They are synthetic composites built to isolate one failure each — not reports of real incidents — and they cover the three failures that dominate real agent debugging.
Work them in three passes, in this order:
Pass 1 — shape. How many model calls, how many tool calls, how deep, in what order? Compare against the silhouette you expect for this task. Wrong shape is the loudest signal in the trace.
Pass 2 — status and stop reasons. Every non-OK span, every error class, and above all the run-level stop reason: did the model declare itself done, or did a budget end the run? Then look inside successful tool payloads for error semantics, because a green span is only as honest as the harness that set it.
Pass 3 — deltas and repeats. Input tokens per turn (rising fast means context bloat), result sizes (round numbers mean clipping), argument and result hashes (repeats mean no progress), and wall-clock gaps.
Interactive checkpoint quiz (1 questions) — open this page in a browser to take it.
Interactive checkpoint quiz (1 questions) — open this page in a browser to take it.
Interactive checkpoint quiz (1 questions) — open this page in a browser to take it.
Four failure fingerprints you can spot in under a minute
Failure
Span fingerprint
What the user sees
Fix
Silent truncation
Result size at a round limit; result far smaller than the source; next model span’s input tokens too small to contain the payload.
A confident, specific, wrong answer — often an absence claim.
Record truncated + original_bytes; mark the gap in-band; page or query instead of dumping; forbid absence claims on truncated runs.
Papered-over tool error
Error semantics inside a status-OK payload; no retry span; a later claim that the action succeeded.
“Done!” — with nothing done, and sometimes a false record created to prove it.
Classify tool results into an error taxonomy and set span status from it; assert claims against successful mutation spans.
Non-convergent loop
Stop reason ≠ model_complete; repeated result hashes; input tokens climbing turn over turn.
A plausible partial answer, delivered as if complete, at several times the expected cost.
Alert on stop reason; no-progress detection on result hashes; token and cost caps; surface partials as partial.
Model swapped underneath you
Served model id differs from the requested one, or changes mid-population; quality metrics shift with no deploy of yours.
A quiet regression nobody can attribute to a change.
Record requested and served model on every model span; group quality metrics by served model; pin versions rather than aliases where it matters.
Tool: Trace Debugger — Practise on traces you have not seen: the Trace Debugger deals you real-shaped runs — truncations, papered-over errors, spinning loops, swapped models — and scores your diagnosis.
Interactive checkpoint quiz (1 questions) — open this page in a browser to take it.