跳到主要内容

思维链推理

问题

什么是 CoT(Chain-of-Thought)?如何有效使用思维链提升 LLM 的推理能力?

答案

思维链(Chain-of-Thought, CoT) 是让 LLM "展示推理过程" 而非直接给出答案的 Prompt 技术。这是提升 LLM 推理能力最有效的方法之一,详细原理见涌现能力

一、标准 CoT vs Zero-shot CoT

标准 CoT(Few-shot CoT)

在示例中包含完整推理过程

Q: 一个商店有 5 个苹果,又进了 3 箱,每箱 8 个。卖掉了 12 个。还剩多少?
A: 商店原有 5 个苹果。
又进了 3 箱,每箱 8 个,共 3 × 8 = 24 个。
总共有 5 + 24 = 29 个。
卖掉了 12 个,剩余 29 - 12 = 17 个。
答案是 17。

Q: [你的问题]

Zero-shot CoT

不需要示例,只需一句话触发——"Let's think step by step"

Q: 一个商店有 5 个苹果...还剩多少?
A: Let's think step by step.

二、CoT 变体

变体思路适用场景
Few-shot CoT给推理示例需要特定推理格式
Zero-shot CoT"逐步思考"快速应用、通用推理
Auto-CoT自动生成推理链示例减少人工编写成本
CoT-SC多条推理链 + 多数投票提高可靠性
Program-of-Thought生成代码来推理数学计算

三、Self-Consistency

CoT 的增强版——多次采样,取最常见的答案

Self-Consistency 可以将数学推理准确率提升 10-20%。

四、什么时候用 CoT?

适合 CoT不适合 CoT
数学计算简单事实查询
逻辑推理翻译
代码调试文本摘要
多步规划情感分析
小模型慎用 CoT

CoT 在 >10B 参数模型上才有效。小模型使用 CoT 可能生成错误的推理过程,反而降低准确率。


常见面试问题

Q1: CoT 为什么能提升推理能力?

答案

  1. 分解复杂问题:将多步推理分解为简单子步骤,每步都在模型能力范围内
  2. 隐式计算分配:更多中间 Token = 更多计算量 = 更强推理
  3. 错误累积降低:逐步输出便于模型自检和纠错
  4. 工作记忆扩展:中间结果写入上下文,不需要全靠"记忆"

Q2: Self-Consistency 的原理是什么?

答案: 核心思想:正确答案更容易从不同推理路径得出。通过高温度采样生成多条推理链,错误的推理链各有各的错误(答案分散),而正确的推理链更容易收敛到同一答案。多数投票就能过滤掉随机错误。


相关链接