6.1 思维链提示的原理与价值

思维链(Chain-of-Thought, CoT)提示是一种通过引导模型展示中间推理步骤来提升复杂任务表现的技术,最早由 Wei et al. (2022)arrow-up-right 提出。本节将介绍其基本原理、工作机制和应用价值。

6.1.1 什么是思维链提示

传统的提示方式直接要求模型输出最终答案:

问题:商店有 23 个苹果,卖出了 15 个,又进货了 12 个,现在有多少个?
答案:

模型可能直接输出一个数字,有时对有时错。

思维链提示则引导模型展示推理过程:

问题:商店有 23 个苹果,卖出了 15 个,又进货了 12 个,现在有多少个?

让我们一步步思考:
1. 初始数量:23 个
2. 卖出后剩余:23 - 15 = 8 个
3. 进货后总数:8 + 12 = 20 个

答案:20 个

通过展示中间步骤,模型的准确率显著提升。

说明:上面的“逐步推理输出”是教学示例。真实业务/对外产品中,通常 不建议强制要求模型输出冗长的完整推理过程(会增加 Token 成本,也可能暴露不必要的细节)。更稳妥的做法是:让模型进行多步推理,但只输出 关键步骤/核对点 + 最终答案

spinner

图 6-1:传统提示与思维链提示的对比

6.1.2 为什么思维链有效

1. 分解复杂问题

思维链将复杂问题分解为一系列简单的子问题,每一步都是模型更容易处理的简单操作。

2. 利用生成的中间结果

模型在生成过程中可以“看到”自己之前输出的内容。当中间推理步骤被显式生成后,这些信息成为上下文的一部分,可以被后续推理利用。

3. 激活训练中的推理模式

大语言模型在训练过程中接触过大量包含推理过程的文本(如教科书、论文、解题过程等)。思维链提示激活了这些模式。

4. 减少跳跃性错误

直接输出答案时,模型可能“跳过”某些关键步骤导致错误。明确要求展示步骤可以减少这类遗漏。

5. 以生成长度换计算深度

从计算原理角度理解,思维链的核心是用生成长度换取计算深度——将原本单次前向传播里“压缩式”的推理,转化为多次前向传播分步执行。每一步的输出成为下一步的上下文输入,使模型在每一步都只需要完成较简单的判断,大幅降低了累积出错的概率。这解释了思维链在复杂推理任务上效果如此显著的原因——它把一个难题的“难度”分散到了多个简单步骤里。

6.1.3 思维链的适用场景

高度适用

  • 数学推理:算术问题、方程求解

  • 逻辑推理:逻辑谜题、条件判断

  • 多步骤问题:需要多个步骤才能得出结论

  • 常识推理:需要结合多个常识知识点

效果一般

  • 简单事实问答:直接提取即可,无需推理

  • 创意生成:不需要严格的逻辑步骤

  • 格式转换:规则明确的机械任务

6.1.4 与模型规模的关系

研究发现,思维链的效果与模型规模密切相关:

这种“涌现”特性意味着思维链更适合在大型模型上应用。

6.1.5 思维链提示的基本形式

直接添加推理要求

使用触发词

结构化推理框架

6.1.6 思维链的输出示例

问题: 一列火车从 A 站出发,以每小时 80 公里的速度行驶。2 小时后,另一列火车从 B 站出发,以每小时 120 公里的速度追赶。A 站和 B 站相距 40 公里。问第二列火车何时能追上第一列?

思维链回答

6.1.7 思维链的价值总结

思考

  1. 设计一个特定的业务场景,在这个场景中,模型输出的“中间推理步骤”比“最终答案”更有价值?

  2. 尝试对比一个数学问题在“有思维链”和“无思维链”情况下的输出,分析思维链是如何纠正逻辑错误的。

最后更新于