Product Field Work All builds
BuildAccountable

How Hard Should It Think?

Every call to a modern model now has a dial for how long it thinks before it answers. I turned it through every setting on the same 20 problems, graded by code, and measured what each notch buys: accuracy, time and money.

The problem

Reasoning models think in hidden tokens before they answer. You choose how much with a single setting, from “none” to “max.” Thinking costs money and time, and you can’t see it.

Most teams pick a level once and forget it. Turn it up and the bill and the wait grow; leave it down and quality might suffer. Few have measured where the returns stop.

6 settingsfor reasoning effort on GPT-6 Luna, from none to max; OpenAI defaults GPT-6 models to medium
Hidden, billedthinking tokens can’t be read through the API but are charged as output, per OpenAI’s reasoning guide
20×the price per token of GPT-6 Sol over GPT-6 Luna ($10 against $0.50 per million output tokens)

OpenAI’s own advice is to use the top settings “only when evals show a clear benefit.” This is that eval, small and public.

How I measure the problem
  1. Right answers at each setting, checked by code against answers computed by code
  2. Thinking tokens, time and cost per call, from the API’s own usage report
  3. Cost per right answer, the number that decides a setting
  4. Run-to-run change, every Luna setting run twice
Why I chose it

Effort is the cheapest decision in an AI product and one of the least examined. It sets latency for every user and a multiplier on every bill. I wanted my own numbers before recommending a default.

The ideaWrite fresh problems a model can’t have seen, grade them with code, and run the same prompt through every thinking setting and two model sizes. Then pick settings per job, not per company.

Sources are listed at the end of the page.

Turn the dial

Each circle is one run of one problem. Its size is how much the model thought; its color is whether the answer was right. Luna ran every problem twice.

Model
Thinking
RightWrongThought until the 32,000-token cap, no answerNot run
Right–
Thinking per runmedian · average–
Time per runmedian · slowest–
Cost per right answer–

Accuracy rises, then flattens

Right answers, GPT-6 Luna
Cost per right answer

Two runs of 20 problems at each setting. The light band shows the two runs separately.

Thinking follows the problem

Median thinking tokens per run, GPT-6 Luna. Shading is relative to the largest value.

A bigger model beats more thinking

One run is not a result

What each setting is worth

Measured on this problem set at published prices. Your tasks will differ; the shape is what carries over.

Lookups, routine math, formattingNone or lowEvery setting got these right. Thinking only added time and cost.
Logic, multi-step judgmentMediumThe jump from none to medium was the whole gain on logic puzzles. Above medium, nothing improved.
Genuinely hard problemsA bigger model, not a higher dialMax on the small model thought for minutes and still missed. The larger model at medium solved a larger share in a fraction of the time, for a few cents more per answer.

What it means for the people

Thinking level becomes a per-task policy, owned like any other product setting.

Engineers stop defaulting to maxMedium is the starting point, and anything higher has to win on an eval. The dial is set per call type, not per app.
Product owns latency as a featureThe median answer at medium took about five seconds here; max sometimes took six minutes. That gap is a user experience decision, not a backend detail.
Finance sees cost per right answerToken prices hide the real number. Cost per correct answer is what changes when a setting changes.
What disappears, and what doesn’t

Guessing which setting is “safe” goes away; a small eval answers it in an afternoon for under a dollar. Deciding which mistakes matter, and what a user will wait for, stays with people.

Try it

Describe your workload as a mix of these problem types, and see what each setting would cost and get right on it.

How it works

Fresh problems20 problems generated from a fixed seed: arithmetic, business days, shortest routes, seating logic, counting.
Answers by codeEvery answer is computed by brute force, so grading needs no judge and no opinion.
Same prompt everywhereIdentical instructions at every setting; a 32,000-token ceiling; long runs in background mode.
Usage from the APIThinking tokens, time and cost come from each response’s own report.
# One call. Only "model" and "effort" change between runs.
POST /v1/responses
{ "model": "gpt-6-luna",  "reasoning": { "effort": "medium" },
  "instructions": "Solve the problem. … end with one final line: ANSWER: <answer>",
  "input": "How many 4-digit positive integers have all different digits, …",
  "max_output_tokens": 32000, "background": true }
# → usage.output_tokens_details.reasoning_tokens: the hidden thinking you pay for

Evidence

What I haven’t proven yet

Twenty problems in five types, two runs per Luna setting, one run per Sol setting, and Sol only at low, medium and high (plus medium on the four hardest). That is enough to see the shape, not to rank close settings: high scoring below medium here is within run-to-run noise. The problems are mine and lean toward exact answers; open-ended writing or coding could respond to effort differently. Two Sol answers on the hardest problems were code instead of a number and count as wrong, which is what a user would get.

Choices

Fresh problems, graded by codeBenchmarks leak into training data. Problems generated today, with answers computed by brute force, can’t have been memorized and need no judge.
Cost per right answer, not per tokenA setting that costs 4× per call and gets the same answers costs 4× per result. That is the number to decide on.
Run it twice before believing itBetween two identical runs, 1 or 2 of 20 answers changed at every setting. Small evals need repeats, or they rank noise.

Sources

  1. OpenAI, Reasoning models guide: effort levels none to max, medium as the GPT-6 default, reasoning tokens hidden and billed as output, use xhigh “only when evals show a clear benefit.”
  2. GPT-6 Luna pricing: $0.10 in and $0.50 out per million tokens.
  3. GPT-6 Sol pricing: $2 in and $10 out per million tokens.