Fieldnotes / engineering
← Tool design

Watch & compare

Tool design

Different ways to see the same idea. Play one cut at a time, then return to the guide to try it yourself.

Why we recommend Empty ≠ failed

Astra makes the contract failure concrete: an empty search and a swallowed timeout produce the same answer, then an explicit error changes the answer to Unknown. Baseline offers a quieter walkthrough of correct outcomes but leaves the reason for the contract to inference. Fable is a useful companion about bounding log output before it consumes context; it teaches a different mechanism and works best after the main lesson.

Original · 25 sec

Original explanation

Tool design makes available actions clear, bounded, and easy for an agent to use correctly.

Read the video sequence
  1. 0–6.5s: A bounded incident lookup returns an empty list. The agent receives a successful empty result.
  2. 7–14.5s: A second lookup times out. The agent receives an explicit error and chooses one retry.
  3. 15–24s: The retry returns incident INC-42 as a successful nonempty result.
About this cut

Production: Original prototype; model not recorded.

Recommended · Astra · 30 sec

Empty ≠ failed

Preserve the difference between a completed empty lookup and a failed tool call, then enforce a bounded retry in the application.

Read the video sequence
  1. 0s A read-only search for payments incidents completes successfully with no records. The empty list reaches the agent, which reports zero matches.
  2. 6.8s The next lookup times out. A faulty tool adapter replaces the failure with an empty list, so the agent incorrectly reports zero matches; a red cross marks the mistake.
  3. 12.8s The tool contract is changed to preserve execution errors. The index still times out, but an explicit error reaches the agent, which now treats the answer as unknown.
  4. 19.7s An illustrative application policy waits with pulsing clock cues while App retries left stays at one. At dispatch the counter and its single segment drop to zero. In this scripted case the index recovers and returns INC-42; recovery is not guaranteed.
  5. 24.5s The successful result and incident ID reach the agent, which reports the returned record. The scene holds, then fades to the same dark frame as the opening. Finding the record does not establish root cause.
About this cut

Production: gpt-6-astra.

Revision: gpt-6-astra comparative review.

Scripted incident-search scenario; typed results do not guarantee correct model interpretation or backend recovery.

The application enforces the illustrative one-retry budget; tool descriptions and persistent prompts do not enforce permissions or limits.

Partial coverage, authorization and permanent failure are discussed in the guide but not animated.

Audio analysed for peak, waveform timing and spectrum; not physically listened to.

Self-reviewed technical pass; no comparative recommendation or live agent evaluation is claimed.

Alternative · Fable · 30 sec

Bound the result inside the tool

A tool's response shape decides what lands in the agent's context: a raw read_logs dump looks fine on a quiet service, floods the context during the incident so the useful line is truncated away, and a bounded search_logs(service, window, limit) moves the filtering into the tool and returns the few lines and IDs the agent needs.

Read the video sequence
  1. 0:01–0:06 — Normal case. The agent asks read_logs for web over a one-hour window. Logs returns 12 lines; three representative dots land and the context bar fills a little. The agent displays the neutral receipt '12 lines read', making no claim that there were no incidents.
  2. 0:08–0:12 — The incident. The agent asks the same tool about 'payments'. Logs works longer and returns 3,214 lines; the raw lines stream to the agent and the context bar fills to a rising scale, turning orange.
  3. 0:13.7–0:15.1 — Overflow. The context bar turns red and a TRUNCATED badge appears. Later lines are dropped with red crosses, including INC-42 at about 14.4 seconds. In this scripted example the agent then displays '?'; this is not a guarantee of uncertainty after truncation.
  4. 0:18–0:19 — Redesign. The tool is relabelled from read_logs to search_logs with service, window and limit. At about 19 seconds the context bar drains and the badge disappears.
  5. 0:20–0:25.2 — Resolution. The agent asks search_logs for payments, one hour, limit 20. The tool sends a filter request to Logs, which returns 3 lines. A green INC-42 chip reaches the agent at about 24.4 seconds with a small context footprint; the displayed answer becomes INC-42 at about 25.2 seconds.
  6. 0:28.4–0:29.6 — The stage fades to the dark background while the title remains, returning to the opening title-only frame.
About this cut

Production: anthropic/claude-fable-5-1.

Revision: gpt-6-astra comparative review.

Illustrative scenario: the truncation point, the line counts and the agent's '?' answer are an example. A real agent may answer confidently and wrongly after truncation, which is worse and is not shown; truncation limits differ by harness.

A bounded tool reduces what reaches the context; it does not guarantee the incident is found or that the returned lines are the right ones. Evaluate on recorded runs.

Limits must be enforced in the tool's implementation. Tool descriptions, prompt instructions and persistent system prompts do not enforce limits, pagination or permissions.

Pagination cursors, coverage fields and the empty-versus-failed distinction are not shown; the baseline cut covers empty versus failed.

Final audio was checked through decoded peak (-1.8 dBFS), cue-window signal and spectrograms, not listening. The author's earlier onset check is historical; the comparative review does not claim frame-exact perceived synchronization.

A small returned log sample does not establish absence of incidents; the opening reports only the received line count. Pagination and coverage still require an explicit contract.

These animations use sound effects rather than narration. The written guide explains the mechanism and its limits. Model names describe how a cut was made, not a quality ranking.

What the review found