
Key facts.
- The Berkeley Function-Calling Leaderboard evaluates whether models pick the right function and fill valid parameters, and includes hallucination categories, because models frequently call the wrong function or invent arguments, producing failed calls that cost tokens. source
- WildToolBench found that across many evaluated LLMs, none exceeded roughly 15% session accuracy on realistic multi-turn tool use, so a large fraction of tool interactions fail and incur retry cost. source
- Veracode's 2025 finding that larger models did not improve security on code generation reinforces the broader point that a stronger model does not automatically reduce wasted or wrong output. source
Where does the wasted spend actually come from?
Three places. Unnecessary tool calls, where the agent queries a tool it did not need because its prompt did not constrain it, and every call is billed input and output. Failed calls and the retries behind them, which the BFCL and WildToolBench results show are common, because the model picks the wrong function or fills a parameter wrong and the call has to be repeated. And context bloat, where the agent carries the full history into every step even when most of it is irrelevant, so each call is billed for tokens that do not change the answer. None of these is the model being expensive. They are the agent being undisciplined, and discipline is cheaper than a model upgrade.
The reason this hides is that each waste is small per call and invisible per run. It only shows up on the monthly aggregate, where the redundant calls, the retries, and the bloated context sum into a bill that is several times the cost of the actual work. The teams that control spend instrument the calls, find the redundant and failing ones, and trim the context to what the step needs.

What are the highest-impact fixes?
Constrain tool selection so the agent calls only what the task needs, which directly removes the unnecessary calls. Validate and tighten tool schemas so the model fills parameters correctly the first time, which removes a chunk of the failed-call retries the BFCL results predict. And manage context deliberately, carrying forward only what the next step uses rather than the whole history, which removes the per-call bloat. These are engineering choices, not model choices, and they compound: every call you avoid and every token you do not carry is saved on every run, forever.
| Waste source | Cause | Fix |
|---|---|---|
| Unnecessary tool calls | Unconstrained selection | Scope tools to the task |
| Failed calls and retries | Wrong function or parameter | Validate and tighten schemas |
| Context bloat | Carrying full history | Pass forward only what is used |
Most of the bill is unneeded calls, doomed retries, and unused context. An upgrade won't fix it: on WildToolBench no model topped ~15% session accuracy. (arXiv:2604.06185)
The Pattern Intelligence Layer is where call discipline and context hygiene become standing properties rather than per-prompt luck. Which tools a step may call, how parameters are validated, and how much context carries forward are enforced at the pattern level, so the waste is removed once and stays removed across models. Reliability at the pattern level is also the reliability of a bill that reflects work, not waste.
Frequently asked questions
Is a cheaper model the fastest way to cut the bill?
Usually not. The waste is redundant calls, failed retries, and unused context. Trimming those cuts more, and survives a model change.
How big is the failed-call cost really?
Larger than most expect. WildToolBench shows realistic multi-turn tool use rarely succeeds first try, so retries are a recurring, billed cost.
What is the single biggest lever?
Context discipline. Carrying the full history into every step inflates every call; passing forward only what the step needs cuts that on each run.

