定义

Chain of Thought (CoT,思维链) 是一种提示工程技术,通过要求语言模型生成中间推理步骤,而非直接给出最终答案,来提升模型在需要逻辑推理、数学计算和复杂决策任务上的表现。

经典触发语:

  • “Let’s think step by step”(让我们一步步思考)
  • “Work through this step-by-step before giving your final answer”(在给出最终答案前,逐步解决这个问题)

工作原理

CoT 的核心洞察:LLM 在预训练期间学习了大量推理模式,但被训练为直接生成答案。显式要求展示推理过程可以:

  1. 激活推理知识:引导模型访问其训练中的逻辑推导模式
  2. 分解复杂问题:将多步骤问题拆分为可管理的子步骤
  3. 提供可解释性:输出中的推理步骤可作为调试和理解模型行为的依据
  4. 提高准确性:通过显式推理减少”跳步”导致的错误

类型

Zero-Shot CoT

不提供示例,仅通过指令要求模型思考。

问题:当我 3 岁时,我的伴侣年龄是我的 3 倍。现在我 20 岁,我的伴侣多大?
指令:让我们一步步思考。

模型输出:

1. 假设我现在年龄是 "x" 岁
2. 当我 3 岁时,我的年龄是 3 岁
3. 那时我伴侣的年龄是我的 3 倍,即 3 * 3 = 9 岁
4. 现在我 20 岁,意味着从我 3 岁到现在过了 20 - 3 = 17 年
5. 由于我伴侣那时 9 岁,且过去了 17 年,我伴侣现在 9 + 17 = 26 岁

因此,我的伴侣现在是 26 岁。

Few-Shot CoT

提供包含推理过程的示例,让模型学习推理模式。

Q: 我哥哥 2 岁时,我年龄是他的两倍。现在我 40 岁,我哥哥多大?
让我们一步步思考。
A: 我哥哥 2 岁时,我 2 * 2 = 4 岁。年龄差是 2 岁,我更大。
现在我 40 岁,所以我哥哥是 40 - 2 = 38 岁。答案是 38。

Q: [实际问题]
A:

效果与限制

适用场景

  • 数学问题(算术、代数、概率)
  • 逻辑推理(因果推断、条件判断)
  • 多步骤规划(项目管理、策略制定)
  • 决策分析(权衡比较、风险评估)

现代发展:CoT 的悖论

2024-2025 年的重要发现:

对于推理模型(o3-mini, o4-mini, Gemini Flash 2.5, Claude 4):

  • CoT 收益极小(+2.9% 到 +3.1%)
  • 但增加 20-80% 的响应时间
  • 建议:不要对推理模型使用 CoT,它们内部已经自动推理

对于非推理模型:

  • Claude Sonnet 3.5:+11.7% 提升(显著)
  • GPT-4o-mini:+4.4% 提升(不显著)
  • 建议:根据任务复杂度决定是否使用

自我一致性 (Self-Consistency)

改进的 CoT 变体:

  1. 对同一问题多次采样(高 temperature)
  2. 提取每次的答案
  3. 选择最频繁的答案

优点:提高答案可靠性和一致性 缺点:成本显著增加(多次调用)

最佳实践

有效策略

  1. 明确分离推理和答案:使用标签如 <thinking><answer>
  2. 示例中展示推理模式:few-shot 时包含完整的推理过程
  3. 验证步骤:“完成前,根据 [测试标准] 验证你的答案”
  4. 结构化推理:要求使用编号步骤或 bullet points

避免的陷阱

  1. 对推理模型使用 CoT:浪费 token 和时间
  2. 过度引导:给定的步骤可能限制模型的自然推理
  3. 忽略输出长度:CoT 产生更多 token,增加成本

示例

数学问题(适用)

分析在客户支持中添加 AI 聊天机器人的 ROI。

先做数学计算,然后给出:
- 假设条件
- 简单 ROI 估算
- 最可能改变结果的因素

创意写作(不适用)

为一本设定在 1920 年代禁酒令时期的悬疑小说撰写开头段落。

这种场景不受益于逐步推理,直接的创意生成更有效。

关联连接