12.5 Chain-of-Thought 深入
思维链(Chain-of-Thought, CoT)是让 AI 做推理时”展示思考过程”的技巧。2022 年由 Google 提出 1,至今仍是提升推理能力最有效的方法之一。
12.5.0 五种提示词技巧总览
在深入 CoT 之前,先快速对比五种最常用的提示词技巧:
| 技巧 | 怎么用 | 适合场景 | 不适合场景 |
|---|---|---|---|
| Zero-shot | 直接问,不给例子 | 简单翻译、常识问答 | 复杂推理、特定格式 |
| Few-shot | 给 2-5 个例子 | 格式转换、风格模仿 | 例子覆盖不到的边缘情况 |
| 思维链 (CoT) | 加一句”一步步想” | 数学题、逻辑推理 | 简单事实问答 |
| 角色扮演 | 指定 AI 的身份 | 专业写作、客服模拟 | 需要中立回答的场景 |
| 结构化输出 | 要求 JSON/表格/Markdown | 数据提取、自动处理 | 创意写作、开放式对话 |
比喻:Zero-shot 像直接让厨师”做碗面”;Few-shot 像给厨师看三碗面的照片;CoT 像让厨师写菜谱再动手;角色扮演像告诉厨师”你是川菜师傅”;结构化输出像指定”装盘用方盘,配菜摆左边”。
这五种技巧不是互斥的——实际使用中经常组合。比如”角色扮演 + Few-shot + 结构化输出”一次全用上。接下来的章节深入讲解其中最重要的 CoT。
12.5.1 零样本 CoT(Zero-shot CoT)
最简单的用法:在问题后面加一句”让我们一步步思考(Let’s think step by step)”。
不加 CoT:
“一个班有 35 个学生,女生比男生多 7 个,问男生有多少人?” AI 可能直接输出:“14 人”(可能对也可能错,无法验证过程)
加 CoT:
“一个班有 35 个学生,女生比男生多 7 个,问男生有多少人?让我们一步步思考。” AI 输出:“设男生为 x,女生为 x+7。x + (x+7) = 35,即 2x + 7 = 35,2x = 28,x = 14。所以男生有 14 人。”
效果差异:零样本 CoT 在数学推理任务上可以将准确率从 30-40% 提升到 60-70%(取决于模型和任务难度)。
12.5.2 少样本 CoT(Few-shot CoT)
不仅告诉 AI 要”一步步思考”,还给它看推理步骤的示例。
“问题:一个苹果 3 元,小明买了 5 个苹果,付了 20 元,找零多少? 推理:5 个苹果的总价 = 5 × 3 = 15 元。付了 20 元,找零 = 20 - 15 = 5 元。答案:5 元。
问题:一本书 25 元,小红买了 3 本书,打了 8 折,实际付了多少? 推理:”
Few-shot CoT 比 Zero-shot CoT 效果更好,但占用更多上下文窗口——需要权衡。
12.5.3 CoT 的变体
- ToT(Tree of Thoughts,思维树):不是一条线推理到底,而是在关键节点探索多个分支,选最优路径继续。适合需要”回溯”的复杂推理任务(如 24 点游戏、创意写作) 2
- GoT(Graph of Thoughts,思维图):比 ToT 更灵活,允许思维节点之间任意连接和合并。适合需要”综合多个信息源”的推理任务 3
12.5.4 CoT 什么时候有效,什么时候无效
有效场景:
- 数学推理、逻辑推理
- 多步骤问题求解
- 需要”拆解”的复杂任务
- 模型规模足够大(通常 >10B 参数效果才明显)
无效场景:
- 简单事实问答(“法国首都是什么?“不需要推理步骤)
- 小模型(<3B 参数,CoT 反而可能引入噪声)
- 创意写作(过度结构化会扼杀创意)
- 需要快速回复的场景(CoT 会增加输出延迟)
判断标准:如果你的任务需要人”想一想”才能回答,那 CoT 大概率有帮助。如果是一个不需要思考就能回答的问题,CoT 就是浪费。
← 上一节:12.4 Few-shot 实战 | 下一节:12.6 提示词调试技巧 →
注释
-
Wei et al., “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models”, 2022, https://arxiv.org/abs/2201.11903 ↩
-
Yao et al., “Tree of Thoughts”, 2023, https://arxiv.org/abs/2305.10601 ↩
-
Besta et al., “Graph of Thoughts”, 2024, https://arxiv.org/abs/2308.09687 ↩
关联5
知识图谱局部图谱 · 点节点跳转