Chain of Thought:让AI一步步思考
提升AI推理能力的核心技术
📝 先来做一道题:
小明有15块糖,他给了小红6块,又从小张那里拿到了4块。小明现在有几块糖?
早期的大模型直接回答:13块。❌
如果让它一步步想:15 - 6 = 9,9 + 4 = 13……等等,还是13。这题其实就是13。但重点是:同样的问题,逐步推理的AI正确率远高于直接回答的AI——对于更复杂的题目,这个差距会大到惊人。
这就是 Chain of Thought(思维链,CoT) 背后的洞察。
1Chain of Thought 是什么?
2022年,谷歌研究院的一篇论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》在AI圈引起轰动。核心发现极其简单:
核心洞察
在Prompt里加入"让我们一步步来思考"(Let's think step by step),大模型在复杂推理任务上的准确率大幅提升,有时可以从30%跳升至80%以上。
就是这么一句话的差距。
用户:
一个农场有鸡和兔子共35只,脚共94条。鸡有几只?
AI(直接回答):
鸡有18只。
(正确答案是23只,AI出错了)
用户:
一个农场有鸡和兔子共35只,脚共94条。鸡有几只?一步步思考。
AI(思维链):
设鸡有 x 只,则兔子有 (35-x) 只。
鸡有2条腿,兔子有4条腿。
建立方程:2x + 4(35-x) = 94
展开:2x + 140 - 4x = 94
化简:-2x = -46,所以 x = 23
鸡有23只,兔子有12只。
✅ 通过逐步推导,AI得出正确答案
2为什么思维链能提升准确率?
这不只是"让AI慢点答题"这么简单,背后有深刻的原因:
原因1:中间步骤成为"脚手架"
对于复杂问题,直接从输入跳到输出,模型要"一步跨越"太大的推理距离,容易失误。把中间推导步骤写出来后,每一步都成为下一步的输入——模型在生成"第3步"时,已经有了"第1、2步"作为上下文依据,误差不容易累积。
原因2:分解降低每步难度
大问题被拆解为一系列小问题,每个小步骤对模型来说都是"简单任务"。就像人类解多步数学题,不会一眼看出答案,但一步步列式子就容易多了。CoT让模型也能做到这一点。
原因3:推理过程可被"自我检查"
当模型写出中间步骤时,这些步骤也会进入上下文窗口,成为后续token的生成依据。如果某个中间步骤明显矛盾,模型在生成下一步时有机会"注意到"并修正——这是一种隐式的自我纠错机制。
📊 数据佐证
谷歌原论文中,在 GSM8K(小学数学题)数据集上:
标准Prompt
~18%
准确率
CoT Prompt
~57%
准确率
仅仅加入"Let's think step by step",准确率提升超过3倍。
3CoT 的两种形态
🪄 Zero-shot CoT
不提供任何示例,直接在问题后加一句魔法提示词:
[你的问题]
一步步思考。
英文版:"Let's think step by step."
✅ 简单方便,对日常使用绰绰有余
⚠️ 对极复杂问题效果不如Few-shot
📚 Few-shot CoT
先提供1-3个"带推理步骤的示例",再提出真正的问题:
# 示例:
问:5+3=?
思考:5再数3个→6,7,8
答:8
# 现在回答:
问:[新问题]
思考:
✅ 精确控制推理格式和深度
⚠️ 需要手工构造示例,成本较高
4CoT 适合哪些场景?
数学与计算
多步骤算术、应用题、代数方程。让AI列出每一步运算,而不是直接给结果。
提示词:请一步步列出计算过程
逻辑推理
谁比谁高?谁是凶手?条件推理、三段论……所有需要从前提推导结论的题目。
提示词:先列出已知条件,再逐步推理
代码调试与分析
让AI先分析代码逻辑,找出潜在问题,再给出修复方案——比直接要"给我答案"更可靠。
提示词:先解释代码逻辑,再指出问题
复杂决策与分析
商业决策、方案比较、利弊权衡。让AI先列出各方因素,再综合得出结论,避免草率判断。
提示词:先列出各方面考量,再给出建议
⚠️ CoT 不适合的场景
5CoT 的进阶变体
CoT(2022)— 基础思维链
一条线性推理链:问题 → 步骤1 → 步骤2 → … → 答案。简单有效,奠定基础。
Self-Consistency(2022)— 多路径投票
让AI独立生成多条推理链(比如5条),然后投票选出出现最多次的答案。就像让5个学生各自解题,取多数人认同的答案,大幅提升稳健性。
Tree of Thought(2023)— 思维树
把线性推理链扩展成树状结构。每一步都可以"分叉"探索多个可能方向,并对每条路径的前景打分,剪掉不可行的分支。适合需要规划和搜索的复杂问题。
o1 / 深度思考(2024)— 训练内化的 CoT
OpenAI的o1模型把"慢思考"直接训练进模型:它在给出答案前会在内部进行大量推理(<think>标签内),这个过程用户看不到但消耗更多计算资源。本质上是把CoT从"提示技巧"变成了"模型能力"。DeepSeek R1、Claude 3.7 Sonnet也采用类似思路。
6CoT 的局限与注意事项
⚠️ 局限1:自信地犯错
CoT让AI输出了看起来"有条理"的推理过程,但这不代表推理是正确的。AI可能一本正经地给出错误的中间步骤,最后得出错误答案——而且看起来很有说服力。
→ 重要决策一定要人工验证
⚠️ 局限2:输出变长,成本上升
思维链会生成大量中间文字,一个问题可能变成5倍的输出量。这意味着更高的API调用费用、更慢的响应速度、更多的上下文占用。
→ 简单任务不必使用CoT
⚠️ 局限3:小模型效果差
实验表明,模型参数量低于约100亿时,CoT带来的提升很有限,甚至有时会下降。CoT需要模型有足够的"基础推理能力"才能发挥效果。
→ 选用足够大的模型
⚠️ 局限4:不擅长知识密集型问题
CoT擅长推理,不擅长记忆。"北京奥运会的奖牌榜第三是谁"靠的是知识,不是逻辑推导,这类问题CoT帮助不大。
→ 知识问题配合RAG检索更有效
7CoT 实用 Prompt 模板
"请一步步思考,展示你的推理过程,最后给出答案。"
"列出每一步计算过程,标注用到的公式,最后验算一遍。"
"先解释这段代码的逻辑,找出潜在问题,再给出修复方案。"
"先列出支持和反对的论点各3条,再综合权衡给出建议,说明理由。"
"先整理已知条件,标出每条条件的含义,然后逐步推导,直到得出结论。"
8核心总结
🎓 一句话总结
- ①CoT原理:把推理过程显式写出来,每步的输出作为下一步的输入,降低每步难度
- ②两种形态:Zero-shot(加一句"一步步思考")vs Few-shot(给出带推理示例)
- ③适合场景:数学、逻辑推理、代码分析、复杂决策——凡是需要多步推导的任务
- ④进阶形态:Self-Consistency(多路投票)→ Tree of Thought(树状搜索)→ o1「慢思考」
- ⑤注意事项:CoT不能保证正确,会增加输出长度,小模型效果有限
→阶段完成
🎉 第四阶段「LLM基础」完成!
恭喜!你已经完成了从Token→分词→词表→LLM→预训练→微调→LoRA→上下文窗口→Prompt→CoT的完整LLM基础学习路径,共10篇文章。
接下来是第五阶段:LLM高级技巧,包括Few-shot Learning、In-context Learning、幻觉(Hallucination)、RAG、Agent等更深入的主题。
✏️ 手绘图解 · AI Catch 出品
第 40 篇 / 共 84 篇 · LLM基础阶段完成