Deep research you can follow — claim by claim, source by source.

Most recently, we investigated

The Cache Miss After the Gap

Conclusion

The aggregate cache hit rate is the wrong instrument for agent serving. Coding agents hit 95.7% of their input tokens . They get there because 88% of their calls are tool-result continuations that could hardly miss . The call that does miss is the first one after an idle gap: a human message arriving minutes later, hitting at about 84.4% against 97.5% for a continuation . An upper-bound counterfactual in the same trace prices that class at $5,189 . That is 12.8% of final cost . It is a small class of call carrying a large share of the bill.

The mechanism

Agents run on two clocks and serving systems give them one timer. Tool gaps are seconds; the gap between human requests has a median of about 1.4 minutes . Its mean is 46.7 minutes . Holding state across the longer clock works, and it is not free. In an idealized sweep of the trace, raising the eviction timeout from one minute to one hour lifts the achievable hit rate from 85.4% to 98.6% . It costs roughly seven times more suspended KV . Every mechanism here is a policy about that pause: how long to keep the state, where, in which tier, and who may delete it.

The same error twice

Latency targets inherit the same averaging mistake. Enforcing them costs 60% of throughput on an agent workload at 64K context . A human-interactive control at a different SLO setting gives up 1.9% . That is the cost of caring about latency for a caller who is a loop.

What would change it

The spine here is one lab's instrumented trace of its own Claude Code and Codex sessions, and the harness above the server can void any of it. Compaction already rewrites the context in 9.7% of sessions , and most of that is not a person's decision: 86.5% of those compactions are tool-initiated .

Read the full report → Archive → 31 cited · of 298 sources read
The receipt for [2]
Official syfi.cs.washington.edu
TraceLab: prefix-cache behaviour in real coding-agent sessions (SyFI Lab)
What the source establishes

The SyFI coding trace contains approximately 4,300 sessions and 55B tokens in total, collected from daily use of Claude Code and Codex in the SyFI lab. Each user request takes an average of 8.8 self-directed steps (LLM-tools cycles) and issues 10.8 tool calls before giving the final answer. End-to-end response time per request is heavy-tailed: median ~38 s, mean ~4 min, and p99 nearly 44 min; the gap between requests averages 46.7 min with a median of ~1.4 min. Across the trace, models read 52.56 B cached input tokens and prefill 2.34 B new ones, yet generate just 186.9 M output tokens—inputs outnumber outputs by 294×.

Source overview

Existing model-quality benchmarks such as Terminal-Bench and SWE-bench are poorly suited to modeling serving-system performance because they involve relatively few tool calls and focus on single, isolated tasks. Coding agents do not answer in one shot; for each user request, the agent executes an autonomous loop of model generations and tool calls before returning a final answer, with 88% of all LLM rounds responding to a tool result rather than a human. Prefix caching is effective but not optim

Click either marker on the left. Every claim in the report carries one — 31 today.