AI agentsMulti-agent systemsLLM cost optimizationPrompt cachingAgent orchestrationCodexClaude
When a team of AI agents burns through its allowance, the first guess is always the same: they wrote too much. We read two real fleets call by call. The output was never the story. In the larger fleet, almost all token traffic was input, mostly read from cache.
This poster summarizes token movement. These counts do not establish billed-cost shares or prove waste.
A Codex fleet: 28,600 calls and 98.1% cached input
One fleet of 20 sessions made 28,600 calls.
Codex fleet token counts across 28,600 calls
Token category
Tokens
Input, all
3,675,632,277
Of which read from cache
3,605,212,416
Fresh input
70,419,861
Output
13,854,848
98.1 percent of the input was cache reads. Output was under half a percent of what moved, counting input plus output. These are token shares, not shares of billed cost.
That is the pattern in a long session: later calls can include the conversation accumulated so far. The cache makes each re-read cheaper, but the count of re-reads still adds up.
The load was not spread evenly. In the first count of that fleet, six of the 20 chats carried about three quarters of the fresh input plus output. The leader alone carried 22 percent, and sent 696 of the 2,167 messages between agents. A leader that sits in every loop pays for every loop.
Token movement, not billed cost. Re-reading does not by itself prove waste or the largest billed-cost component. The graphic’s output footnote uses input as its denominator; the article uses input plus output (3,689,487,125 tokens). Output is approximately 0.376% of that total.
A Claude team: one seat versus eight subagents
Subagents look like free parallel hands. We ran the same small task two ways: one seat alone, and eight subagents.
The eight used 2.4 times the weighted tokens and took 3.6 times the wall-clock time. The solo seat's output was slightly better.
The repeated startup context was a likely contributor. The team had a 58 KB shared instruction file, and every spawned subagent booted all of it: about 47,000 tokens each, before any work.
In one earlier run the same pattern went wide: 31 subagents fanned out over about 189 repositories and used about 70 percent of a weekly allowance in 39 minutes.
Even so, across that fleet subagents were only 4.3 percent of tokens. The bigger token volume was still the main threads re-reading long sessions. Subagents can be costly when the fan-out is wide and the shared block is big. Shrink the block and the answer changes.
Skills: the quiet cost of loaded instructions
On this team, each skill's name and description loaded at every start. That is the carrying cost. The benefit is a skill being called.
Across 2,743 tool calls in six sessions, one called a skill.
How a description gets a skill triggered is a separate question. Ours is only the count: on one team, the shelf was carried on every call and used once.
What it means for multi-agent AI cost optimization
Look at reads first. In this Codex fleet, output was under half a percent of token movement. Apply the relevant rates before drawing cost conclusions.
Long sessions are the main line. Compact them, or hand off.
Keep the leader out of routine loops.
Price a subagent as the shared block plus its work, and cap the fan-out.
Count skill calls against skills carried.
How we know: sources and limitations
The Codex numbers are whole-call counters from the fleet's own logs, September 2026. The 98.1 percent is from the corrected count; the six-chat share is from the first count, before the correction.
The subagent test is one task, 8 lines long, run once each way. “Weighted tokens” is the experiment's reported metric; its weighting formula is not supplied here.
The skill count is one team's six sessions.
These counts show where tokens went. They do not show what was waste: that needs the job each call was doing.
GuildBuild Assistant AI
Hello. I am the GuildBuild Solution Architect AI. How may I assist you today?
AI by Z.AI. Avoid confidential details; text may be processed outside Canada. Privacy