AI / Technology
思维链提示不是让模型变聪明,而是让它先把路走出来
大语言模型把复杂问题拆成中间推理步骤后得到答案的封面图
图 0:论文的核心不是换模型,而是在问题与答案之间示范一条可生成的中间路径。
标准少样本提示与思维链提示在示例结构上的对比
图 1:CoT 把示例从“问题→答案”改成“问题→中间步骤→答案”,实验中模型参数不更新。
例如,一道题说 Roger 原有 5 个网球,又买了 2 罐,每罐 3 个。标准提示的示例只给“答案是 11”;CoT 示例则先写出“2 罐 × 3 个 = 6 个,5 + 6 = 11”,再给最终答案。测试时没有额外的解题程序,也没有对模型做梯度更新;模型只是根据上下文继续生成。
思维链增益随模型规模和任务难度变化的二维示意图
图 2:论文观察到的“涌现”是有条件的:规模要足够大,任务也要真正需要多步推理。
任务难度也同样重要。PaLM 540B 在 MAWPS 的单步子集 SingleOp 上,标准提示与 CoT 都是 94.1%;在多步子集 MultiArith 上,则从 42.2% 提升到 94.7%。当模型本来就能轻松完成任务时,CoT 几乎没有提升空间;当题目确实要求多步组合时,中间轨迹才更有价值。
三类推理实验及代表性结果的证据地图
图 3:CoT 的效果并不均匀;GSM8K 与长度外推提升很大,CSQA 提升很小。
算术题通常使用同一组 8 个手写 CoT 示例,AQuA 因为是选择题而使用 4 个训练集示例。论文以贪心解码为主;LaMDA 实验对五种示例顺序取平均,其他模型主要使用一个固定顺序。所有实验都是推理时提示,没有微调。
GSM8K 上标准提示、三种消融与思维链提示的准确率对比
图 4:消融结果排除了三种简单解释;关键是答案之前、具有语义结构的中间步骤。
论文在 LaMDA 137B 的 GSM8K 上测试了这三种替代方案:
最终答案正确性与推理链正确性的四象限边界图
图 5:可见推理链提高了可检查性,却不保证忠实;“答案对”与“路径对”是两个维度。
最终答案是否正确,与推理链是否正确,是两个维度。
研究附录
重读 Wei 等人的《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》:一项简单的提示格式改动,为什么会在足够大的语言模型上释放多步推理能力?它又没有证明什么?
2022 年以前,如果希望模型解数学题时“写过程”,常见做法是收集大量带解题步骤的数据,再训练或微调一个专用模型。这篇论文提出了一个成本低得多的办法:不更新模型参数,只在少样本提示(few-shot prompting)的示例答案里加入几句自然语言推理,让模型照着这种输出结构完成新题。
这就是思维链提示(Chain-of-Thought Prompting,CoT)。它最重要的历史意义,不是发明“逐步解题”,而是证明了一件当时并不显然的事:足够大的通用语言模型,可能已经具备生成多步解题轨迹的能力;恰当的上下文示例能够把这种能力诱导出来。
但“可能具备能力”不等于“真的像人一样思考”,可见的推理文字也不等于可信的内部思维。要读懂这篇论文,必须同时看见它的突破与边界。
一、改动究竟发生在哪里?
标准少样本提示给模型若干组“问题—答案”示例,再让它回答新问题:
问题 → 答案
CoT 提示把每个示例改成三元组:
问题 → 中间推理步骤 → 答案
例如,一道题说 Roger 原有 5 个网球,又买了 2 罐,每罐 3 个。标准提示的示例只给“答案是 11”;CoT 示例则先写出“2 罐 × 3 个 = 6 个,5 + 6 = 11”,再给最终答案。测试时没有额外的解题程序,也没有对模型做梯度更新;模型只是根据上下文继续生成。
这个改动同时带来三种可能作用:
- 分解问题。 多步任务不再要求模型从题面直接跳到答案,而可以逐步维护局部结果。
- 按难度分配更多生成。 难题可以产生更多中间 token,等于获得更长的串行计算轨迹。
- 把任务结构写进示例。 模型看到的不只是正确标签,还看到输入中的语义如何映射成一系列操作。
论文还把“推理过程更可检查”视为优点:人可以观察错误发生在哪一步。不过作者已经谨慎加了一道边界——这些文字只能提供模型行为的窗口,完整刻画支撑答案的内部计算仍是开放问题。
二、为什么“先写过程”可能比“直接给答案”有效?
关键不是把答案写得更长,而是让中间文本形成一条有语义、有顺序、指向答案 的路径。
把复杂应用题直接翻译成一个算式,模型必须一次完成语义解析、变量绑定、关系选择和计算。CoT 把这些约束摊开:先判断每个句子表达什么关系,再形成算式,再计算。每一步产生的文本又成为下一步生成时可见的上下文,相当于给自回归模型搭了一块外部“草稿纸”。
这里的“草稿纸”是本文对生成过程的工程化理解,不是论文对神经网络内部机制的证明。论文真正提供的是行为证据:当中间步骤位于答案之前、而且带有自然语言结构时,部分任务的准确率显著上升;几种看似相近的替代方案没有复制这种提升。
三、效果不是普遍发生:规模与任务难度缺一不可
论文最醒目的发现是规模效应。小模型经常生成语句流畅、逻辑却不成立的“伪过程”,表现甚至低于直接回答。明显增益主要出现在约百亿到千亿参数以上的被测模型中,作者因此将 CoT 描述为随模型规模出现的涌现能力(emergent ability)。
这不是一个可直接外推到所有模型的“100B 定律”。参数规模同时混杂了训练数据、训练算力、模型架构和优化方式;论文只展示了几组模型家族中的经验曲线,没有做因果拆解。
任务难度也同样重要。PaLM 540B 在 MAWPS 的单步子集 SingleOp 上,标准提示与 CoT 都是 94.1%;在多步子集 MultiArith 上,则从 42.2% 提升到 94.7%。当模型本来就能轻松完成任务时,CoT 几乎没有提升空间;当题目确实要求多步组合时,中间轨迹才更有价值。
因此,更准确的结论不是“CoT 能提高语言模型推理”,而是:在这篇论文测试的条件中,较大的模型面对困难的多步任务时,CoT 最可能带来明显增益。
四、实验到底覆盖了什么?
论文把证据组织成三类:
- 算术推理: GSM8K、SVAMP、ASDiv、AQuA、MAWPS 五组数学文字题。
- 常识推理: CSQA、StrategyQA、日期理解、体育理解,以及把指令映射为机器人动作序列的 SayCan。
- 符号推理: 拼接姓名中每个词的末字母,以及跟踪硬币翻转后的状态;两项任务还测试了比示例更长的分布外(out-of-distribution,OOD)序列。
算术题通常使用同一组 8 个手写 CoT 示例,AQuA 因为是选择题而使用 4 个训练集示例。论文以贪心解码为主;LaMDA 实验对五种示例顺序取平均,其他模型主要使用一个固定顺序。所有实验都是推理时提示,没有微调。
算术:最强、也最容易被误读的证据
在 PaLM 540B 上,GSM8K 准确率从标准提示的 17.9% 提升到 CoT 的 56.9%,超过论文采用的此前最佳 55.0%。加入只负责执行算术的外部计算器后,结果进一步达到 58.6%。同一张总表里,GPT-3 175B 从 15.6% 提升到 46.9%,Codex(code-davinci-002)从 19.7% 提升到 63.1%。
这些数字证明的是“提示格式改变了任务表现”,而不是 CoT 单独解决了数学推理。外部计算器还能继续提高结果,说明语义推理与精确计算是可以分离的瓶颈。
常识:有效,但增益高度不均匀
PaLM 540B 在日期理解上从 49.0% 提升到 65.3%,体育理解从 80.5% 提升到 95.4%,SayCan 从 80.8% 提升到 91.7%;但 CSQA 只从 78.1% 提升到 79.9%。这提醒我们:如果任务主要瓶颈不是多步分解,CoT 不会自动带来巨大收益。
符号任务:展示的是长度外推,不是开放世界推理
模型只看过两个词的“末字母拼接”示例,却要在测试时处理三个或四个词。PaLM 540B 在四词 OOD 任务上,标准提示为 0.0%,CoT 达到 63.0%;硬币翻转的四步 OOD 任务从 54.8% 提升到 90.2%。
作者明确称这些是 toy tasks:示例已经提供了完整解法结构,模型要做的是把同一结构迁移到新符号和更长序列。因此,它们支持“CoT 有助于长度外推”,不能直接证明模型掌握了任意形式推理。
五、消融实验排除了哪些简单解释?
如果 CoT 只是“多生成一些 token”,那么让模型输出等长的点号也应该有帮助;如果关键只是得到算式,那么只输出方程也应该接近 CoT;如果示例中的解释只是唤醒相关知识,那么先给答案、再写解释也应该有效。
论文在 LaMDA 137B 的 GSM8K 上测试了这三种替代方案:
标准提示为 6.5%,只输出方程为 5.4%,只增加等量“计算”字符为 6.4%,答案后再推理为 6.1%,而正常 CoT 为 14.3%。
这组结果最有价值的地方,是把论文从“一个好用的提示技巧”推进到一个更具体的机制假设:收益依赖于答案生成之前的、可被后续 token 使用的、语义化中间状态。不过它仍然只是对若干替代解释的排除,不是对内部计算机制的直接观测。
六、稳健性:不依赖某一种文风,但仍然依赖提示
作者让三名标注者分别为同一批例题写推理链,也从 GSM8K 训练集中抽取独立示例。算术任务中,这些变体通常都明显优于标准提示,说明效果不依赖某位作者的固定措辞。
但“通常稳健”不等于“不需要提示工程”。在硬币翻转任务上,不同标注者的结果从 99.6% 到 71.4% 不等;论文还报告了一个反转五项列表的预实验:三名合著者中,只有一人写出的 CoT 提示能完美完成任务。换句话说,CoT 降低了写大量训练数据的成本,却没有消除示例设计的敏感性。
七、最重要的边界:写出推理链,不等于内部真的这样推理
最终答案是否正确,与推理链是否正确,是两个维度。
作者人工检查了 LaMDA 137B 在 GSM8K 上的输出。对 50 个答错的样本,论文把问题概括为:8% 只需修正计算错误,16% 只需修正数字与符号的映射,22% 缺少一个步骤,其余 54% 需要大幅修改语义理解或连贯性。另有 34% 的样本含计算错误与其他错误,因此计算错误这一统计与后续类别不能简单相加。
这些失败说明 CoT 不是一个可靠性保证:过程可能事实错误、前后矛盾,甚至以错误路径偶然得到正确答案。二分类和选择题尤其容易“蒙对”。论文没有验证生成文本是否忠实反映模型内部因果过程,也没有回答神经网络是否在严格意义上“推理”。
部署层面还有两项限制:显著效果集中在当时非常大的模型,推理成本高;而部分核心模型并不公开,复现者虽然能拿到完整提示和部分输出,却无法完全重现实验环境。
八、读数字时必须注意的版本内不一致
arXiv v6 在多轮增补后留下了几处没有完全同步的文字与表格:
- 摘要仍说实验覆盖“三个大型语言模型”,但 v6 正文实际列出 GPT-3、LaMDA、PaLM、UL2、Codex 五个模型家族。版本记录也说明 UL2 与 Codex 是后续加入的。
- StrategyQA 正文写 PaLM 540B 为 75.6%、此前最佳为 69.4%,而 v6 主图与附录总表给出标准提示 68.6%、CoT 77.8%,图中的此前最佳约为 69.3%。
- 对 50 个“最终答案正确”的 GSM8K 样本,正文说有 2 个通过错误过程偶然答对,附录的修订分析则说只有 1 个。
- 体育理解的 PaLM 540B 标准提示值,主图写 79.6%,附录总表写 80.5%。
因此,本文涉及总结果时优先采用 v6 附录的完整表格,同时保留这些冲突,不替作者猜测哪一处才是最终定稿值。它们不改变论文的方向性结论,但会影响逐点复述和精确复现。
九、这篇论文真正改变了什么?
在这篇论文的证据边界内,可以得到四个稳健结论:
- 提示不只是描述任务,也能规定计算轨迹的输出形状。 同一模型、同一问题,仅改变少样本示例的答案结构,就可能大幅改变表现。
- 自然语言可以充当中间表示。 它把语义解析、局部计算和状态传递串成自回归模型可继续使用的上下文。
- 能力与可用性是两回事。 大模型中潜在的多步能力,可能在标准直接回答提示下没有表现出来。
- 可检查不等于可信。 CoT 让错误更容易被看见,但不能保证过程忠实、事实正确或结论可靠。
对产品和工程实践而言,最值得继承的不是固定句式“让我们一步一步思考”,而是一个设计原则:当任务确实包含可分解的依赖关系时,给模型一个清晰的中间状态协议;同时把推理文字当作可审查的工作产物,而不是自动可信的真相。
这正是论文最持久的贡献:它把“模型会不会推理”这个抽象问题,转化为一个可实验检验的问题——当我们改变模型被要求生成的路径时,它能完成哪些原本做不到的任务?
参考来源
- Jason Wei et al., Chain-of-Thought Prompting Elicits Reasoning in Large Language Models(arXiv 摘要页,v6)
- Jason Wei et al., 论文 PDF(43 页,含完整附录、总结果表、消融与提示示例)
- arXiv, 论文 TeX 源码(用于核对 v6 正文、图表和版本记录)
关于这篇论文的三个关键问题
思维链提示:不是让模型变聪明,而是让它先把路走出来 解决了什么问题?
图 0:论文的核心不是换模型,而是在问题与答案之间示范一条可生成的中间路径。
思维链提示:不是让模型变聪明,而是让它先把路走出来 的核心结论有哪些证据?
在 PaLM 540B 上,GSM8K 准确率从标准提示的 17.9% 提升到 CoT 的 56.9%,超过论文采用的此前最佳 55.0%。加入只负责执行算术的外部计算器后,结果进一步达到 58.6%。同一张总表里,GPT-3 175B 从 15.6% 提升到 46.9%,Codex(code-davinci-002)从 19.7% 提升到 63.1%。
阅读 思维链提示:不是让模型变聪明,而是让它先把路走出来 时最需要注意什么局限?
部署层面还有两项限制:显著效果集中在当时非常大的模型,推理成本高;而部分核心模型并不公开,复现者虽然能拿到完整提示和部分输出,却无法完全重现实验环境。