A reasoning model isn't a new brain — it's the same next-token predictor spending more tokens as a scratchpad before it answers. Each extra token is another cheap forward pass, and accuracy climbs with the thinking budget — then plateaus. Drag the token slider and watch the operating point ride the curve.
Part 1's myth-buster said the math for one token is trivial — the model isn't "thinking hard" on any single step. Reasoning models turn that into a strategy: emit more tokens as a visible scratchpad before the final answer, and each cheap step conditions the next.
This is test-time compute — instead of a bigger model, spend a longer generation. Accuracy rises with thinking length, then plateaus: the first hundred tokens buy a lot, the next hundred buy little.
It isn't free. Every thinking token is one decode step (Part 2 · Lesson 1) — you trade latency for correctness. And it pays off most on hard problems; easy ones were already right, so there's little to gain.
TRY → Drag the thinking-tokens slider right: the green dot climbs fast at first, then the curve flattens — the +pts from the last 60 card shrinks toward zero (that's diminishing returns). Now flip the difficulty to hard: the whole curve is redrawn low and rising, and reasoning earns its keep. Flip to easy: it starts high and barely moves. Every number is recomputed by reasonAcc(t, preset), not read from a table.
The curve is a saturating exponential — acc(t) = floor + (cap − floor)·(1 − e^(−t/τ)). For a typical problem {floor 0.30, cap 0.85, τ 120}:
| thinking t | accuracy | +pts (last 60) |
|---|---|---|
| 0 | 30.0% | — |
| 60 | 51.6% | +21.6 |
| 120 | 64.8% | +13.1 |
| 180 | 72.7% | +7.9 |
| 240 | 77.6% | +4.9 |
| 480 | 84.0% | +1.0 |
| 540 | 84.4% | +0.4 |
| 600 | 84.6% | +0.2 |
The marginal gain per 60 tokens collapses from +21.6 (first 60) → +7.9 (at 180) → +0.4 (at 540): clear diminishing returns, and the curve caps just under 85%. Each of those 600 tokens is one decode step (Part 2 · Lesson 1) — at 13.2 GB of weights ÷ 2 TB/s that's ≈ 6.6 ms/token, so 600 tokens of thinking ≈ 4 s of latency for the last few points.
Difficulty is the whole story. Hard {0.15, 0.80, 200} climbs from 15% up past 76% across the full 600-token budget — reasoning transforms it. Easy {0.70, 0.95, 60} already starts at 70% and is basically done (≈ 86%) by 60 tokens — there was little to buy. Reasoning helps hard ≫ easy.
This is a toy. It's a smooth stand-in for the real, noisier empirical curves — but the shape (fast then flat, hard ≫ easy) and the mechanism (each extra token is another cheap forward pass that conditions the next) are real. Some tasks even dip if the model overthinks; the plateau is where you stop.
Reasoning trades generation length for accuracy: more thinking-tokens = more test-time compute, with steeply diminishing returns and the biggest wins on hard problems. There's a plateau — spending past it just costs latency.