cd /news/artificial-intelligence/the-termination-circuit-how-reasonin… · home topics artificial-intelligence article
[ARTICLE · art-55058] src=lesswrong.com ↗ pub= topic=artificial-intelligence verified=true sentiment=· neutral

The Termination Circuit (how reasoning models stop thinking).

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.

read4 min views1 publishedJul 11, 2026

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.

</think>

token) to a small group of MLP layers near the end of the network, which I termed The paper is currently "on-hold" on arXiv.

[I have made it available here]for the time being. The code for the experiments[are available here].

To 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.

Sometimes 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.

I found that at median, the answer is often computed at around 30% of its CoT. The remaining 70% is largely overthinking.

So if a model already knows the answer long before it states it, why doesn't it stop?

By decomposing the </think>

logit at the moment of its emission, we can see that decision is extremely localized.

Consequentially, the buildup to emitting </think>

is 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.

This small set of MLPs including the layers that feed them is what I would like to call The Termination Circuit.

Attribution can only tell us where the logit comes from. To understand what the circuit is actually computing, we use causal interventions.

I 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 .

When the spliced answer is the model's own correct answer, the circuit fires </think>

as 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.

Format 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.

Additionally, 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.

If 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. No 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.

The signal that triggers stopping appears to be high-dimensional rather than a single adjustable dial.

The 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.

The 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?"

Nothing 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.

This explains why overthinking is so robust and why many existing interventions only give modest gains.

If 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. Steering the internal state directly is difficult precisely because the gate is a high-dimensional pattern, not a simple direction.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @o1 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/the-termination-circ…] indexed:0 read:4min 2026-07-11 ·