welclaiAI·TREND·DIGEST
研究

思维链:为什么推理步骤能起作用

让模型"一步一步地思考",它在难题上的表现会明显变好。仔细想想,这其实很奇怪。本文解释它为什么有效。

research2026-06-05 12:11 KST·主编·7 分钟

要让语言模型给出更好的答案,最有用的技巧之一简单得近乎令人难堪:在给出最终答案之前,先让它一步一步地把问题想清楚。这就是所谓的思维链(chain-of-thought),在难题上它能带来惊人的差别。奇怪的是,它居然能起作用。模型本来就"知道"它所知道的一切,为什么让它把推理过程叙述出来,会改变结论的质量?答案揭示了这些模型如何运算的某种根本性的东西。

简短地说:**模型一次只产出一小块输出,每一块所用的运算量是固定且有限的,而思维链给了它更多的"块"——也因此给了它更多的运算量——去抵达一个困难的答案。**这些步骤不是装饰,它们是工作空间。

一次性给出答案的问题

设想你向某人提一个需要多步运算的算术或逻辑问题,却要求他立刻说出最终答案,不给任何推算的机会。对简单的问题,这没问题;对困难的问题,这很残酷——你逼迫所有的中间推理在看不见的情况下、一瞬间全部发生,没有任何余地把东西摊开来。

语言模型面临的是这一约束的某种版本。当它生成下一块文本时,它做的运算量是固定的,然后就要锁定一个输出。如果一个问题需要若干个彼此依赖的推理步骤,要求立刻给出答案就会逼迫所有这些步骤被压缩进那一次运算爆发里。对于真正困难的问题,一步里根本没有足够的空间来完成这些工作。模型被要求一次性完成多步推理,于是它磕磕绊绊,原因和人会磕绊的原因一样。

写出步骤如何改变局面

思维链以一种巧妙的方式解除了这个瓶颈。当模型一步一步写出它的推理时,它产出的每一步都成为它接下来要读取、以产出下一步的文本的一部分。中间结果不必被保存在某个隐藏的、固定大小的草稿本里,它们被写了下来,而写下来的版本可以被拿来继续构建。

于是模型不再把一个五步问题压进一次运算爆发,而是把它铺展到五次(或更多)爆发上,每一次都能读取前面各次的结果。第一步确立一个事实;第二步用上这个事实并加上另一个;如此往复,直到最终答案立足于一连串各自分得了一份运算量的中间结果之上。模型实际上是在通过给自己更多文本去运算,而给了自己更多运算量。

生成出来的推理不只是事后产出的解释,它是运算实际发生的媒介。拿掉它,你也就拿掉了工作的余地。

为什么更多文本意味着更多运算

这是关键所在,值得仔细说清楚。模型在它生成的每一块输出上,花费的运算量大致是固定的。因此它能调动到一个问题上的总运算量,与它在过程中产出多少文本是绑定的。

一个单词的答案得到那运算量的一份;一份长长的、完整推算过的解答得到许多份。通过写出推理,模型不只是在展示它的工作过程——它是在为自己买来更多的总运算量去抵达结论。每一个中间步骤都是施加于问题之上的又一块处理,而早先步骤的书面记录让后面的步骤能立足于它们之上,而不必重做。这就是为什么思维链恰恰在那些需要若干彼此依赖步骤的问题上帮助最大,而在直接给出答案就能解决的问题上几乎无关紧要。简单的问题不需要额外的余地;困难的问题需要。

为什么步骤必须写出来,而不只是想

一个自然的问题:既然模型本来就有内部运算,为什么它需要把步骤外化为文本?为什么不能默默推理、直接给出答案?原因又回到了那个每步固定的上限。模型为单次输出所做的隐藏内部处理是有界的。它无法在一步之内,在内部运行一条任意长的推理链。

把步骤写出来,正是模型摆脱那个每步上限的方式。每一个写下的步骤都重置了预算——下一步得到属于它自己的一份新的运算配额,而且它能读取到此为止写下的一切。文本就是那个让短暂的、有界的运算爆发被串接成更长之物的机制。不外化,就没有串接;模型只能困在单步的限制内做完一切。可以说,纸面正是让延展推理成为可能的东西。

思维链不能保证什么

重要的是不要把这件事过度浪漫化。模型写出来的推理,并不是它如何抵达答案的、保证忠实的窗口。模型可以产出一条看起来貌似合理、却并不真正对应于驱动其结论的运算的步骤链,它也可以经由听上去完全自洽的推理抵达一个错误答案。可见的步骤,是由和模型写下的其他一切相同的、会出错的过程生成的。

这意味着思维链提升了表现,却不会默认让输出变得可信。一条自信、结构良好的推理,仍然可能包含一个错误的步骤,而最终答案在听上去严谨的同时继承了那个错误。思维链给了模型更多运算的余地,从而抬高了它能解决之物的上限。它并不会装上正确性或诚实。推理是工作空间,不是证明。

何时该用它,何时不该

了解了这个机制,你就知道思维链何时值得它的代价。它在有若干彼此依赖步骤的问题上大放异彩——多步数学、逻辑谜题、细致的分析,任何答案是被构建出来而非被回忆出来的场合。在这些问题上,给模型摊开中间结果的余地,确实会提高它的成功率。

不过,在简单的查找或单步问题上,它是浪费——额外的步骤只增加长度和成本,并不改善答案。而且因为写出来的推理会消耗运算和输出,它并非免费——更多文本意味着更多时间和更多花费。诀窍在于让工具匹配问题:在问题确实需要的地方花掉那份额外的工作余地,在直接给出答案就已足够的地方略过它。

总结

思维链之所以有效,是因为**模型在它产出的每一块文本上分得固定的运算量,而写出推理给了它更多的块,也因此给了它更多的总运算量,去抵达一个困难的答案。**这些步骤不是事后贴上去的解释;它们是运算发生的工作空间,而把它们外化正是让短暂的处理爆发串接成延展推理的东西。它抬高了模型能解决之物的上限——但并不保证步骤忠实或答案正确。用在问题确实有多个彼此依赖步骤的地方,它是从模型身上榨出更多价值的、杠杆率最高的方式之一。

#chain-of-thought#reasoning#prompting#inference