Method · October 2026

Where the AI bill goes

I had every agent transcript parsed to see what the work cost. Thinking was not the bill. Context, turns and the number of agents were.

89–96%of tokens are cached context, read again

By the start of October I had run about 90 work packets with coding agents, and I could not say what any one of them cost or why. So I had a parser built for the job. It is read-only, it reads every session transcript, it removes the duplicate entries that streamed calls leave behind, and it fails loudly when it finds zero sessions.

The first audit

The parser read 1,345 transcripts and 68,969 calls.

  • Re-reading cached context was 76% of the weighted cost. The model's own output was 3.5%.
  • One session that had never been cleared ran for 101 hours and was 17% of all usage on its own.
  • 1,336 sub-agents together were 69%.

Context × turns × agents

The pattern has held in every packet since: 89–96% of tokens are cached context read again, and output is under 1%. Raising the model's effort barely moves the bill, because output is about 0.6% of tokens. Fanning work out to many agents multiplies it.

So effort and fan-out are two separate knobs. I raise effort where judgment matters, and I use fan-out only when the same check has to run over many objects.

Levers that cost no quality

  • Clear the context before every packet, and compact at 200,000 tokens.
  • No screenshots. Long output goes to files, and the conversation gets a summary.
  • Scripts wait for locks and test runs. The model does not sit and poll.
  • Each agent gets only the code it needs.

Small packets are not cheaper per decision

A one-decision packet cost about the same per decision as the packet before it (12.8M tokens against an average of about 11.7M), because the fixed context and the review are the cost. Typical packets settled at 29–30M tokens per decision. A new, isolated module built mostly on the mid-tier model cost about 15M per decision. Heavy work inside the shared order code on the top tier cost about 41M.

Merging packets saves runs. It does not save work.

Even the meter gets checked

A streamed response is logged over several lines, and only the last line holds the final count. Adding up every line inflates the bill. The token table in every report is now pasted from the counting tool's output and never retyped, because one hand-typed table did not match its own rows.

How the cost of a mistake decides the model