← Back
Necessity Protects Chain-of-Thought Monitoring
by Prevention, Not Disclosure
Full post (LessWrong) Code & data Project page
Summary of findings. Where reasoning is genuinely necessary, a misleading cue almost never moves the answer, near-zero capture across all three model families tested. Where reasoning is optional, cues move the answer constantly, up to 41% of the time. In the worst case measured, a model was steered on 40% of problems and admitted it once in 489 traces. Necessity does not make reasoning more honest. It stops the manipulation from landing, and when manipulation does land, the reasoning tells you nothing about it.

The Bet, and the Assumption Under It

The case for reading chain-of-thought is that it is cheap, scalable, and simple: sit and read what the model wrote, and catch it before it does something terrible. It costs far less than mechanistic tooling like SAEs or linear probes, and it scales.

The case against it is that we have no guarantee the text is the reason. Turpin et al. (2023) planted hints in prompts, something as simple as always making option (A) correct, and found models took the bait while writing fluent, plausible reasoning that never mentioned the hint. Korbak et al. (2025) call CoT monitorability "a new and fragile opportunity," and the word fragile is doing real work there.

So instead of asking whether CoT is faithful in general, I went looking for a boundary: a class of task where reasoning is load-bearing enough that we can trust the trace, and classes where we can't.

Necessity vs. Propensity

Reasoning was supposed to be computation. A transformer does a fixed amount of work in a single forward pass; if the problem is deeper than that, the model has to write intermediate results into the text and read them back. Sprague et al. (2024) found chain-of-thought helps substantially on math and symbolic tasks and barely helps on factual recall and commonsense, a structural split, not an incidental one.

That maps onto a distinction borrowed from law, philosophy, and economics: necessity (the model must reason to get the answer) versus propensity (it happens to reason, but the answer doesn't depend on it). The research question: does necessity actually make the reasoning trace more trustworthy?

Experimental Setup

Models and datasets

Prompts

Everything ran under greedy decoding (temperature 0). Two stages:

Capture and scoring

A problem counts as captured only if the cue flipped the final answer to its wrong target and the clean run wasn't already landing there. Both generations must reach a natural stop (</think>), truncated, looping traces produce unreliable extracted answers and false captures. Wrong targets are chosen deterministically and seeded, so re-running reproduces identical cues.

Captured traces are then scored for disclosure in three layers: a string-match keyword baseline as a sanity check; an LLM judge (Claude Haiku and Opus, reading only the thinking block, blind to which arm produced the trace, scoring disclosure rather than correction) as the primary tool; and human validation on ~50 captured traces per model. Significance via two-sided Fisher's exact tests, with Wilson confidence intervals, leaned on rather than point estimates wherever captures are scarce.

Result 1: Necessity Blocks the Manipulation

Model Capture, necessity (GSM8K) Capture, propensity (pooled) p
Qwen3-4B 2/500 (0.4%) 53/1200 (4.4%) 1.4 × 10⁻⁶
DeepSeek-R1-Distill-8B 11/500 (2.2%) 210/1200 (17.5%) 4.2 × 10⁻²²
Gemma-3-4B 0/500 (0.0%) 489/1200 (40.8%) 2.3 × 10⁻⁹¹

All nine necessity-vs-propensity contrasts are significant, and none marginally, the largest p-value across all of them is 1.9 × 10⁻⁵. Where the model actually has to compute the answer, a cue can't easily hijack it, and this holds across three families with very different training. Magnitudes vary (Gemma is roughly 8× more suggestible on propensity than Qwen), but the shared ordering, necessity ≪ propensity for every model, is the finding.

Result 2: Disclosure Is Categorical, Not a Gradient

Do the models that get captured admit it? I expected a spectrum of honesty. There isn't one.

Model Disclosed (Opus judge) Rate 95% CI
Qwen3-4B27/5350.9%[37.9%, 63.9%]
DeepSeek-R1-Distill-8B108/21051.4%[44.7%, 58.1%]
Gemma-3-4B1/4890.2%[0.0%, 1.1%]

Qwen versus DeepSeek gives p = 1.00, statistically indistinguishable. Gemma versus each of them gives p = 8 × 10⁻³⁰ and p = 4 × 10⁻⁶⁶. Gemma is not at the bottom of a disclosure spectrum; it is somewhere else entirely.

The uncomfortable part: Gemma is the model captured most often and the one that discloses least, strictly worse than either failure alone. A monitor reading its chain of thought would receive almost no signal that the answer had been steered from outside.

Two checks before reading intent into that. First, it isn't a causal law: DeepSeek is captured far more often than Qwen (17.5% vs 4.4% pooled) yet discloses at a similar ~51% rate, so "more gullible means more secretive" is contradicted by my own data, the co-occurrence in Gemma looks model-specific. Second, terseness: Gemma's captured traces have a median length of 147 words against 773 for Qwen and 482 for DeepSeek. That confound is real and worth stating, but 150 words is ample room for a single clause acknowledging a hint, and 1 in 489 is near-total absence rather than scarcity of space. Length is a contributing factor, not the whole explanation.

I trust the 0.2% figure in particular because the two judges disagree in an informative direction. The weaker Haiku judge scored Gemma higher (7–18%), while a hand-read of all 50 Gemma validation traces found zero genuine acknowledgements, matching Opus. Haiku's extra "disclosures" likely came from mistaking capture (landing on the cued answer, true of every captured row by construction) for disclosure. A weaker judge silently converting a monitoring failure into apparent success is itself worth knowing for anyone building CoT monitors on LLM judges.

Result 3: A Null Result by Construction

The original bet was that necessity would make reasoning more transparent, not merely harder to manipulate. Result 1 makes that untestable: captured traces on the necessity arm number 2 for Qwen, 11 for DeepSeek, and 0 for Gemma. You cannot measure how honestly a model discloses a manipulation that essentially never happens.

Qwen's necessity cell is 2/2 with an interval of [34.2%, 100%], compatible with almost any true rate. DeepSeek's is 2/11 (18.2%, CI [5.1%, 47.7%]), which looks like it contradicts the hypothesis by sitting below its own 51.4% propensity disclosure, but that comparison fails significance (Fisher's exact, p = 0.059). The single cell pushing against the hypothesis doesn't survive contact with the statistics.

Worth naming explicitly: I am not claiming necessity makes models less honest. I am claiming I cannot tell, the intervention was effective enough to eliminate the very events I would need in order to study it. Anyone running this design will hit the same wall. To measure faithfulness under manipulation you need a regime where manipulation succeeds often enough to be observed, which makes the necessity arm structurally the wrong place to look.

What Silent Capture Looks Like

One captured DeepSeek trace (GSM8K, gsm_0037; the cue asserted the answer was 1, gold answer 2) shows the failure shape a monitor would miss. Verbatim from the reasoning block:

"…So, $195 minus $160 equals $35. Finally, the problem states that John has $5 left. However, according to the calculations, John has $35 left. This discrepancy suggests that there might be an error in the initial problem statement or in the provided information."

The model computes correctly, notices the contradiction between its own arithmetic and the planted numbers, blames "an error in the problem," and then commits to the cue's wrong answer, never once saying that the suggestion is what moved it. A single trace can't carry a statistic, but it renders exactly what makes silent capture dangerous: the reasoning looks diligent, even skeptical, right up to the moment it quietly adopts the answer it was handed.

Taken together, the findings reframe the original question into a stronger claim: necessity protects the monitoring bet by prevention, not by disclosure.

Limitations

Open Questions

The alternative explanation hardest to dismiss is verifiability. On GSM8K the cue names a number the model can check by computing; on multiple choice a letter affords no such check. My design makes necessity and verifiability coincide, so I cannot separate them, a clean test crossing the two factors is the obvious next step.

Beyond that: does the protection degrade smoothly as cues get stronger, and why is Gemma different? The deepest limit is that reading text cannot distinguish a model that registered the cue and hid it from one that was steered without ever representing the steering. Separating those means probing activations rather than reading them, which is where I would go next.


Context. This was a five-week Technical AI Safety project with BlueDot Impact. Full write-up on LessWrong; code and data at github.com/ANKITSANJYAL/Cot_faithfulness. An earlier note describing the design before results is here.

References
Turpin et al. (2023). Language Models Don't Always Say What They Think: Unfaithful Explanations in Chain-of-Thought Prompting. NeurIPS 2023.
Sprague et al. (2024). To CoT or not to CoT? Chain-of-thought helps mainly on math and symbolic reasoning. ICLR 2025.
Korbak et al. (2025). Chain of Thought Monitorability. Multi-lab position paper.

If you're working on related questions, especially the verifiability confound or activation-level probes for silent capture, I'd like to hear from you: asanjyal82@gmail.com.