Skip to content

推理模型深度解析:从 Chain-of-Thought 到 Test-Time Compute,LLM 从"快思考"到"慢思考"的范式革命 ​

同一道数学题,普通模型 3 秒答错,推理模型思考 30 秒后答对。这 30 秒里发生了什么?为什么 RL 训练能让模型"学会思考"?test-time compute 为什么是一条新的缩放定律?这篇文章讲透推理模型的完整技术栈:CoT 的三级演进、o1 与 DeepSeek-R1 的训练革命、思考预算的经济学、以及"什么时候该用什么时候不该用"的工程判断。

发布日期:2026-10-19

范式转变:LLM 学会了"慢思考" ​

先看一组对比。2024 年 AIME 数学竞赛(美国数学邀请赛):

GPT-4o (标准模式):     ~13% 正确率
o1-preview (推理模式):  ~44% 正确率    ← 同一公司的模型,隔代提升
o3 (2025):             ~87% 正确率
顶尖人类选手:            ~90%+

一年之内,LLM 从"数学不及格"冲到了"接近人类顶尖"。这背后的范式转变,用卡尼曼的框架描述最精准:

System 1 (快思考): 输入 → 直接输出答案
  一次前向传播,token 逐个蹦出来
  依赖训练时"记住"的模式
  快、便宜、但对没见过的问题脆弱

System 2 (慢思考): 输入 → 长链推理 → 输出答案
  先生成几百~几千个思考 token,再给答案
  推理过程里可以试错、验证、回溯、自我纠错
  慢、贵、但能解决"训练数据里没有现成答案"的问题

这不是 prompt 技巧,是训练范式的革命。要理解它,得从 CoT 说起。


演进史:CoT 的三级跳 ​

第一级:Prompt CoT(2022)——"让我们一步步思考" ​

Google 的经典论文发现,在提示词里加一句神奇咒语,模型准确率大幅提升:

普通提示: "小明有5个苹果,给了小红2个,又买了3个,现在有几个?"
  → 模型直接输出 "6" (可能错)

CoT 提示: "...请一步一步思考"
  → 模型输出: "小明有5个,给出2个剩3个,3个加3个买的等于6个。答案是6"
  → 正确率显著提升

原理:让模型把中间步骤写出来,每一步的输出成为下一步的上下文——本质是把"心算"变成"打草稿"。Transformer 的每 token 前向是固定深度的计算,写下来的草稿相当于把串行计算展开在 token 空间里,突破了单次前向的计算深度限制。

局限:依赖模型"自发"学会的推理模式,不可控、不稳定,复杂问题还是会错。

第二级:显式 CoT 微调(2023)——监督学习教推理 ​

用人工标注(或模型生成+过滤)的推理路径做 SFT,把"打草稿"变成模型的稳定行为。DeepMind 的 STaR 是代表:模型自己生成推理路径,只有答对的路径才被拿去训练——正确答案反哺推理过程。

局限:天花板受限于"能找到的正确推理路径"——模型不会自己发明更好的推理策略。

第三级:RL 训练推理(2024~)——o1/R1 的革命 ​

真正的突破来自一个问题:如果只奖励"最终答案正确",不指定"怎么想",模型会自己进化出推理能力吗?

OpenAI o1 和 DeepSeek-R1 的答案:会,而且超出所有人预期。


训练革命:RLVR 与自我进化的推理 ​

RLVR:可验证奖励的强化学习 ​

传统 RLHF(对齐人类偏好)用"人类给回答打分"作为奖励——昂贵、主观、难以衡量数学对错。RLVR(RL with Verifiable Rewards)换了奖励函数:

奖励 = 最终答案对不对 (可自动验证的任务)

数学:  答案与标准值比对 ✓/✗
代码:  单元测试跑通 ✓/✗
证明:  证明检查器验证 ✓/✗
格式:  思考在 <think> 标签内, 答案在指定格式 ✓/✗

奖励是二值的、自动的、无争议的。训练循环:

1. 采样: 模型对同一道题生成 N 条完整推理轨迹
2. 验证: 每条轨迹的最终答案自动判对错
3. 强化: 对的轨迹 → 增大概率(整条思考链被奖励)
         错的轨迹 → 减大概率
4. 重复百万级题目

涌现的推理行为——没有人教过 ​

R1 训练过程中最震撼的观察(论文原话叫 "aha moment"):模型自发学会了一系列行为:

自我验证: "等等,让我重新算一下... 之前那步错了"
回溯:     "这个方向好像不对,我换个思路"
分解:     "这道题可以拆成两个子问题"
反思:     "我刚才是不是把条件弄反了?"

没有任何一条训练数据标注了"这里应该反思"——这些行为是从"答案正确"这个单一奖励中涌现的。就像 AlphaGo 自己学会了人类没教过的下法,推理模型自己学会了人类没标注过的思考策略。

DeepSeek-R1 的训练管线(开源的教科书) ​

R1 论文的价值在于把配方完整公开:

阶段1: DeepSeek-R1-Zero (纯RL, 证明可行性)
  基座模型 + GRPO 算法 + RLVR
  结果: 推理能力暴涨, 但思考过程混乱、语言混杂(中英乱跳)

阶段2: DeepSeek-R1 (完整管线)
  冷启动: 少量高质量长 CoT 数据 SFT (让思考格式像样)
  → 推理 RL: RLVR (数学/代码为主)
  → 拒绝采样 + 通用 SFT: 用RL阶段模型生成数据,
    覆盖写作/问答/翻译等通用任务
  → 全场景 RL: 推理奖励 + 人类偏好奖励对齐

还有一个便宜而有效的附录:蒸馏——用 R1 生成的 80 万条推理轨迹 SFT 小模型(7B/14B),小模型的推理能力大幅超越同尺寸的原生模型。大模型的思考,可以变成小模型的本能。


Test-Time Compute:一条新的缩放定律 ​

旧缩放定律的困境 ​

2020~2024 的主旋律是训练侧缩放:更多参数、更多数据、更多算力 → 更强的模型。但到了 2024 年,高质量数据见顶、训练成本指数增长,这条路明显边际递减。

新缩放定律:推理时花更多算力 ​

o1 论文给出的核心发现:推理性能随"思考 token 数"平滑提升——问题不变、模型不变,只让它想更久,准确率持续上涨:

同一道竞赛难题:
  思考 1K token   → ~40% 正确率
  思考 10K token  → ~70% 正确率
  思考 100K token → ~90%+ 正确率

这在工程上意味着一件大事:智能变成了一个可以在推理时按需购买的量。

传统缩放: 想要更聪明 → 训练更大的模型 (一次性, 天价, 全体任务受益)
测试时缩放: 想要更聪明 → 让它想更久 (按次付费, 灵活, 只为难题付费)

为什么"想更久"会"更准" ​

直觉解释(结合 CoT 的计算本质):

  1. 更大的搜索空间:长推理链等价于对解空间的深度搜索——试错、剪枝、回溯都发生在思考 token 里
  2. 自我纠错的机会:错误推理可以在后续 token 中被发现并修正("等等,刚才算错了")
  3. 问题分解:复杂问题被拆成可独立验证的子步骤,单步错误不再直接污染最终答案

一个精妙的类比:推理 token 就是 LLM 的"草稿纸",test-time compute 就是"允许用多少张草稿纸"。考场上不限草稿纸的学生,能做出限时口算做不出的题。


工程实战:思考预算的经济学 ​

参数化控制 ​

各家 API 都暴露了思考控制参数:

python
# OpenAI: reasoning_effort
response = client.chat.completions.create(
    model="o3",
    messages=[...],
    reasoning_effort="low",     # low / medium / high
)

# Claude: thinking budget (精确到 token)
response = client.messages.create(
    model="claude-sonnet-4-5",
    thinking={"type": "enabled", "budget_tokens": 8000},
    max_tokens=16000,
)

成本结构的变化 ​

推理模型改变了账单结构——思考 token 也是钱:

一道题的成本:
  普通模型:  输入 500 + 输出 300   = 800 token
  推理模型:  输入 500 + 思考 5000 + 输出 300 = 5800 token (7倍!)

但换来的:
  普通模型 30 分钟人工返工 vs 推理模型一次做对
  → 复杂任务: 推理模型反而"便宜" (你的时薪 > token 单价)
  → 简单任务: 推理模型纯浪费 (7 倍价格买不需要的思考)

混合推理(Hybrid Reasoning)——2026 年的主流答案 ​

既然有的任务需要深思、有的不需要,为什么不让同一个模型自己决定?2025~26 年的旗舰模型(Claude 4.5、GPT-5、Gemini 2.5)全部转向混合模式:

模型内置"难度路由器":
  "今天天气怎么样"     → 跳过思考, 直接回答 (省成本)
  "证明这个积分收敛"   → 自动展开深度思考

开发者只控制边界:
  thinking budget 上限 (成本护栏)
  显式开启/关闭 (确定性场景)

这与 Model Routing 篇的跨模型路由一脉相承——只不过路由决策从你的代码下沉到了模型内部,路由对象从"选哪个模型"变成了"想多久"。

提示词的范式变化 ​

推理模型改变了 prompt 工程的最佳实践,部分经典技巧直接失效:

过时: "让我们一步一步思考" (Let's think step by step)
  推理模型自带思考,这句咒语不仅多余,
  研究显示它可能干扰模型自己的思考策略 → 准确率反降

过时: 给推理示例 (few-shot CoT 范例)
  你的示例的思考方式大概率比模型自己学到的差,
  会把模型"带偏"到次优推理路径

正确姿势: 
  ✓ 说清目标和约束,把"怎么想"留给模型
  ✓ 给验证标准而不是解题步骤
  ✓ 要求"先验证再回答"可以进一步压幻觉(方向性指令仍有效)
  ✓ 明确输出格式 (思考在内部,输出要干净)

一句话总结新范式:从"教模型怎么想"退回到"告诉模型要什么"——提示词工程从"教思考"降维成"提需求"。

思考的可见性权衡 ​

Claude 通过 extended thinking API 暴露思考过程(可读、可审计),OpenAI 默认隐藏(只给摘要)。工程上的取舍:

可见思考的好处:
  调试 (为什么它得出这个结论?)
  审计 (推理链里有没有越权/幻觉?)
  学习 (把优秀思考链蒸馏给小模型)
可见思考的风险:
  思考里可能泄露敏感推理 → 泄露面扩大
  思考与答案可能"打架" (思考说A,答案说B)

什么时候用推理模型:决策框架 ​

值得用推理模型的信号:
  ✓ 数学/逻辑推理密集 (金融计算、统计、算法分析)
  ✓ 复杂规划 (多约束排期、资源分配)
  ✓ 高价值一次性任务 (错一次的代价 >> 思考成本)
  ✓ 代码架构设计 (不是写 CRUD,是设计系统)
  ✓ Agent 的"规划节点" (编排者用推理模型,工人用普通模型 ★)

不值得的信号:
  ✗ 分类/抽取/改写 (模式匹配任务,思考无增益)
  ✗ 高 QPS 低价值 (每请求 7 倍成本,毫无必要)
  ✗ 延迟敏感闲聊 (等 30 秒思考,用户早走了)
  ✗ 知识检索类问题 (想再久,训练数据里没有还是没有)

标 ★ 的那条是 Agent 时代的黄金配方:编排者-工人拓扑里,编排者上推理模型(一次规划的质量决定全局),工人上普通模型(执行任务不需要深思)——质量提升集中在最关键的节点,成本增长被限制在单点。(呼应多智能体架构篇的"指挥链"设计)

一个真实的成本对比案例 ​

任务: 1000 条客户工单自动分类 + 50 条复杂纠纷处理

方案A: 全部用推理模型
  1050 × ~$0.10 = $105
方案B: 全部用普通模型  
  1050 × ~$0.003 = $3.15, 但纠纷处理错误率 30% → 人工返工
方案C: 路由 (分类用普通, 纠纷用推理)
  1000 × $0.003 + 50 × $0.10 = $8, 纠纷错误率 5%
  ★ 成本是方案A的 8%,质量超过方案B

路由的判断信号:任务长度/金额/涉及逻辑词("如果...那么"/"不超过"/"证明")→ 混合部署。


局限与批评 ​

保持清醒的部分:

1. 过度思考(Overthinking) 研究发现推理模型在简单任务上也会想几千 token——"1+1=2 也要打草稿"。混合模式是解法,但边界判断仍不完美。

2. 思考≠正确 长思考链里可能出现"自信的错误推理一路走到黑";自我纠错是概率性行为不是保证。思考长度提升的是平均正确率,不是下限。

3. 测试时缩放的适用域 对可验证任务(数学/代码)效果拔群;对不可验证任务(开放式写作、价值判断)没有自动奖励信号,RLVR 范式不直接适用——这类任务的"慢思考"更多来自蒸馏而非原生 RL。

4. 思考泄漏(Thought Leakage) 模型可能在思考中暴露 prompt 里要求保密的内容(系统提示、评分标准),或把答案格式约束"想"进答案里。审计思考链正在成为安全团队的新日常工作。

5. 基准通胀与"应试推理" 推理模型在竞赛基准上逼近满分,但真实工程问题的提升没有那么陡峭——部分推理模式是"竞赛特化"的,向真实任务的迁移存在折扣。


十大坑 ​

  1. 对推理模型使用 few-shot CoT 示例——你的思考范例比它自己学到的差,把模型带偏到次优路径
  2. let's think step by step 咒语照搬——多余且可能降准;只提需求,别教思考
  3. 简单任务全量上推理模型——7 倍成本买零收益;用路由把推理留给难题
  4. 思考预算不设上限——简单问题也可能烧 50K 思考 token;budget_tokens 是成本护栏必设项
  5. 把思考输出当最终答案解析——思考是过程(可能含试错和被否定的结论),只有答案部分是交付物
  6. 忽略思考的延迟——30 秒思考让流式 UI 的"首 token"变成"首思考",前端要有进度反馈设计(呼应 Streaming 篇)
  7. 思考内容直接展示给用户——混乱/重复/自相矛盾的思考过程会摧毁信任;展示摘要或进度,不展示原文
  8. 缓存策略不覆盖思考——同前缀请求重复付费思考;prompt caching 对推理模型同样生效,前缀设计原则不变
  9. 用推理模型做知识检索——想再久,训练数据里没有的还是没有;RAG 优先(呼应 Fine-tuning 选型篇的决策树)
  10. 忽视思考链审计——Agent 场景里思考链是新的注入/泄漏面,敏感业务要抽查思考内容

总结 ​

推理模型的认知主线:

演进:   Prompt CoT(打草稿的咒语) → SFT CoT(教它打草稿)
        → RLVR(只奖答案对错, 思考策略自发涌现)
缩放:   训练侧缩放(更多参数)之后, test-time compute
        开启了推理侧缩放(更多思考) — 智能变成按需购买的量
本质:   推理 token = 草稿纸, 把串行计算展开在 token 空间,
        突破单次前向的固定计算深度
工程:   混合模式(模型自路由) + 编排者推理/工人普通的拓扑
        + 提示词降维(从教思考回到提需求)

至此,博客 LLM 技术栈的最后一块版图补齐:训练侧(Fine-tuning/RLHF)→ 推理侧(推理优化:跑得快)→ 智能侧(本文:想得深)。

最后留一个认知锚点:2014 年的 "Attention is All You Need" 让机器学会了注意;2024 年的 RLVR 让机器学会了犹豫——知道什么时候该停下来想一想,可能是通用智能拼图里最接近"智慧"的那一块。


本文由小虾子 🦐 撰写

Last updated: