After the 17-day arc, the topic that’s quietly re-architecting every layer underneath: a third scaling axis that buys capability not from more parameters or more data, but from more thinking. Why o-series, R1-class, and budget-forcing models force you to rethink the ReAct loop, the eval harness, and your unit economics — together.
For a decade the deal in deep learning was simple: better answers come from more parameters (model scaling) and more data (data scaling). In 2024 a third axis became visible and, by April 2026, dominant: more thinking at inference time. A reasoning model is one that has been trained — usually via reinforcement learning with verifiable rewards (RLVR) — to spend variable amounts of compute generating private chain-of-thought tokens before producing the user-visible answer. The accuracy / compute tradeoff is now a dial, set per-request, not a property fixed at training time.
Analogy first. Think of a senior engineer reviewing a tricky migration. Junior version: blurts an answer. Senior version: spends fifteen quiet minutes drawing on a whiteboard, sketches three plans, eliminates two, sanity-checks the third against edge cases, then writes the answer. The whiteboard never leaves the room. Same person, same knowledge — the difference is thinking budget. A reasoning model lets you set how big that whiteboard is, and how much time the model spends in front of it, on every single call.
Mechanism. A reasoning model is an autoregressive LLM that has been post-trained on a long-form chain-of-thought objective. The dominant recipe, popularized by DeepSeek-R1 (Jan 2025), is roughly: (1) cold-start with a small set of long, high-quality reasoning traces; (2) run large-scale RL where the only reward signal is whether the final answer matched a verifier (math equality, unit-test pass, JSON schema fit); (3) let the policy gradient discover, on its own, that “wait, let me reconsider”, self-checking, and backtracking are strategies that increase reward; (4) optionally, distill the long traces into smaller open models. The result: longer responses on hard prompts, near-identical responses on easy ones, with a smooth log-linear improvement curve as you give the model more output tokens to work with.
thinking.budget_tokens parameter; in OpenAI it’s reasoning.effort (low / medium / high); in Gemini it’s the “thinking budget” setting; in open models like s1-32B it’s implemented as budget forcing — literally appending "Wait" to extend, or "Final Answer:" to truncate. Higher budget = better on hard prompts, more latency, more cost.n=8 or n=64 in modern agent traces — it’s the parallel knob.An agent is a loop: think → act → observe → repeat. Pre-reasoning-models, every “think” step was the same size — one forward pass, one short response. The whole burden of “harder problems need more thinking” fell on more loop iterations, which meant more tool calls, more state, more places to fail. Reasoning models compress some of that loop into a single call. A task that used to take eight ReAct steps now takes three, but each step is a fatter-tailed compute draw.
The architectural shift inside frameworks: LangGraph’s deepagents harness, OpenAI’s Agents SDK, and Anthropic’s Claude Agent SDK have all moved from “short turn, many turns” toward long turn, fewer turns, with explicit thinking-token accounting. The eval harness has to evolve with it: you no longer measure “steps to solution” alone; you measure (steps, thinking tokens, tool calls, $$ spent) jointly, and the Pareto frontier across those is the real product surface.
Sources: arXiv 2501.12948 (DeepSeek-R1) and arXiv 2501.19393 (s1). The ~10× figure is a representative ratio reported in vendor docs and replication writeups; exact value varies by prompt class and budget setting.
"Wait" to the model’s output to make it think longer, or by truncating thinking with "Final Answer:". The resulting s1-32B beats o1-preview on AIME24 and MATH by up to 27%.Star counts verified on github.com on the day this was generated. Counts are approximate and move quickly.
<think> tags) at the moment OpenAI was hiding it; tracking pricing collapse on R1-class API endpoints; and noting how cheap reasoning has reshaped what hobbyist developers can ship from a laptop.deepagents harness is explicitly framed as “works because LLMs are getting better at reasoning”: you can lean on the model for plan quality only if you’ve solved context first.| Platform | Reasoning surface | Knob you set | Visible CoT? |
|---|---|---|---|
| Claude (Anthropic) | Extended thinking on Opus / Sonnet / Haiku 4.x lines. Reasoning interleaves with tool calls inside a single agent turn. | thinking.budget_tokens (e.g. 1024 → 32000). Streamed thinking blocks in the response. |
Yes — full thinking blocks are returned to the developer; the API also supports redaction. |
| OpenAI o-series + GPT-5.4 | o3 / o4-mini / GPT-5.4 reasoning variants. First family to give reasoning models full agentic tool access (web, Python, files, vision, image gen). | reasoning.effort: minimal / low / medium / high. Tool use is decided by the model, not declared by the caller. |
No — reasoning tokens are summarized but not exposed verbatim; you pay for them but can’t read them. |
| Gemini 3.1 (Google) | Thinking mode on 2.5 Pro and successor 3.x. Long-context (1M+ tokens) plus thinking budget makes it the default for very large codebases / document corpora. | Thinking budget configurable in API and AI Studio; supports parallel tool calls during thinking. | Partial — thought summaries are shown by default, raw thoughts gated. |
| OpenClaw | Skill-based agent runtime. Reasoning is delegated to whichever model the SKILL.md targets — Claude, R1-distill, or local SLM — with thinking budget passed through the skill manifest. | Per-skill reasoning_budget field. Default low for routine skills, high only for deliberate reasoning skills. |
Depends on the underlying model. Skills that target Claude inherit visible thinking; skills that target o-series inherit hidden. |
"Wait" (to extend) or "Final Answer:" (to truncate) directly into the model’s decoded stream.max_tokens — budget forcing manipulates the content the model conditions on, not just the cap.reasoning_effort on OpenAI) that selects an internal preset for thinking budget without exposing exact token counts.budget_tokens; Gemini exposes a budget; OpenAI hides it behind a level enum.effort=high; on autocomplete-class queries, minimal.”effort=low, a Pro tier with auto-escalation, an Expert tier that unlocks effort=high. This mirrors what OpenAI did with ChatGPT Plus / Pro and Anthropic with Max.