第 40 篇 · LLM基础

Chain of Thought:让AI一步步思考

提升AI推理能力的核心技术

📝 先来做一道题:

小明有15块糖,他给了小红6块,又从小张那里拿到了4块。小明现在有几块糖?

早期的大模型直接回答:13块

如果让它一步步想:15 - 6 = 9,9 + 4 = 13……等等,还是13。这题其实就是13。但重点是:同样的问题,逐步推理的AI正确率远高于直接回答的AI——对于更复杂的题目,这个差距会大到惊人。

这就是 Chain of Thought(思维链,CoT) 背后的洞察。

什么是思维链?

1
Chain of Thought 是什么?

2022年,谷歌研究院的一篇论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》在AI圈引起轰动。核心发现极其简单:

核心洞察

在Prompt里加入"让我们一步步来思考"(Let's think step by step),大模型在复杂推理任务上的准确率大幅提升,有时可以从30%跳升至80%以上。

就是这么一句话的差距。

直接回答 vs 思维链:一道推理题的差距
❌ 直接回答模式

用户:

一个农场有鸡和兔子共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得出正确答案

为什么CoT有效?

2
为什么思维链能提升准确率?

这不只是"让AI慢点答题"这么简单,背后有深刻的原因:

CoT 为什么有效:三个原因
🔗

原因1:中间步骤成为"脚手架"

对于复杂问题,直接从输入跳到输出,模型要"一步跨越"太大的推理距离,容易失误。把中间推导步骤写出来后,每一步都成为下一步的输入——模型在生成"第3步"时,已经有了"第1、2步"作为上下文依据,误差不容易累积。

📐

原因2:分解降低每步难度

大问题被拆解为一系列小问题,每个小步骤对模型来说都是"简单任务"。就像人类解多步数学题,不会一眼看出答案,但一步步列式子就容易多了。CoT让模型也能做到这一点。

🔍

原因3:推理过程可被"自我检查"

当模型写出中间步骤时,这些步骤也会进入上下文窗口,成为后续token的生成依据。如果某个中间步骤明显矛盾,模型在生成下一步时有机会"注意到"并修正——这是一种隐式的自我纠错机制。

📊 数据佐证

谷歌原论文中,在 GSM8K(小学数学题)数据集上:

标准Prompt

~18%

准确率

CoT Prompt

~57%

准确率

仅仅加入"Let's think step by step",准确率提升超过3倍。

CoT 的两种形态

3
CoT 的两种形态

Zero-shot CoT vs Few-shot CoT

🪄 Zero-shot CoT

不提供任何示例,直接在问题后加一句魔法提示词:

[你的问题]

一步步思考。

英文版:"Let's think step by step."

✅ 简单方便,对日常使用绰绰有余
⚠️ 对极复杂问题效果不如Few-shot

📚 Few-shot CoT

先提供1-3个"带推理步骤的示例",再提出真正的问题:

# 示例:

问:5+3=?

思考:5再数3个→6,7,8

答:8

# 现在回答:

问:[新问题]

思考:

✅ 精确控制推理格式和深度
⚠️ 需要手工构造示例,成本较高

CoT 适合哪些场景?

4
CoT 适合哪些场景?

数学🔢

数学与计算

多步骤算术、应用题、代数方程。让AI列出每一步运算,而不是直接给结果。

提示词:请一步步列出计算过程

逻辑🧩

逻辑推理

谁比谁高?谁是凶手?条件推理、三段论……所有需要从前提推导结论的题目。

提示词:先列出已知条件,再逐步推理

代码💻

代码调试与分析

让AI先分析代码逻辑,找出潜在问题,再给出修复方案——比直接要"给我答案"更可靠。

提示词:先解释代码逻辑,再指出问题

决策⚖️

复杂决策与分析

商业决策、方案比较、利弊权衡。让AI先列出各方因素,再综合得出结论,避免草率判断。

提示词:先列出各方面考量,再给出建议

⚠️ CoT 不适合的场景

简单事实查询:"法国首都是哪里?" 不需要推理链
创意写作:写诗、写故事,推理链反而会束缚发挥
需要快速响应:CoT会增加输出长度,延迟更大、成本更高
小模型:参数量太小的模型从CoT中获益不明显
CoT 的进阶变体

5
CoT 的进阶变体

从 CoT 出发的推理技术演化
🌱

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也采用类似思路。

CoT 的局限与风险

6
CoT 的局限与注意事项

⚠️ 局限1:自信地犯错

CoT让AI输出了看起来"有条理"的推理过程,但这不代表推理是正确的。AI可能一本正经地给出错误的中间步骤,最后得出错误答案——而且看起来很有说服力。

→ 重要决策一定要人工验证

⚠️ 局限2:输出变长,成本上升

思维链会生成大量中间文字,一个问题可能变成5倍的输出量。这意味着更高的API调用费用、更慢的响应速度、更多的上下文占用。

→ 简单任务不必使用CoT

⚠️ 局限3:小模型效果差

实验表明,模型参数量低于约100亿时,CoT带来的提升很有限,甚至有时会下降。CoT需要模型有足够的"基础推理能力"才能发挥效果。

→ 选用足够大的模型

⚠️ 局限4:不擅长知识密集型问题

CoT擅长推理,不擅长记忆。"北京奥运会的奖牌榜第三是谁"靠的是知识,不是逻辑推导,这类问题CoT帮助不大。

→ 知识问题配合RAG检索更有效

实际使用手册

7
CoT 实用 Prompt 模板

直接可用的 CoT 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等更深入的主题。

上一篇:Prompt
第四阶段 · 完结

✏️ 手绘图解 · AI Catch 出品

第 40 篇 / 共 84 篇 · LLM基础阶段完成