上一篇讲了 Chain-of-Thought——通过让模型"写出推理过程"来提升准确率。但你可能会问:能不能让模型自己学会推理,而不是每次都靠我在 Prompt 里写"请逐步推理"?

这正是推理模型(Reasoning Models)要做的事。

2024 年 9 月 OpenAI 发布 o1,2025 年初 DeepSeek 开源了 R1,推理模型成为 LLM 领域最受关注的新方向。这篇文章帮你搞清楚:推理模型到底是什么?和 CoT Prompt 有什么本质区别?什么时候该用推理模型?

推理模型 vs 传统模型


传统模型 vs 推理模型:一个直觉类比

先看一个例子。问模型一道数学题:

一个水池有 A、B 两个进水管。A 管单独注满需要 6 小时,B 管单独注满需要 8 小时。同时打开两管,多久能注满?

传统模型(GPT-4o、Claude Sonnet)的回答方式

(直接输出答案,可能包含一些推理步骤,但本质上是"快思考")

A 管每小时注 1/6,B 管每小时注 1/8。
同时开: 1/6 + 1/8 = 4/24 + 3/24 = 7/24
注满时间: 24/7 ≈ 3.43 小时

推理模型(o1、R1)的回答方式

(先进行一段内部推理过程——"思维链",再给出答案)

让我仔细分析这个问题...
首先,我需要确定每个管子的注水速率。
A 管:单独注满需要 6 小时,所以速率 = 1/6 池/小时
B 管:单独注满需要 8 小时,所以速率 = 1/8 池/小时

当两个管子同时打开时,我需要把速率加起来:
总速率 = 1/6 + 1/8

为了计算这个和,我需要找到公分母。6 和 8 的最小公倍数是 24。
1/6 = 4/24
1/8 = 3/24

所以总速率 = 4/24 + 3/24 = 7/24 池/小时

注满时间 = 1 ÷ (7/24) = 24/7 小时
24 ÷ 7 = 3.428... 小时

等等,让我验证一下:
3.428 小时后,A 管注入了 3.428/6 = 0.571 池
3.428 小时后,B 管注入了 3.428/8 = 0.429 池
总和 = 0.571 + 0.429 = 1.000 池 ✓

答案是 24/7 小时,约 3.43 小时。

注意推理模型的几个特点:推理过程更长、会自我验证(“让我验证一下”)、会纠正自己的错误。这不是你在 Prompt 里要求的——这是模型自己学会的行为


Test-time Compute:“思考更久,答案更好”

推理模型的核心创新是一个叫 test-time compute(测试时计算)的概念。

传统模型的工作方式是:输入 → 一次前向计算 → 输出。不管问题难不难,计算量是一样的。就像考试时不管什么题都花同样的时间。

推理模型的工作方式不同:它会根据问题的难度,动态分配更多的计算量。难题就多"想"一会儿,简单题就快速回答。

具体来说,推理模型在给出最终答案之前,会生成一段内部思维链(internal chain of thought)。这段思维链会消耗额外的 token 和计算时间,但能显著提升复杂问题的准确率。

传统模型:
  输入 tokens → [Transformer 一次计算] → 输出 tokens
  时间: ~1 秒

推理模型:
  输入 tokens → [生成思维链: 500~5000 tokens] → [基于思维链生成最终答案]
  时间: ~5~30 秒

类比:传统模型是"脱口而出",推理模型是"想清楚再说"。


和 CoT Prompt 的本质区别

这是最容易混淆的点。上一篇讲的 CoT Prompt 和推理模型的"思维链"看起来很像——都是让模型展示推理过程。但本质完全不同:

CoT Prompt推理模型
推理能力来源靠 Prompt 临时"诱导"训练阶段就内化了
训练方式标准预训练 + SFT额外加了强化学习(RL)
推理质量取决于 Prompt 写得好不好模型自主选择推理策略
自我纠错基本不会会主动发现并纠正错误
适用模型任何 LLM 都能用只有专门的推理模型

打个比方:CoT Prompt 像是在考试时提醒自己"我要一步步想",但你的数学能力还是原来的水平。推理模型像是经过了大量刻意练习的数学高手,遇到难题自然会展开详细推理。

推理模型是怎么训练出来的?

以 DeepSeek-R1 为例,训练过程大致分三步:

  1. 预训练:和普通 LLM 一样,在海量文本上训练
  2. 冷启动 SFT:用少量高质量推理数据做监督微调,让模型学会"推理格式"
  3. 强化学习(RL):这是关键一步——给模型大量数学/逻辑题,如果推理过程正确且答案正确就给正奖励,如果推理过程错误或答案错误就给负奖励。模型通过 RL 学会了什么样的推理策略最有效

经过 RL 训练后,模型自发涌现出了一些行为:自我反思(“等等,这个假设不对”)、回溯验证(“让我检查一下”)、分情况讨论(“如果 A 成立…如果 B 成立…")。这些都不是人为写在训练数据里的,是 RL 过程中自然演化出来的。


主流推理模型一览

模型厂商开源特点
o1OpenAI首个商业推理模型,隐藏思维链
o3 / o3-miniOpenAIo1 升级版,支持可调推理深度
o4-miniOpenAI更轻量,擅长工具调用
DeepSeek-R1DeepSeek开源推理模型,思维链可见
QwQ阿里开源,对标 R1
Claude Sonnet 4 (extended thinking)Anthropic可配置推理预算

思维链可见 vs 不可见

o1 系列模型的思维链是隐藏的——你只能看到最终答案和一个摘要。而 DeepSeek-R1 的思维链是完全可见的,你可以看到它完整的推理过程。

对 Agent 开发来说,可见的思维链更有价值——你可以利用推理过程来做决策验证、调试错误。


什么时候用推理模型,什么时候用普通模型?

不是所有场景都需要推理模型。推理模型更慢、更贵,用错了反而浪费资源。

适合推理模型的场景

  • 数学题、逻辑推理、定理证明
  • 复杂代码生成和调试
  • 需要高准确率的决策(医疗、法律等领域)
  • Agent 中的"规划"环节——把复杂任务拆解成子任务

不需要推理模型的场景

  • 简单翻译、摘要、格式转换
  • 快速对话、闲聊
  • 需要低延迟的实时应用
  • Agent 中的"执行"环节——执行已规划好的简单步骤

实际建议:在 Agent 系统中,常见的做法是用推理模型做规划,用普通模型做执行。这样既保证了决策质量,又控制了成本和延迟。


推理模型对 Prompt Engineering 的影响

一个反直觉的事实:推理模型不太需要复杂的 Prompt Engineering

传统模型需要 Few-shot、CoT 这些技巧来引导推理,但推理模型已经内化了这些能力。对于推理模型:

  • 不需要写 “Let’s think step by step”——它自己就会
  • 不需要给 Few-shot 示例来教推理格式——它已经会了
  • 应该做的:把问题描述清楚,给足上下文,然后让模型自己推理
❌ 对推理模型过度 Prompt:
"请用 Chain-of-Thought 方法,一步一步分析以下问题。
首先列出已知条件,然后建立方程,最后验证答案..."

✅ 对推理模型的正确用法:
"一个水池有 A、B 两个进水管..."(直接描述问题就够了)

下一步

现在我们掌握了 LLM 基础(第 1 篇)、Prompt Engineering(第 2 篇)、推理模型的概念(本篇)。下一篇文章是实战篇——我们会跟着 Prompt Engineering Guide 动手练习,把这三篇的理论串起来,为进入第二阶段的 Agent 开发做准备。


推荐资源