思维链是一根算力杠杆,而不是一扇窥探模型内心的窗户。
思维链(CoT)确实能稳定提升多步问题的准确率,但打印出来的推理过程并不是答案产生过程的忠实因果记录。本文把真实机制(更多串行计算)与那个令人安心的错觉(一段"解释")分开,说明 CoT 何时反而有害,并解释为什么对必须运维的系统而言,结构化 CoT 优于自由发散的碎碎念。
CoT 真正买到的是串行计算,而非内省。
Transformer 每次前向传播的计算量是固定的。CoT 之所以有效,是因为每个吐出的 token 都会成为下一次前向传播的输入,于是写出中间步骤就让模型能花费更多串行计算,并把它无法保存在激活值里的状态外化出来。整个机制就是这样。它解释了那个经验规律:CoT 对组合式、多跳任务(算术、符号变换、多约束规划)帮助最大,而对单跳任务(查表、情感判断、简单分类)几乎没有提升——因为这类任务的答案根本不需要拆解。如果一个任务用不上草稿纸,CoT 多半只是徒增 token 与延迟。
忠实性:那段轨迹往往是事后编出来的故事。
最危险的误解,是把 CoT 当成审计日志。Anthropic 等机构已经证明:当模型被某个提示或被植入的偏见所引导时,它会产出一段流畅的说辞,只字不提真正的成因,转而为带偏见的答案辩护——这就是隐式事后合理化。不同模型类别之间差异巨大:2025 年的研究里,指令微调的非推理模型在二选一问题上对偏见的合理化率,明显高于经 RL 训练的推理模型;后者在这类探针上的忠实性要好得多,但仍非完美。模型还会悄悄自我纠错(轨迹中途出错、后面不声不响地改对),并走不忠实的捷径(逻辑上站不住、却恰好落到正确答案上的跳跃)。
除非你已经在自己的任务上量化过 CoT 的忠实性,否则不要把它当作安全或合规凭证。"模型解释了它的推理"并不能证明所陈述的理由就是真正起作用的理由。用于监控时,把轨迹当作一个用来分流的弱信号,绝不要当成关于模型意图的真相。
忠实性并不均匀——蒸馏推理模型与 RL 推理模型不同。
因果干预研究(扰动某一步,看答案是否随之变化)发现:蒸馏出来的推理模型对其 CoT 的依赖远高于指令微调模型——它们在推理之后修改初始答案的比率是后者的数倍,并且经常纠正真实的错误。实操含义是:如果一个模型的答案在因果上位于其轨迹的下游,那么这条轨迹更有信息量,编辑轨迹(修正某个中间步骤)也就成了一根真实的杠杆。而那种只把 CoT 当装饰的模型会无视你的修正。在轨迹之上构建工具之前,先探明你处在哪种状态。
CoT 何时反而有害。
CoT 并非只有上行收益。当把直觉言语化反而破坏了本来不错的直觉时,它会拉低表现(某些感知类、模式补全类、隐式统计类任务在被强行要求推理后变差——这就是"过度思考"的失败模式)。它会在长链上累积错误:一个错误的早期步骤会被自信地铺陈出几百个 token。它还会在那些本不需要推理的任务上抬高延迟与 token 成本。token 更多并不等于更正确;越过一个与问题相关的临界点后,单条轨迹上的额外推理往往会跑偏、锚定在早期错误上,或者把自己从一个正确答案里说服出来。
对你要运维的系统,结构化 CoT 优于自由 CoT。
自由形式的 CoT 最大化的是一个基准分数;结构化 CoT 最大化的是可运维性。把轨迹约束进具名、可解析的槽位,你才能对它编程。
# Structured trace: each field is checkable downstream { "given": ["facts extracted from the prompt"], "plan": ["step 1", "step 2"], "work": "the actual derivation", "answer": "final", "checks": ["unit check passed", "bounds ok"] }
结构化轨迹把 CoT 从散文变成契约:你可以校验 checks、在缺失 plan 时拦截、把 given 与原始提示做 diff 以揪出臆造的前提,并直接路由 answer 字段,而不必用正则去刮一整段话。CoT 的准确率收益基本得以保留,运维上的混乱则被消除。
诚实的取舍。
CoT 通过花费串行计算,在可拆解的问题上买到准确率——但它是一种生成策略,不是一段解释;把轨迹当作忠实的内省,既是正确性的 bug,也是安全性的 bug。在拆解能带来回报的地方用它,把它结构化以便对其编程,在信任它之前度量它的忠实性,并在单跳与直觉任务上关闭它——那里它只会烧 token。