思维链提示概述

思维链(Chain-of-Thought,CoT)是一种提示技术,通过引导模型在给出最终答案之前展示中间推理步骤,显著提升模型在复杂推理任务上的表现。这项技术由Google Research在2022年提出,已被证明在数学推理、逻辑推理、常识推理等任务上效果显著。

CoT的工作原理

传统提示方式直接要求模型给出答案,而CoT提示要求模型「一步步思考」。例如:

# 传统提示
问题:小明有5个苹果,给了小红2个,又买了3个,现在有几个?
答案:6个

# CoT提示
问题:小明有5个苹果,给了小红2个,又买了3个,现在有几个?
让我们一步步思考:
1. 小明最初有5个苹果
2. 给了小红2个,剩余:5 - 2 = 3个
3. 又买了3个,现在:3 + 3 = 6个
答案:6个

Zero-shot CoT

最简单的CoT形式是Zero-shot CoT,只需在提示词末尾加上「Let's think step by step」(让我们一步步思考)即可触发模型的推理链。这种方法不需要任何示例,但效果通常不如Few-shot CoT。

Few-shot CoT

Few-shot CoT通过提供2-3个带有完整推理过程的示例,引导模型模仿推理模式。这是目前效果最好的CoT方法:

请按照以下示例的推理方式回答问题。

示例1:
问题:一个班级有30名学生,其中60%是女生,女生中有三分之一戴眼镜。戴眼镜的女生有多少人?
推理:
- 女生人数:30 × 60% = 18人
- 戴眼镜的女生:18 × 1/3 = 6人
答案:6人

示例2:
问题:商店举行促销,原价200元的商品打8折后再减20元,最终价格是多少?
推理:
- 打8折后:200 × 0.8 = 160元
- 再减20元:160 - 20 = 140元
答案:140元

现在请回答:
问题:一本书原价45元,打7折后,小明用100元买了两本,应找回多少钱?

Few-shot提示技巧

Few-shot提示不仅适用于CoT,也是通用提示词工程中的重要技术:

  • 示例质量优于数量:2-3个高质量示例通常优于5个平庸示例
  • 示例多样性:覆盖不同场景的示例能帮助模型更好地泛化
  • 格式一致性:保持示例格式与期望输出格式一致
  • 标注关键信息:在示例中用标签标注输入和输出

CoT的适用场景

CoT在以下场景中效果显著:

  • 数学和算术推理
  • 逻辑推理和谜题解答
  • 多步骤问题解决
  • 代码调试和解释
  • 常识推理

需要注意,CoT对于简单任务(如直接的事实问答)帮助不大,反而可能增加不必要的推理成本。

最佳实践总结

1. 对于复杂推理任务,优先使用Few-shot CoT 2. 简单任务使用Zero-shot CoT或直接提示 3. 确保示例的推理过程正确、清晰 4. 在API调用中,CoT会增加token消耗,需要权衡成本与效果