为什么 GPT-3 解不了小学数学题,加一句"让我们一步步想"就突然开窍了?——CoT Prompting 把"推理"从训练阶段搬到 prompt 阶段

  • 关联论文:2201.11903

你有没有遇到过这种时刻 🤔:

你问 GPT-3(2020)一道小学数学题—— "小明有 12 个苹果,给小红一半后又买了 3 个,现在有几个?" 它直接答:"12"(错了) 你在 prompt 里加一句"让我们一步步想"—— 它忽然写出: "原来 12 个,给一半剩 6 个,又买 3 个 = 9 个"

这是 2022 年 Google 的一篇论文里的实验——arXiv 2201.11903,Chain-of-Thought(CoT)Prompting

核心结论极其反直觉:

只要在 few-shot prompt 里给模型展示"一步步推理"的样例,就能在不更新任何参数的情况下,让 540B PaLM 在 GSM8K 数学题上拿到 56.9% 准确率——超过经过 fine-tuned 的 GPT-3 + verifier(约 35%)。

这件事一旦成立,"prompt 工程"就从经验技巧升级为科学方法—— 后续所有 ChatGPT、Claude、Gemini 的"会思考"展示,都站在 CoT 的肩膀上。


为什么这事值得每个用过 ChatGPT 的人回头看一眼

今天你觉得"AI 能做推理"是理所当然的。但 2022 年初,这件事远不是理所当然:

  1. GPT-3 在算术题上正确率只有 15-20%——175B 参数的大模型,GSM8K 小学数学题考不过小学生
  2. 当时的主流解法是 fine-tune + verifier——在大量推理数据上做监督微调,再训一个 verifier 重排序——数据标注昂贵,新任务一来又得重训
  3. prompt engineering 完全是经验技巧——prompt 写得好 vs 写得差,效果天差地别,但没有任何科学方法
  4. "模型规模即能力"是默认假设——更大 = 更强,CoT 第一次用实验打破了这个假设:不动参数也能让能力跳一档

CoT 想回答一个朴素的问题:

"能否完全不动模型参数,只在 prompt 里给几个'思考过程'的示例,就让模型学会'一步步想'?"

答案是:能,而且效果惊人——540B PaLM 在 GSM8K 上从 17% 跳到 56.9%,涨了 40 个点


一句话核心

Chain-of-Thought(CoT)Prompting 证明:只要在 few-shot prompt 里给大模型展示"一步步推理"的样例,就能在不更新任何参数的情况下,让 540B PaLM 在 GSM8K 数学题上达到 56.9% 准确率,超过 fine-tuned GPT-3 + verifier——这把"推理"从"训练阶段"前移到"推理阶段",开启了 prompting science 的研究范式。


三个洞察

洞察 1:CoT 是一个「涌现」现象——模型不够大就完全不起作用

CoT 最反直觉的地方:它只在足够大的模型上才有效

论文同时跑了三个模型家族:LaMDA 137B、GPT-3 175B、PaLM 540B。关键发现:

模型规模 Standard Few-shot CoT Few-shot 提升
LaMDA 8B ~5% ~3% 负向
LaMDA 137B ~12% ~36% +24 pts
GPT-3 175B ~15% ~46% +31 pts
PaLM 540B ~17% 56.9% +40 pts

这是"涌现能力"(emergent abilities)的第一个清晰实证—— 小模型上 CoT 经常反向掉分,因为它们不会"认真"做中间推理,反而被噪声带偏; 大模型能"学会"链式格式并内化它,把推理当成新的能力涌现出来。

⚠️ 生产含义:CoT 不是"加一行 prompt 就有用"——必须先看模型规模。 - < 7B:大概率反向掉分,禁用 CoT - 7B-30B:有限提升,需精选 exemplars,A/B test 决定是否启用 - 30B-70B:稳定提升,推荐开启 - > 70B:最佳效果,必开 CoT

经验值:Qwen-2.5-72B-Instruct 开 CoT 后 GSM8K 从 ~58% → ~72%,加 Self-Consistency N=8 可到 ~78%。

洞察 2:CoT 的伪代码极其简单,但工程含义极深

CoT 的 exemplar 长这样:

Q: Roger 有 5 个网球,他又买了 2 罐网球,每罐 3 个。他现在有几个?
A: Roger 原本有 5 个球。2 罐每罐 3 个共 6 个。5 + 6 = 11。答案是 11。

Q: 一间教室有 23 个学生,其中一半是女生。女生又分为 3 个小组,每组多少人?
A: 23 / 2 ≈ 11.5,向下取整 11。11 / 3 ≈ 3.67。答案是 3。

注意第二个 exemplar 的格式是「原问题 → 思考步骤 → 答案」,每行一个子步骤。

伪代码:

def cot_answer(model, question, fewshot_exemplars):
    prompt = ""
    for ex in fewshot_exemplars:
        prompt += f"Q: {ex.q}\nA: {ex.cot}\n  Answer: {ex.answer}\n\n"
    prompt += f"Q: {question}\nA: "
    response = model.generate(prompt, max_tokens=300, temperature=0)
    final_answer = extract_after_marker(response, "Answer:")
    return final_answer

CoT 的机制可拆成三层:

  1. 将推理过程显式化——在 exemplars 里不是直接给"答案 = X",而是给"步骤 1 → 步骤 2 → ... → 答案"的展开链
  2. 分解多步问题——把复杂问题拆成多个子问题,每个子问题由模型自动生成中间答案
  3. 扩展推理计算量——模型在生成最终答案前先生成 K 个 token 的中间推理,算力预算被推前到推理阶段,而非训练阶段

这就是为什么 CoT 比 fine-tune 便宜得多——不用训任何参数,只在 prompt 里加几行 exemplar

洞察 3:CoT + Self-Consistency 是真正"性价比组合"

论文里还做了一个实验:同一道题采样 40 个独立 CoT 推理链,然后 majority vote 答案

PaLM 540B + CoT(单条推理链):GSM8K = 56.9%
PaLM 540B + CoT + Self-Consistency(N=40):GSM8K = 74.4%  ← 涨 17 个点!

为什么 Self-Consistency 这么管用?——CoT 给出的推理链多样性比"对答案"本身更有价值—— 同一个问题走多条推理路径,再聚合答案,比单条最优推理还准。

经验生产配置: - N = 5-8:性价比较好,准确率提升 5-10 个点 - N = 20-40:论文实验级,提升最大但成本也最大 - 温度 temperature = 0.7-0.9:SC 需要 sampling,不能 greedy

成本测算(以 GPT-3.5-turbo / Claude-3-haiku 推理中等难度数学题): - Standard:约 150-200 output tokens,cost = $0.0001-0.0003 - CoT:约 400-800 output tokens,cost = $0.0004-0.001 - CoT + Self-Consistency(N=5):约 2000-4000 output tokens,cost = $0.002-0.005

每天 10 万道数学题:Standard ~$10-30 vs CoT+SC ~$200-500——差距 10 倍。生产决策需权衡准确率提升价值 vs 成本增加。


它给后续 5 年铺了什么路

读 CoT 不能只看"它做了什么",要看它打开了什么门:

1. Prompting Science 成为独立研究范式

CoT 之前,"prompt 写得好"是经验;CoT 之后,prompting 是可系统化研究的科学——后续 Self-Consistency、Zero-shot CoT、ReAct、Tree of Thoughts、Self-Refine、Reflexion、DSPy 全部建立在 CoT 提供的"先把推理过程显式化"这个前提上。

2. "Emergent Abilities"叙事的核心实证

CoT 是 emergent abilities 的教科书案例——Wei 等人后续的"Emergent Abilities of Large Language Models"(arXiv 2206.07682)正是基于此。2023 年 Schaeffer 等人提出"emergent is artifact of discontinuous metrics"——这个争议本身也是 CoT 引发的学术讨论。

3. "推理"从训练阶段搬到推理阶段

CoT 之前,改进模型推理能力 = 重新训练;CoT 之后,改进模型推理能力 = 改 prompt 或加工具——这把 LLM 应用的迭代速度从"周/月"压到"小时/天",直接催生了 LangChain、DSPy 等"prompt 编排框架"。

4. Self-Consistency 成为"推理 + 验证"范式起点

CoT + Self-Consistency 是"模型自己多次验证自己"的雏形——后续 ToT(树搜索)、Self-Refine(自检)、Reflexion(反思)、Verifier-based RL(用 verifier 给奖励)全部建立在"先给出推理路径,再聚合/校验"这个范式上。

5. 与 InstructGPT 形成 ChatGPT 出现的"双引擎"

CoT 与 InstructGPT(arXiv 2203.02155)几乎是同一时间出现的两篇 paper: - CoT 解决:模型能不能"思维" - InstructGPT 解决:模型是否"听话"

两者的协同效应在 2023 年的 ChatGPT 中得到完整展示——RLHF 对齐的模型配合 CoT prompting,即可达到接近大模型加 CoT 的品质。理解这两篇 paper 的关系,是理解 ChatGPT 出现前夜的"双引擎"。


工程落地清单(如果你今天做 LLM 推理 prompting,这是必经路径)

✅ Step 1:模型规模评估(>30B 推荐开 CoT,<30B 谨慎)
✅ Step 2:Exemplars 库建设(覆盖典型错误类型 + 边界 case)
✅ Step 3:CoT 单链推理(temperature=0 或 0.3)
✅ Step 4:Self-Consistency 聚合(N=5-8, temperature=0.7-0.9)
✅ Step 5:符号验证(数值题接 sympy / calculator, 非数值题一致性检查)
✅ Step 6:流式输出策略(后台完整推理,前端选择性显示)
✅ Step 7:超时保护(max_tokens=500-800,分阶段 timeout)
✅ Step 8:评测双轨(答案准确率 + 推理链有效率,人工抽检)

⚠️ 6 个常见落地坑:

  • 🔴 小模型开 CoT 反向掉分——7B 模型加 CoT 经常比不加还差,必须先做 A/B test
  • 🟠 推理成本 5-10 倍放大——CoT 让 token 量从 ~200 涨到 ~800,SC 再涨 5 倍,日均成本可能从 $30 涨到 $500
  • 🟠 Exemplars 质量决定上限——garbage in, garbage out,投资 1-2 天建领域 exemplars 库比换模型更划算
  • 🟡 Fluent Nonsense——推理链"看起来合理"但答案错,必须接符号验证或一致性检查
  • 🟡 延迟方差极大——简单题 50 token,难题 500+ token,需要 max_tokens 上限 + 流式截断
  • 🟡 推理链暴露 prompt 策略——流式输出时用户能看到 reasoning,可能暴露 exemplars 或敏感信息

2026 年 CoT 生产最佳实践架构

用户问题
  ↓
[规模评估]  模型 ≥ 30B? → 否 → 标准 prompting → 跳转答案
  ↓ 是
[Exemplars 检索]  在领域库里找 Top-3 最相似 exemplars(embedding similarity)
  ↓
[CoT 推理]  N=1 推理链(temperature=0 或 0.3)
  ↓
[Self-Consistency]  N=5-8 采样推理链,majority vote → 聚合答案
  ↓
[可选验证]  数值题走符号计算器核对;非数值题走一致性检查
  ↓
[答案 + 推理链]  返回给用户(推理链可选择是否显示)

工具链推荐(2026): - 推理引擎:vLLM / SGLang(自托管 GPU 推理,支持 CoT 流式) - Exemplars 检索:ChromaDB / FAISS(embedding similarity 检索) - API 封装:LangChain LCEL(CoT + Tool calling),但生产级需定制 - 评测:同时追踪 answer accuracy + reasoning step validity,不要只追答案对错

关键实验数据(按任务分)

任务 模型 Standard Few-shot CoT Few-shot 提升
GSM8K(算术) PaLM 540B ~17% 56.9% +40 pts
GSM8K(算术) GPT-3 175B ~15% ~46% +31 pts
SVAMP(算术) PaLM 540B ~50% ~78% +28 pts
AQuA(算术) PaLM 540B ~25% ~36% +11 pts
CSQA(常识) PaLM 540B ~79% ~80% +1 pt(小)
StrategyQA(常识) PaLM 540B ~66% ~77% +11 pts
Last Letter(符号) PaLM 540B ~5% ~96% +91 pts
Coin Flip(符号) PaLM 540B ~50% ~99% +49 pts

数字精度说明:原论文 Table 1-4 给出具体数值,以上数值是按该表还原的近似值;个别 cell 原文标注为一次性结果,不带误差棒。

CoT 后续演进(2022→2026)

Wei et al. 2022(CoT,few-shot,emergent)
    ↓
Self-Consistency 2022(sample-and-vote,+17pts GSM8K)
    ↓
Zero-shot CoT 2023("Let's think step by step")
    ↓
ReAct 2022 / Toolformer 2023(CoT + 工具调用)
    ↓
Tree of Thoughts 2023(线性链 → 树搜索)
    ↓
DSPy 2023-2024(自动化 prompt 编译,CoT 作为子模块)
    ↓
2025-2026(CoT + SC + 工具调用三合一 + 自动化 exemplars 生成)

实际工程选型(2026):新项目直接用 DSPy 框架编排 CoT + Tool calling;历史项目可在 DSPy 框架中导入原 CoT prompting 逻辑做渐进迁移。


总结

CoT 的核心贡献不在某个新算法——而在三件事:

  1. 证明了"不动参数也能让能力跳一档"——PaLM 540B 上 CoT 比 fine-tuned GPT-3 + verifier 还准,这是 prompting 路线的奠基性实证
  2. 给出了「在 prompt 里写推理步骤」这一极简范式——所有 ReAct / ToT / Self-Refine / Reflexion / DSPy 都建立在 CoT 的"先显式化推理过程"前提上
  3. 把"推理"从训练阶段搬到推理阶段——这把 LLM 应用迭代速度从"周/月"压到"小时/天",直接催生了 LangChain / DSPy 等 prompt 编排框架

读懂 CoT,就读懂了 ChatGPT 为什么"会思考"、为什么加一句"让我们一步步想"就能让模型开窍、为什么 prompt engineering 是科学而不是玄学、为什么 Self-Consistency 能再涨 17 个点、为什么 CoT 是 emergent abilities 的教科书案例

这不是一篇过时的"prompt 技巧"——这是所有现代 LLM 推理应用的工程起点


三个标题变体

  1. 为什么 GPT-3 解不了小学数学题,加一句"让我们一步步想"就突然开窍了?——CoT Prompting 把"推理"从训练阶段搬到 prompt 阶段
  2. 不动一行参数,540B 模型在 GSM8K 从 17% 跳到 57%——CoT 是 prompting science 的奠基工作
  3. "Let's think step by step" 这一句话,怎么就值 20k 被引?——CoT Prompting 把 LLM 推理从玄学变成科学

小红书风格卡片文案(可直接发布)

🧠 为什么 GPT-3 解不了小学数学题,加一句"让我们一步步想"就突然开窍了? 🧠

你有没有遇到过这种时刻 🤔:

你问 GPT-3(2020)一道小学数学题 — "小明有 12 个苹果,给小红一半后又买了 3 个,现在有几个?" 它直接答:"12"(错了) ❌ 你在 prompt 里加一句"让我们一步步想" — 它忽然写出: "原来 12 个,给一半剩 6 个,又买 3 个 = 9 个"

这是 2022 年 Google 的一篇论文里的实验 — arXiv 2201.11903,Chain-of-Thought(CoT)Prompting 🎯

核心结论极其反直觉:

只要在 few-shot prompt 里给模型展示"一步步推理"的样例, 就能在不更新任何参数的情况下, 让 540B PaLM 在 GSM8K 数学题上拿到 56.9% 准确率 — 超过经过 fine-tuned 的 GPT-3 + verifier(约 35%) 🚀

这件事一旦成立,"prompt 工程"就从经验技巧升级为科学方法 — 后续所有 ChatGPT、Claude、Gemini 的"会思考"展示,都站在 CoT 的肩膀上 🌍

🔥 核心数字:

  • 20,789+ 被引 —— LLM reasoning prompting 方向历史最高 🏆
  • GSM8K:17% → 56.9% —— PaLM 540B 上 CoT 涨 40 个点 📈
  • 超过 fine-tuned GPT-3 + verifier(约 35%) —— 不动一行参数反超 💥
  • CoT + Self-Consistency(N=40):74.4% —— 同一道题采样 40 条推理链 majority vote,再涨 17 个点 🎲
  • Last Letter 任务:5% → 96% —— 拼名字首字母任务涨 91 个点 📚

📊 CoT 是「涌现」现象 —— 模型不够大就完全不起作用:

模型规模 Standard Few-shot CoT Few-shot 提升
LaMDA 8B ~5% ~3% 负向
LaMDA 137B ~12% ~36% +24 pts
GPT-3 175B ~15% ~46% +31 pts
PaLM 540B ~17% 56.9% +40 pts

🪜 CoT 的伪代码极其简单:

def cot_answer(model, question, fewshot_exemplars):
    prompt = ""
    for ex in fewshot_exemplars:
        prompt += f"Q: {ex.q}\nA: {ex.cot}\n  Answer: {ex.answer}\n\n"
    prompt += f"Q: {question}\nA: "
    response = model.generate(prompt, max_tokens=300, temperature=0)
    final_answer = extract_after_marker(response, "Answer:")
    return final_answer

Exemplar 长这样:

Q: Roger 有 5 个网球,他又买了 2 罐网球,每罐 3 个。他现在有几个?
A: Roger 原本有 5 个球。2 罐每罐 3 个共 6 个。5 + 6 = 11。答案是 11。

Q: 一间教室有 23 个学生,其中一半是女生。女生又分为 3 个小组,每组多少人?
A: 23 / 2 ≈ 11.5,向下取整 11。11 / 3 ≈ 3.67。答案是 3。

💥 CoT 的机制可拆成三层:

1️⃣ 将推理过程显式化 —— 在 exemplars 里不是直接给"答案 = X",而是给"步骤 1 → 步骤 2 → ... → 答案"的展开链 📝 2️⃣ 分解多步问题 —— 把复杂问题拆成多个子问题,每个子问题由模型自动生成中间答案 🔀 3️⃣ 扩展推理计算量 —— 模型在生成最终答案前先生成 K 个 token 的中间推理,算力预算被推前到推理阶段

🛡️ 为什么 Self-Consistency 这么管用?

CoT 给出的推理链多样性比"对答案"本身更有价值同一个问题走多条推理路径,再聚合答案,比单条最优推理还准 🎯

⚠️ 必须看清的边界:

  • 🔴 小模型开 CoT 反向掉分 —— 7B 模型加 CoT 经常比不加还差,必须先做 A/B test 📉
  • 🟠 推理成本 5-10 倍放大 —— CoT 让 token 量从 ~200 涨到 ~800,SC 再涨 5 倍,日均成本从 $30 涨到 $500 💸
  • 🟠 Exemplars 质量决定上限 —— garbage in, garbage out,投资 1-2 天建领域 exemplars 库比换模型更划算 📚
  • 🟡 Fluent Nonsense —— 推理链"看起来合理"但答案错,必须接符号验证或一致性检查 🎭
  • 🟡 延迟方差极大 —— 简单题 50 token,难题 500+ token,需要 max_tokens 上限 + 流式截断 ⏱️
  • 🟡 推理链暴露 prompt 策略 —— 流式输出时用户能看到 reasoning,可能暴露 exemplars 或敏感信息 🔓

🛠️ 今天做 CoT 的工程切片(2026 最佳实践架构):

用户问题
  ↓
[规模评估]  模型 ≥ 30B? → 否 → 标准 prompting → 跳转答案
  ↓ 是
[Exemplars 检索]  在领域库里找 Top-3 最相似 exemplars(embedding similarity)
  ↓
[CoT 推理]  N=1 推理链(temperature=0 或 0.3)
  ↓
[Self-Consistency]  N=5-8 采样推理链,majority vote → 聚合答案
  ↓
[可选验证]  数值题走符号计算器核对;非数值题走一致性检查
  ↓
[答案 + 推理链]  返回给用户(推理链可选择是否显示)

🌱 它给后续 5 年铺了什么路:

1️⃣ Prompting Science 成为独立研究范式 —— Self-Consistency / Zero-shot CoT / ReAct / ToT / Self-Refine / Reflexion / DSPy 全部建立在 CoT 前提上 📜 2️⃣ Emergent Abilities 叙事的核心实证 —— "涌现能力"的教科书案例,Wei 等人后续大论文正是基于此 🌟 3️⃣ "推理"从训练阶段搬到推理阶段 —— 把 LLM 应用迭代速度从"周/月"压到"小时/天",催生 LangChain / DSPy 🚀 4️⃣ Self-Consistency 成为"推理 + 验证"范式起点 —— ToT / Self-Refine / Reflexion / Verifier-based RL 全部建立在"先给推理路径,再聚合/校验"上 🎲 5️⃣ 与 InstructGPT 形成 ChatGPT"双引擎" —— CoT 解决"模型能不能思维",InstructGPT 解决"模型是否听话",两者协同催生 ChatGPT 🤖

📎 论文 ID:2201.11903

💬 评论区聊聊:你团队用过 CoT prompting 吗?模型规模是多大?踩过"小模型开 CoT 反向掉分"的坑吗?最后是 N=5 还是 N=20?🤔

AI科普 #CoT #ChainOfThought #Prompting #LLM #大模型 #推理 #GSM8K #SelfConsistency #EmergentAbilities #涌现能力 #PaLM #ChatGPT #Prompt工程 #NLP #论文分享 #技术分享