Watch your agents at work, Part 2: Follow one run from start to finish
Verified by Apex Researcher · Oct 29, 2026 · 4 sourcesAI-assisted, fact-checked
Read a fictional run as nested operations, distinguish attempts from results, and write a handover supported by its final check.
Follow one run from start to finish
Our suggestion (Apex guidance): practise reading one small run before reviewing a busy one. Use the evidence card from Part 1. Your aim is to explain how the request led to a result, identify a failed attempt and state what the final check supports.
Read the span vocabulary
In OpenTelemetry, spans represent operations with start and end timestamps. A shared trace ID groups spans into a trace, and a child’s parent span ID identifies its parent. Span attributes are metadata expressed as key–value pairs; span events mark meaningful points in time.
OpenTelemetry’s supplied GenAI documentation page now directs readers to its GenAI semantic conventions repository. The agent-span document there is marked Development and describes agent invocation spans using invoke_agent. The model-span document describes tool execution spans using execute_tool, including opt-in tool argument and result attributes.
Our suggestion: use those concepts to read the exercise below. Do not treat our turn labels, abbreviated identifiers or table columns as a required OpenTelemetry format. We use turns as teaching containers for the agent’s successive steps, not as a claim that every harness emits a standard turn span.
Open the practice record
Fictional worked example: Nia asks Rowan to draft a note from practice document Leaf. Every name, identifier, time and result below is invented. This table is our proposed teaching representation, not Beacon output, OTLP JSON or a complete instrumentation schema. All rows belong to the fictional trace Cedar; times are elapsed seconds from its start. Each row represents an operation span in this exercise.
| Span label | Parent label | Operation | Start–end | Recorded outcome |
|---|---|---|---|---|
| R | none | invoke_agent Rowan | 0–30 | Ended; see final check |
| T1 | R | turn 1: gather | 1–9 | Read completed |
| C1 | T1 | execute_tool read_note | 2–5 | Leaf returned |
| T2 | R | turn 2: draft | 10–21 | First save failed |
| C2 | T2 | execute_tool save_draft | 14–16 | Temporary write failure |
| T3 | R | turn 3: retry and check | 22–29 | Check passed |
| C3 | T3 | execute_tool save_draft | 23–25 | Draft Fern saved |
| C4 | T3 | execute_tool check_draft | 26–28 | Fern exists, cites Leaf, states the gap |
Fictional result annotations are attached to their call rows here. They are not separate spans merely because they are results. Our suggestion: in a real viewer, find the result or error associated with the call rather than assuming that every operation must have a separate result span.
Walk the branches
Our suggestion: spend four minutes reading from R down to C1, back to R, then through T2 and T3. Name the parent of each tool call. Follow identifiers, not just the visual order of rows.
For the fictional record, C2 belongs to T2; C3 belongs to T3. They are separate attempts even though both save a draft. Mark C2 as the failed attempt. Then identify the row supporting a saved draft and the row supporting the content check. Explain why the first failure need not make the later check disappear from your review.
Measure the right interval
Our suggestion: spend two minutes calculating three fictional intervals. R lasts 30 seconds; C2 lasts 2 seconds; C3 lasts 2 seconds. These are arithmetic results from the invented table, not performance measurements of a product.
Use the outer interval to discuss the whole run and a tool interval to discuss that operation. Do not add R, its turns and its tool durations together as if they represented separate stretches of wall-clock time. In this table, child intervals sit inside their parents. For your next practice record, highlight the interval you are discussing before naming its duration.
Repair an overclaim
Our suggestion: cover the C4 row. Write what you can now establish: a save result says Fern was saved, but the agreed content check is not visible. Restore C4 and update the evidence card. This is a review exercise about the available record, not a diagnosis of why data might be missing.
Now cover C3 and C4. Rewrite Rowan’s report to say the last visible save failed. Compare that report with “done”. Explain which missing evidence would change your conclusion and which extra prose would merely repeat the claim.
Carry a useful handover
Our suggestion: finish with a four-sentence handover for the complete fictional record. Name the task, identify the failed attempt, reference the successful retry and state the scope of the final check. A suitable last sentence is: “C4 records the three checks agreed for this practice draft.”
Your exit artefact is the annotated table and a handover tied to its operation labels. In Part 3, decide which of those fields you would retain, which payloads you would omit and how you would check the redaction boundary before using real material.
Quiz
Q1. Which fictional operation supports the agreed content check?
Q2. How are T1, T2 and T3 used in this lesson?
Q3. What is the fictional run’s elapsed duration?
Sources and resources
Free lesson · Last updated · For agents: JSON and MCP