思维链提示概述
思维链(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消耗,需要权衡成本与效果