Inference efficiency is about protecting attention. Every unnecessary step an AI agent takes, spends reasoning capacity on the tooling instead of the user’s problem.

For decades, we’ve worked to make software easier for people to use. We designed intuitive APIs and polished CLIs. We wrote better documentation and meaningful error messages. Good developer experience reduced friction, so developers could spend more time solving their actual problem.

The cost of getting this wrong was real, but mostly hidden. A confusing API wasted an afternoon. A cryptic error sent someone searching through Stack Overflow. Contradictory documentation led to trial and error. Eventually though, the task got done and everyone moved on.

AI makes that cost tangible. Each unnecessary step consumes reasoning time and space in the context window. It also uses tool calls and API quota. Ultimately however, it costs money.

Cost is only a consequence though. The scarce resource is attention.

Attention is finite

Imagine asking an engineer to solve a difficult problem. But first, before they start, you ask them to read two pages of legal disclaimers. You then ask them to recall their last vacation and walk you step by step through what they’ve done, as detailed as possible. Finally, you let them work on the problem at hand.

They’ll probably solve the problem eventually. But every minute spent on something else, is distracting them from the actual problem.

Language models work in a similar way. Unnecessary reasoning takes capacity away from the user’s task. That’s the essence of what I call inference efficiency:

Inference efficiency is the degree to which an AI’s reasoning is spent on solving the user’s problem rather than overcoming the tooling.

Why is it defined around reasoning rather than tokens or latency? Because those are the effects you can measure. Attention is the resource you’re trying to preserve.

Good tooling requires less reasoning

Consider a CLI that prints a large ASCII banner before every command. A person will likely ignore it, but a language model still needs to process it.

Or consider an API that returns pages of prose where a structured JSON object would do. A person skims the response, but a language model has to find and interpret the relevant parts.

Contradictory documentation is worse. A person becomes frustrated. An agent explores multiple paths and retries different approaches. It spends more inference before it reaches the correct answer.

A vague error message has the same effect. The agent has to diagnose the tooling before it can continue with the user’s task. None of these problems are new. But we can finally see their consequences.

Cost tells only half the story

Poor inference efficiency makes tasks more expensive. Agents use more tokens and make more tool calls. They need retries and take longer to finish. But what happens when all that extra output stays in the context window? Decorative output and duplicate information compete with the details the model needs to solve the problem. Failed attempts stay there too.

As useful context gets crowded out, the model can make more mistakes. Those mistakes lead to more retries, which consume even more context. In the end, poor inference efficiency compounds. Yes, uou can correct the model or provide better instructions. You can even restore missing context. But the inference already spent is gone.

Someone else pays the bill

The people creating these inefficiencies rarely bear their cost. A tool author adds decorative output. An SDK team ships an API that requires several round trips. A documentation writer publishes ambiguous guidance. Each choice looks harmless in isolation.

Everyone using those tools pays the cumulative inference cost. Maintainers already pay for low-quality pull requests they didn’t write. Operations teams pay for inefficient infrastructure they didn’t design. Organizations are now paying for unnecessary AI reasoning caused by tooling they don’t control.

People naturally optimize for the costs they bear, and inference efficiency makes the displaced costs visible.

Optimize for attention

We’ve spent decades asking how quickly software runs and how much memory it consumes. We measure bandwidth and latency. AI adds another useful question: how much reasoning does this require?

The best tools for agents will do more than let them complete a task. They will keep the agent focused by returning concise, structured output. Their errors will explain what failed and what to do next. Their documentation will give one clear path through the task. Minimal viable output.

The less an AI has to think about your tooling, the more it can think about the user’s problem. That’s inference efficiency. Protect attention.