From prompting to trained reasoning
Chain-of-thought prompting coaxes reasoning out of a general model. Reasoning models go further: they are deliberately trained to produce long internal chains of thought before answering, usually with reinforcement learning that rewards reaching the correct final answer. The model is not just imitating worked examples — it has been optimized to get problems right, and it discovers, on its own, that thinking longer helps.
The visible effect is striking: ask a reasoning model a hard maths or coding question and it may 'think' for many seconds, emitting hundreds or thousands of tokens of private working, before a short final answer. Those working tokens are still ordinary chain-of-thought — just far more of it, and trained rather than prompted.
A loop feeding each generated token back in to produce the next, building a long chain of thought.
Spending compute at answer time
This is the heart of test-time compute: the idea that you can trade extra computation at the moment of answering for higher accuracy, even with the model's weights fixed. A longer chain of thought, several sampled attempts, an explicit search — all of these spend more compute per question and tend to lift performance on hard tasks. It reframes capability as something you can dial up at inference, not only something baked in during training.
One especially clean version is inference-time search: generate many candidate solutions or many partial steps, score them, and keep the best — a 'best-of-N' or beam-style search layered on top of generation. The model becomes a proposer; a scorer decides which proposals survive.
An interactive search tree branching into candidate next steps and expanding the highest-scoring nodes.
Checking its own work
Search needs a scorer, and one powerful source of scores is the model itself. Self-verification has the model review a candidate answer and judge whether it is correct — re-deriving a result, plugging a solution back into the original equation, or critiquing a draft. Verifying is often easier than solving, which is exactly why it helps: a weaker check can still filter out many wrong answers from a strong proposer.
Inference compute versus training compute
Why does this matter strategically? For years, the main lever for better models was training: more parameters, more data. Test-time compute opens a second lever — inference-compute scaling. Empirically, letting a fixed model think longer can lift accuracy along its own curve, sometimes matching what a much larger model would do with a short answer. The trade-off between these two levers is the study of inference versus training compute.
A log-log plot of loss falling as compute grows, illustrating predictable returns to more compute.
The practical consequence: long thinking is not free. Every reasoning token costs money and latency. The skill is matching effort to difficulty — use a fast direct answer for easy queries, and reserve deep test-time compute for the genuinely hard ones where the accuracy gain pays for the wait.