Effort and Budgets
Effort and budgets are inference-time controls that limit how many hidden reasoning tokens a model may spend before producing its visible answer. They trade more internal decode steps for possible accuracy gains, while increasing latency, cost, and KV-cache pressure, so they should be tuned per route rather than applied globally.
The need for an effort budget appears because some prompts benefit from internal search, checking, or derivation, while many do not. A refund lookup, rewrite, extraction, or moderation decision may already be as good as it will get. A code repair or symbolic reasoning task may improve if the model is allowed to explore intermediate steps. Treating all requests as if they need deep reasoning wastes money and slows the easy majority.
Mechanically, the model generates hidden tokens before the user-visible answer. Those tokens are not shown, but they are still decode steps: each one runs another forward pass, extends the sequence state, and may be billed like output-side generation. Provider APIs expose this either as a small effort level or as a thinking-token ceiling. The useful engineering move is to sweep that knob and measure accuracy, latency, visible output, and cost for one route at a time.
The trade-off is not linear or guaranteed. Accuracy often improves quickly at small budgets, then flattens, and sometimes gets worse through over-analysis or self-contradictory plans. Extra hidden tokens also hurt tail latency because decode is sequential, and under batching they occupy scheduler capacity that other requests could have used. If the real problem is missing context, weak retrieval, bad tools, or an unsuitable model, more thinking is the wrong fix.
Engineers meet effort budgets in production routing, evaluation, and serving telemetry. A route owner might pin simple customer-support answers to no hidden reasoning, while allowing a code-debug route to escalate only when static signals suggest difficulty. Serving systems with paged KV caches, continuous batching, or disaggregated prefill and decode can make variable budgets easier to operate, but they do not make reasoning free. The chosen budget should be justified by a measured frontier.
Common questions
- Is an effort setting the same thing as asking the model to explain its reasoning?
- No. An effort budget controls hidden generation before the answer, while an explanation is visible output. A model may spend hidden tokens and still return a short answer, or produce a long explanation without doing useful search. Confusing the two leads to paying for verbosity rather than measuring whether extra internal decode steps solve more cases.
- Should I set one effort level for my whole product?
- Usually no. The honest answer depends on the route, grader, latency target, and failure cost. Deterministic transforms, extraction, moderation, and simple lookup answers often need no hidden reasoning. Harder routes such as code repair, multi-hop synthesis, and formal-looking reasoning may deserve a capped budget, preferably after a cheap difficulty classifier or verifier.
- How do I choose the right thinking budget?
- Run a held-out set for each route across the provider’s available effort levels or token ceilings. Record task success, latency, billable tokens, and visible output length. Pick the smallest budget whose marginal accuracy gain is worth the added milliseconds and cost. If the curve is flat, set the budget to zero and improve retrieval, validation, or tooling instead.