Short version: LangChain shipped Deep Agents v0.7 and cut a default agent turn from 5,395 to 1,895 input tokens — a 65% drop, validated on a revamped eval suite with no quality regression. The interesting part isn't the number. It's that the number came from deleting text — specifically, prose that told the model things its tool schemas already told it. That tax is almost certainly still running in your own harness.

Where the 65% came from#

Three edits, none of them a model swap:

That last edit is the whole story. Every tool an agent can call ships a machine-readable schema — parameter names, types, required fields — that the model reads directly. LangChain had also been sending English prose narrating the same thing: "this tool takes a query string and returns results." The model was handed the same information twice: once as a schema it parses, once as prose it also pays for.

The savings weren't compression or a cheaper model. They were the removal of a second, redundant copy of the tool contract — words the model could already read off the JSON.

Why a per-turn edit compounds into 65%#

This is the part founders should internalize, because it explains why "we trimmed the prompt a bit" turned into a two-thirds cut.

An agent re-sends its system prompt and tool definitions on every turn. A chat completion pays for its prompt once; a 20-step agent task pays for that preamble twenty times. So bloat in the fixed part of the prompt isn't a one-time cost — it's multiplied by the length of the run. And because agent workloads are input-dominated — reads, tool results, re-sent context — that repeated preamble is a large share of the bill. Cut 3,500 tokens off the base of a long task and you've removed them once per step, all the way down.

The tax you're probably still paying#

If you hand-write tool descriptions, run this audit today:

This is the practical edge of the point we made in prompt engineering for agents: tool descriptions are the interface — the description is the interface, and a good interface doesn't restate its own type signature in prose. It's context engineering applied to the one block you resend most.

The rest of v0.7, briefly#

Beyond the token cut, three pieces of plumbing matter: an experimental CodeInterpreterMiddleware that runs code and programmatic tool calls in a scoped QuickJS sandbox; a DeltaChannel that stores only the per-step change to message history instead of re-serializing the whole accumulated state on every step (a real win on long runs); and harness profiles that auto-apply per-provider or per-model config so you stop hand-tuning the harness for each model.

What to actually do#

Instrument input-tokens-per-turn, delete every sentence in your prompt and tool descriptions that restates a schema, re-run your evals to confirm no regression, and compare the before/after. If you're already on Deep Agents, upgrading to v0.7 hands you most of this for free. One caution on the headline: 65% is off the base input of a default turn — your real per-turn input also carries tool results and history that this doesn't touch, and it stacks with prompt caching rather than replacing it. But as single, free, no-regression changes go, "stop paying for the tool contract twice" is near the top of the list — and unlike a model upgrade, it costs you nothing to ship.