How Reasoning Models Work
On this page
Under the Hood of Models That “Think”
When you increase the reasoning level, the model doesn’t generate its answer immediately. First, it produces reasoning tokens, which it uses to break down the request and explore multiple ways to respond. Understanding this mechanism isn’t just theoretical—it’s what lets you set the level appropriately, anticipate costs, and correctly interpret the model’s output.
Think Before You Answer
At a fast level (Instant in Chat, none or low in the API), the model responds almost directly. The higher you set the level, the more tokens it spends thinking before producing the visible answer. You can think of this phase as a draft: breaking down the problem, exploring avenues, ruling out dead ends, verifying, and then synthesizing. This is a helpful mental model, not an official description of internal workings; what OpenAI describes is a model that decomposes the request and considers several approaches before answering.
Take the expression “17 × 23 + 45 ÷ 9 − 12”. Without reasoning, the risk of error regarding operator precedence is real. With a higher level, the model takes time to process the multiplication and division first (391 and 5), then the addition and subtraction (391 + 5 − 12 = 384), and verifies its result before stating it.
Reasoning Tokens: Invisible but Counted
Reasoning tokens don’t appear in the response, but they count. In the API, they take up space in the context window and are billed as output tokens. Depending on the difficulty, a model can generate anywhere from a few hundred to several tens of thousands of them. If the output limit (max_output_tokens) is reached during reasoning, the response returns with an incomplete status, sometimes before any visible text has been produced; OpenAI recommends reserving at least 25,000 tokens for reasoning and the response when you start experimenting.
Raw reasoning is not exposed. In the API, you can request a reasoning summary using the reasoning.summary parameter. In ChatGPT, with GPT-6, a response may begin while the model is still thinking, then enrich itself with details later.
Pro, Max, and Ultra: Three Ways to Do More
Beyond effort levels, three mechanisms push reasoning further, and it’s useful not to confuse them.
- Pro mode (
reasoning.mode: "pro"in the API, Pro level in Chat) makes the model work harder on difficult tasks that tolerate higher latency. In the API, this extra work is billed at the standard rate for the chosen model, but it consumes more tokens. - Max, in Work and Codex as well as in the API (
max), gives the model more time to reason on a single task. - Ultra, in Work and Codex only, goes beyond a single agent: it assigns parts of a complex task to sub-agents that work in parallel. It’s only useful if the work can be split into independent chunks. GPT-6 Luna goes up to Max, but not to Ultra.
What Reasoning Changes, and What It Doesn’t
A high reasoning level makes a difference for specific families of problems: mathematics and statistics, logic and deduction, complex code and debugging, strategic analysis with weighted criteria, and generally any multi-step task. OpenAI thus recommends high for difficult reasoning, complex debugging, and deep planning.
That said, it’s no magic bullet. The model can still make mistakes after reasoning: a false premise yields a false conclusion, no matter how careful the reasoning process. Reasoning increases response time and cost. And for a simple task, it adds nothing that a fast level couldn’t already handle.
Try It Yourself
See the mechanism in action. Ask this question first at a fast level, then at a high level (Instant then High in Chat, or low then high in the API): “A train leaves Paris at 8:00 AM traveling at 120 km/h. Another leaves Lyon, 465 km away, at 8:30 AM traveling at 150 km/h toward Paris. At what time and at what distance from Paris do they meet?” Verify the expected answer yourself: 10:00 AM, 240 km from Paris. If you use the API, compare the number of reasoning tokens reported in the response usage for both levels.
Official sources: Reasoning models (OpenAI API: reasoning tokens, billing, context, summaries, pro mode, effort levels) · Models (ChatGPT documentation: Max and Ultra) · GPT-6 and other models in ChatGPT (responses that start during reasoning)
Key Takeaways
- Reasoning adds thinking tokens before the answer; their number grows with the chosen level
- Invisible, these tokens occupy context and are billed as output tokens in the API
- Allow sufficient output margin, or the response will return incomplete
- Pro makes the model work harder, Max gives it more time, Ultra distributes work among sub-agents (Work and Codex)
- Reasoning doesn’t immunize against error: a false premise leads to a false conclusion