{"slug": "the-termination-circuit-how-reasoning-models-stop-thinking", "title": "The Termination Circuit (how reasoning models stop thinking).", "summary": "Researchers discovered that reasoning models like o1 and R1 often overthink, computing answers at around 30% of their chain-of-thought but continuing for the remaining 70%. The termination decision is localized to a small set of MLP layers near the end of the network, termed the Termination Circuit, which fires only when the model's own correct answer appears in context. Ablating these layers prevents the model from stopping, while steering attempts show the stopping signal is high-dimensional and not easily controllable.", "body_md": "Reasoning models since the dawn of o1 and R1 have a tendency to overthink. Despite a lot of work on early-exit methods and steering, open-weight and smaller reasoning models still produce long chains of thought before they answer. I worked on discovering how much of that thinking is required before the model already knows the answer and what makes the model stop thinking.\n\n`</think>`\n\ntoken) to a small group of MLP layers near the end of the network, which I termed The paper is currently \"on-hold\" on arXiv.\n\n[I have made it available here]for the time being. The code for the experiments[are available here].\n\nTo find approximately where the model has answer to a question during its CoT, we can cut each trace at various points and close the thinking segment with a cue like, \"The final answer is...\" and force the model to answer. is defined as the earliest point in a model's CoT where the answer after the cue is correct and more importantly stays correct.\n\nSometimes in GSM8K, the model can know the answer without even thinking, to segregate this, we can pair each question with reasoning from a completely different problem. When the prefix is mismatched, forced accuracy collapses, showing that correct answers come from the model’s own reasoning.\n\nI found that at median, the answer is often computed at around 30% of its CoT. The remaining 70% is largely overthinking.\n\nSo if a model already knows the answer long before it states it, why doesn't it stop?\n\nBy decomposing the `</think>`\n\nlogit at the moment of its emission, we can see that decision is extremely localized.\n\nConsequentially, the buildup to emitting `</think>`\n\nis not gradual. The stop margin stays deeply negative throughout the CoT, including past the point of sufficiency . It jumps sharply in a single step when the model writes its final answer sentence.\n\nThis small set of MLPs including the layers that feed them is what I would like to call *The Termination Circuit.*\n\nAttribution can only tell us where the logit comes from. To understand what the circuit is actually computing, we use causal interventions.\n\nI took each trace's own final answer sentence (eg: \"So the final answer is \\boxed{723}.\") and spliced it into the middle of its thinking segment, after the sufficiency point .\n\nWhen the spliced answer is the model's own correct answer, the circuit fires `</think>`\n\nas the greedy next token 94% of the traces. The exact same sentence but with a different number fires only 8% of the time. If the sentence its placed before , it fires 16% of the time. A different problem's answer fires it 19% of the time and a random non answer fires it 0% of the time.\n\nFormat alone is not enough. The right value at the wrong time is not enough. Both conditions must be true at once. An answer statement appears in context, and the stated value matches what the model has already computed internally.\n\nAdditionally, ablating just the top 4 MLPs in this circuit (at sentence boundaries) made the model unable to stop. The reasoning stayed coherent (perplexity barely changed). Also, patching the trigger state from the real stopping point into an earlier boundary transferred the stopping decision in ~99% of cases.\n\nIf the stopping decision was a simple scalar building up over the time, we should be able to steer it with a direction in the residual stream. I tested this extensively.\n\nNo direction I could construct fired the gate from a normal mid-chain boundary. The best single direction recovered only about 20% of the effect you get from patching the full internal state. The gate can be tipped once it's already close to firing (e.g. right after an answer statement) and strong steering can even override the value check to some degree but it doesn't directly operate the mechanism.\n\nThe signal that triggers stopping appears to be high-dimensional rather than a single adjustable dial.\n\nThe same late-MLP verification gate (at roughly the same relative depth) replicates on Qwen3-8B, Magistral-Small-24B on MATH-500 too. The overthinking gap stays large across all of them.\n\nThe termination circuit doesn't measure whether the reasoning is sufficient, it verifies one narrow condition, \"Has the model just stated an answer, and does the stated value match what it computed?\"\n\nNothing in the model forces it to state its answer early. So even when the answer is already determined at , the model keeps reasoning until it happens to write the answer down later. The gate then verifies it and stops.\n\nThis explains why overthinking is so robust and why many existing interventions only give modest gains.\n\nIf we want reasoning models to stop earlier and waste less computation, the most direct lever is to get the model to state its candidate answer earlier. The circuit will then do the verification work it was built to do.\n\nSteering the internal state directly is difficult precisely because the gate is a high-dimensional pattern, not a simple direction.", "url": "https://wpnews.pro/news/the-termination-circuit-how-reasoning-models-stop-thinking", "canonical_source": "https://www.lesswrong.com/posts/ajhzc6ktEKyFeJFBS/the-termination-circuit-how-reasoning-models-stop-thinking", "published_at": "2026-07-11 01:42:07+00:00", "updated_at": "2026-07-11 02:12:46.738821+00:00", "lang": "en", "topics": ["artificial-intelligence", "machine-learning", "large-language-models", "ai-research"], "entities": ["o1", "R1", "GSM8K", "Qwen3-8B", "Magistral-Small-24B", "arXiv"], "alternates": {"html": "https://wpnews.pro/news/the-termination-circuit-how-reasoning-models-stop-thinking", "markdown": "https://wpnews.pro/news/the-termination-circuit-how-reasoning-models-stop-thinking.md", "text": "https://wpnews.pro/news/the-termination-circuit-how-reasoning-models-stop-thinking.txt", "jsonld": "https://wpnews.pro/news/the-termination-circuit-how-reasoning-models-stop-thinking.jsonld"}}