Most agents don't need a better model
A team comes to us with an agent that works and a problem. It is too slow to ship, or the monthly bill is frightening, or it fails one run in five. The first thing they ask is whether they should move to a bigger model. The answer is almost always no.
When we instrument the agent and read where the time and tokens actually go, the model is seldom the bottleneck. It is the window filling with things the agent already knew. It is a tool handing back a 40k-token blob on every call. It is a loop retrying a failing step nine times before it gives up.
What the work looks like
A typical engagement is unglamorous, and that is the point. We wire up the agent so we can see where its turns go. We trim the tool output down to what the next step needs. We add a subagent so a noisy search returns one line instead of a page. We fix the stop condition so the loop quits when the job is done.
The agent comes out faster and cheaper on the same model it walked in with, and the team stops paying for attention it was throwing away.
Why the model is the first guess
Switching models is the experiment teams run first because it is the easy one to picture: a new name in a config file, a fresh benchmark to point at. The harder win is less visible. It is sitting in the context you never trimmed, the tool you never shaped, the loop that never learned to stop.
That is usually where the cheaper agent was hiding the whole time. Finding it is most of what we do.