Agentic Pattern Libraryby Vikas Goyal
← All patterns
36

Adaptive Thinking Budget

Also known as: hybrid reasoning, effort control, variable thinking budget

One model switches between no thinking and deep thinking based on difficulty.

TrackAgentic systems FamilyFast & slow Maturity Emerging ChangesDecision
01

Problem

Many current models can answer directly or reason at length first, with the amount of thinking set per request. A fixed setting is wrong for most traffic: always-deep wastes time and tokens on easy requests, and always-shallow fails the hard ones.

  • Thinking tokens improve hard answers but add latency and cost.
  • Request difficulty varies widely, even within one product.
  • Two separate models mean two things to evaluate, version and monitor.
  • The model’s own sense of difficulty is useful but not fully reliable.
02

Solution

Use one model that supports a thinking or effort setting, and choose the setting per request. A cheap policy picks the level from signals available before the call: task type, input length, user tier, stakes and past failure rates for similar requests. Some models can also adjust their own effort within a cap. Set a hard upper budget per request, and raise the level on retry when a check fails.

03

Diagram

Request Policytype · stakes · size One model Lowno thinking · ~2s Mediumsome · ~10s Highmax budget · ~60s Check Out fails → retry one level higher

Same model, different setting. The policy picks the effort level before the call; a failed check can retry one level higher.

04

When to use

Use it when

  • Your model supports adjustable thinking or effort levels
  • Request difficulty varies a lot within the same product
  • You want fast/slow behavior without running two models
  • You can measure quality per effort level to tune the policy

Avoid it when

  • Your model has no effort control
  • All requests are similar; just pick one fixed level
  • You need a different model's strengths, not just more thinking
05

Trade-offs

Latency Low effort is fast; high effort only where chosen
Cost Thinking tokens spent mainly on hard requests
Complexity One model plus a small policy
Reliability Depends on the policy picking levels well

Gains

  • Fast/slow behavior with one model to evaluate and version
  • Spending tracks difficulty instead of averaging it
  • Simple to retry at a higher level when a check fails

Costs

  • Policy errors put hard requests on low effort
  • Thinking budgets and pricing differ across model versions
  • Harder to compare quality when effort varies per request
06

Worked example

Scenario
An internal coding assistant serves about 3,000 requests a day across an engineering org.
  1. PolicyReads signals before each call: task type, files touched and whether tests exist.
  2. Low effort“Rename this variable across the file.” Answers in 2 seconds with no thinking.
  3. Medium effort“Add input validation to this endpoint.” Spends a few thousand thinking tokens and answers in 9 seconds.
  4. High effort“Why does this race condition only appear under load?” Gets the maximum budget and answers in 70 seconds with a reproduction plan.
  5. RetryA medium-effort change fails the test suite. The policy retries once at high effort, and the tests pass.
  6. Weekly reviewAbout 70% of requests run at low effort. Rerun failures cluster in database migrations, so the policy now starts those at high.
07

Failure modes

FailureSymptomMitigation
Hard request at low effortQuick, confident, wrong answers on tricky tasksRetry one level higher when a check fails; learn from reruns
Effort creepPolicy drifts toward high effort for everythingTrack the effort mix as a cost metric with a target
Overthinking simple tasksLong reasoning that changes nothing on trivial requestsCap budgets per task type; compare outputs at two levels
Version driftA model update changes what each level costs or doesRe-baseline the policy on every model version change