Chapter 01

推理模型的诞生:慢思考 vs 快思考

2024 年 9 月,OpenAI o1 的发布重新定义了 AI 能力的边界。理解它背后的思想,是掌握推理模型开发的第一步。

Kahneman 的双系统理论

诺贝尔经济学奖得主 Daniel Kahneman 在《思考,快与慢》中提出人类认知的两种模式,这个框架意外地成为理解推理模型最好的类比。System 1 和 System 2 并非比喻,而是神经科学上可以被实验验证的两套认知回路。

System 1(快思考)

  • 自动、直觉、无意识运行
  • 速度极快,几乎不消耗认知资源
  • 擅长模式识别(看到猫就知道是猫)
  • 容易出现认知偏差(启发式错误)
  • 类比:普通 LLM 的单次前向传播推理
  • 适合:简单问答、文本生成、翻译

System 2(慢思考)

  • 分析、理性、有意识运作
  • 速度慢,需要大量认知资源
  • 擅长逻辑推导、多步骤问题分解
  • 可以纠正 System 1 的错误,回溯重试
  • 类比:o1 / DeepSeek-R1 的显式推理过程
  • 适合:数学竞赛、代码调试、科学推导

普通 LLM(GPT-4、Claude 3.5 Sonnet)本质上是 System 1:它们在毫秒级内生成 token,依靠训练数据中习得的"直觉"。对于"法国首都在哪"这样的问题,System 1 绰绰有余。

但面对需要多步推导的问题(数学竞赛、复杂代码审查、多跳逻辑推理),System 1 会犯直觉性错误。推理模型通过让模型在回答之前"想一想",强制引入了 System 2 机制——在输出最终答案前,允许(甚至强制)模型生成大量中间推理步骤。

关键名词解释

推理模型(Reasoning Model)
在生成最终答案前,会产生大量显式中间推理步骤(推理 Token)的语言模型。这些中间步骤可以被视为模型的"草稿纸",允许模型在输出最终结论前反复思考、验证、修正。代表:OpenAI o1/o3、DeepSeek-R1、Claude 3.7 Sonnet(扩展思考模式)、QwQ-32B。
推理 Token(Reasoning Token / Thinking Token)
推理模型在生成最终答案前产生的中间 token 序列。这些 token 构成了完整的"思维链",但通常对用户不可见(o1 隐藏思维链,Claude Extended Thinking 可以选择暴露)。推理 Token 按照标准输出 token 计费,成本较高。
Test-Time Compute(测试时计算扩展)
推理模型的核心范式:通过在推理阶段(而非训练阶段)投入更多算力来提升答案质量。与训练时 Scaling(增加参数、数据)不同,Test-Time Compute 可以动态调节——难题多思考,简单问题少思考。这是推理模型最重要的工程特性之一。
Chain-of-Thought(思维链,CoT)
让模型在输出答案前展示推理步骤的技术。可以通过提示工程诱导(Zero-shot CoT、Few-shot CoT),也可以通过训练内化(推理模型的做法)。CoT 的核心价值:将一个超出模型能力的大问题分解为若干在模型能力范围内的小步骤。
Aha-Moment(顿悟时刻)
DeepSeek-R1 论文中描述的训练现象:在强化学习训练中途,模型自发涌现出反思和自我纠正行为,开始使用"Wait, let me reconsider..."类语言——这不是人工编程的,而是完全自发涌现的。标志着 RL 可以让推理能力从零涌现。

推理模型的关键创新:思考与答案分离

传统 LLM 的输出结构是"单次前向传播":

用户输入 → [Transformer 前向传播] → 输出 token 序列(答案) (每个 token 只经历一次前向传播,无回溯)

这个架构的根本局限是:模型在生成第 N 个 token 时,无法"意识到"第 N+50 个 token 会出错,然后回头纠正。一旦错误路径开始,就会一路错下去。

推理模型的输出结构引入了显式中间步骤:

用户输入 → [模型权重] → <thinking> · 问题分解:把大问题拆成子问题 · 尝试路径 A → 检验 → 发现矛盾 → 放弃 · 尝试路径 B → 检验 → 通过 → 继续 · 边界情况验证 · 结论整合 </thinking> → 最终答案(简洁、准确)
推理 Token 的本质

推理模型在生成最终答案前会产生大量"推理 Token"。这些 token 是模型的"草稿纸",用于逐步推导而非直接输出。关键机制:每一个推理 token 都会成为下一个 token 的上下文——这让模型有机会在输出错误答案前纠正自己,相当于给模型提供了无限的"回溯重试"空间。

o1 发布的冲击:数字说话

2024 年 9 月 OpenAI o1 发布时,几个关键数据令业界震惊,展示了 Test-Time Compute 的威力:

AIME 2024 数学竞赛
GPT-4o 得分约 12%(pass@1),o1 得分 83%(pass@1)。AIME 是美国数学邀请赛,选手为全美顶尖高中生,人类平均分约 5/15 题。o1 的提升幅度不是量变,是质变——这意味着推理模型真正具备了需要多步数学推导的能力。
Codeforces 编程竞赛
o1 达到 Codeforces 89 百分位(约 Candidate Master 水平),而 GPT-4o 仅 11 百分位。这是质的飞跃——代码竞赛题目要求选手理解题意、设计算法、处理边界情况,是综合推理能力的体现。
博士级科学问题(GPQA Diamond)
o1 得分 78%,超过了顶尖人类专家(74%)。GPQA Diamond 包含 448 道需要博士级专业知识的物理、化学、生物题目,由领域专家设计,普通人准确率约 34%。这是 AI 在严谨科学推理上首次超越专家。
SWE-Bench(真实软件工程任务)
在真实 GitHub Issue 的修复任务上,o1 系列显著提升。2025 年的 o3 在 SWE-Bench Verified 上达到 71.7%,推理能力带来的代码工程实力提升有直接的工业价值。

推理模型的两条技术路径

目前训练推理模型主要有两条路径,代表了不同的技术哲学:

路径 A:监督学习 + 强化学习(o1 风格) ───────────────────────────────────────────── 1. 收集高质量 CoT 数据(人工标注 + 模型蒸馏) 2. SFT(监督微调):让模型学会"写推理草稿" 3. RLHF/PPO:人类偏好引导推理质量 4. 结果验证器(Outcome Reward Model):对数学/代码题 只要最终答案正确就给奖励 优点:训练稳定,质量可控 缺点:需要大量高质量推理轨迹标注 路径 B:纯强化学习(DeepSeek-R1 风格) ───────────────────────────────────────────── 1. 从基础预训练模型出发(无需 SFT) 2. GRPO 算法:对同一题目采样多个答案 以最终答案的正确性为唯一奖励信号 3. 模型自发"涌现"出推理行为(Aha-Moment) 4. 无需人工标注中间推理步骤 优点:无需昂贵标注,推理行为更自然 缺点:初期训练不稳定,需要冷启动辅助
DeepSeek-R1 的 Aha-Moment

DeepSeek 团队在论文中描述了一个令人惊叹的现象:模型在训练中途突然"学会"在答题前花更多时间思考,并开始使用"Wait, let me reconsider..."这样的自我纠正语言——这是完全自发涌现的,没有被显式教导。这证明了推理能力不需要人工设计,可以通过正确的强化学习目标自动涌现。

推理模型 vs 普通 LLM:使用场景对比

场景类型普通 LLM推理模型推荐选择
简单问答、文本生成快速(<1s)、低成本过度杀伤,浪费思考 token普通 LLM
多步数学推导容易出现中途计算错误显著提升,错误率大幅下降推理模型
复杂代码 bug 定位中等,表面分析能追踪多文件依赖、深层逻辑推理模型
创意写作、对话更自然、更有创意过于理性,缺乏情感色彩普通 LLM
科学推导 / 逻辑谜题差,直觉性错误多领先,系统推导推理模型
实时对话(低延迟)响应时间 <2s思考时间长,延迟 5-60s普通 LLM
长文档分析中等在关键推断上更可靠视复杂度选择
规划、决策、策略制定容易遗漏约束条件能系统评估选项和权衡推理模型
常见误区:推理模型不是万能的

推理模型的思考 token 是按普通输出 token 计费的,成本可能是普通 LLM 的 5-50 倍。对于简单问题(闲聊、翻译、摘要),启用推理不仅成本高,有时反而"想太多"导致回答过于复杂。推理模型是针对特定任务类型的专用工具,不是替代普通 LLM 的全能模型。

2024–2026 推理模型发展时间线

2024-09 OpenAI o1-preview / o1-mini 发布 → 推理模型"元年",业界首次看到 System 2 LLM → AIME 83%, GPQA 78%,震惊 AI 社区 2024-12 OpenAI o1 正式版 + o1 pro(面向研究者) → 全面超越 GPT-4o 的推理密集型任务 2025-01 DeepSeek-R1 开源发布 → 证明推理能力可以通过纯 RL 涌现 → 性能对标 o1,训练成本估计不到 1/10 → 引爆开源社区:QwQ、Sky-T1、STILL-2 相继发布 2025-02 Anthropic Claude 3.7 Sonnet + Extended Thinking → 首款暴露思维链给开发者的商业推理模型 → budget_tokens API 允许动态控制思考深度 2025-03 Google Gemini 2.0 Flash Thinking → 推理能力加入低成本模型,普及化趋势 2025-04 OpenAI o3 发布 → ARC-AGI 基准突破(接近人类水平) → SWE-Bench Verified 71.7% 2025-06 Anthropic Claude Sonnet 4 / Claude 4 系列 → 推理能力持续深化,Agent 场景更可靠 2026-Q1 推理模型与 Agent 深度融合成为主流 → Agentic RAG、推理 + 工具调用成为标配

主要推理模型横向对比(2025)

目前市场上的主要推理模型,在能力、成本、可访问性上各有侧重:

OpenAI o1 / o3
o1 是推理模型的"元年产品",思维链完全不透明(用户无法看到推理过程)。o3 在 ARC-AGI 接近人类水平,SWE-Bench Verified 71.7%。通过 API 的 reasoning_effort 参数可调低/中/高三档。缺点:不支持工具调用(截至 2025 初),且成本极高(约为 GPT-4o 的 10-30x)。
Claude 3.7 Sonnet / Claude Sonnet 4(Extended Thinking)
Anthropic 推理模型的特点是透明:通过 API 可以直接访问 thinking block(完整思维链),便于调试和信任建立。通过 budget_tokens 参数精确控制思考深度(1024–100000 token)。支持工具调用 + 思考的组合,是 Agent 场景的最佳推理模型选择之一。
DeepSeek-R1 / DeepSeek-R1-Distill
首个开源推理模型,性能对标 o1。R1 的训练完全依赖强化学习(GRPO),无需人工标注思维链。R1-Distill 系列(1.5B、7B、14B、32B、70B)通过知识蒸馏保留了大部分推理能力,其中 R1-Distill-Qwen-32B 可以在消费级 GPU 上运行。
QwQ-32B(Qwen with Questions)
阿里巴巴 Qwen 团队发布的 32B 开源推理模型,推理能力接近 DeepSeek-R1-70B,但参数量更小。特点:在数学和科学推理上表现突出,思维链详细冗长(有时过于啰嗦),适合离线部署场景。可在 4x A100 GPU 上运行。

推理模型的底层机制:为什么多 Token 能提升精度

理解推理模型的物理直觉:每个 token 生成都是一次神经网络的前向传播。推理 token 实质上是让模型进行了更多的前向传播次数,每次传播的结果(推理步骤)成为下一次传播的输入。

普通 LLM(n 个输出 token = n 次前向传播): 问题 → [FP1] → [FP2] → ... → [FPn] → 答案 每次 FP 的输入是:问题 + 已生成的 token 推理模型(n+m 次前向传播,m 为推理 token 数): 问题 → [FP1~FPm](推理 token,形成推理链) → [FPm+1~FPm+n](答案 token) 关键:第 m 次 FP 已经"看到"了前 m-1 步的推理, 相当于对问题进行了 m 次"深入思考"

这就是为什么更多的推理 token(更大的 budget_tokens)通常带来更好的结果——不是因为"思考时间更长",而是因为模型进行了更多次的前向传播迭代,每次迭代都能基于前一步的推理结果继续推进。

第一个推理模型 API 调用

感受推理模型与普通 LLM 最直观的差异——开启扩展思考后,响应时间更长但答案质量更高:

import anthropic

client = anthropic.Anthropic()

# ── 普通 LLM 调用(快速,约 0.5-2 秒)────────────────────
normal_response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user",
               "content": "证明 sqrt(2) 是无理数"}]
)
print("普通输出:", normal_response.content[0].text[:100])

# ── 推理模型调用(带 Extended Thinking)─────────────────
# thinking: {"type": "enabled", "budget_tokens": N} 启用思考
# budget_tokens 是思考 token 的上限(不是保证值)
# max_tokens 必须大于 budget_tokens
thinking_response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=8000,
    thinking={"type": "enabled", "budget_tokens": 5000},
    messages=[{"role": "user",
               "content": "证明 sqrt(2) 是无理数"}]
)

# 响应包含两种 block:thinking block 和 text block
for block in thinking_response.content:
    if block.type == "thinking":
        print(f"思考过程({len(block.thinking)} 字符)")
    elif block.type == "text":
        print("最终答案:", block.text)
本章小结

推理模型通过在回答前生成大量中间推理 token,实现了 System 2 慢思考。这一机制在数学、代码、逻辑推理等需要多步推导的任务上带来质的飞跃。o1 的发布(2024 年 9 月)和 DeepSeek-R1 的开源(2025 年 1 月)共同开启了推理模型时代。Test-Time Compute 是这个时代的核心范式:通过在推理阶段投入更多算力来提升质量,而不仅仅依赖更大的模型参数。下一章进入 Chain-of-Thought 工程实践。