面试知识库
高 进阶

推理模型与思维链#

一句话答案#

思维链(CoT)最早是一种提示技巧——让模型先写推理步骤再给答案;推理模型(OpenAI o 系列与 GPT-5 之后的模型、DeepSeek-R1/V4、Qwen3/3.5 thinking、Claude 的 thinking 等)则把它内化进模型:回答前先生成一段很长的 thinking tokens,并用**可验证奖励的强化学习(RLVR,典型算法 GRPO)**训练出自我验证、回溯、反思的行为。本质是 test-time scaling——推理时多花算力换质量,代价是延迟和 token 成本成倍上升、可能过度思考,且思维链未必忠实反映真实推理过程。

核心要点

1. 从 CoT 提示到推理模型#

  • CoT 提示(Wei et al. 2022):Few-shot 里示范推理过程,或 zero-shot 加一句 “Let’s think step by step”,模型就会把中间步骤写出来,数学/逻辑任务准确率大幅提升。这是提示层技巧,详见 Prompt工程最佳实践
  • 为什么有效:自回归模型每个 token 的计算深度是固定的,多步问题一次算不完;把中间结果写成 token 再读回来,相当于用序列长度换计算深度,给了模型”草稿纸”
  • 推理模型:不靠提示,模型自己在回答前生成长思维链(数千到数万 token 的 thinking tokens),再输出最终答案。关键差异是这种”先想后答”的行为是训练出来的,而且思维链里会出现提示不出来的模式——自我验证(“让我检查一下”)、回溯(“这条路不对,换一种”)、分解子问题、多解比对
  • 代表(2026-09 状态,参数名以各家官方文档为准):
    • OpenAI:o1/o3 开了头,GPT-5 及之后的主力模型都是推理模型;原始思维链不可见,用 reasoning.effort 调档(档位从 none/minimal 到 xhigh/max,各模型支持的档位和默认值不同),可选返回推理摘要
    • DeepSeek:R1 把思维链公开在 <think> 标签中;V3.1 起同一模型支持思考/非思考两种模式,2026-04 发布的 V4(Pro/Flash)默认开启思考,旧的 deepseek-reasoner 别名已于 2026-07 下线
    • Qwen:QwQ-32B → Qwen3 混合思考(enable_thinking 开关,另有 /think、/no_think 软开关)→ Qwen3-2507 把 Instruct 和 Thinking 拆成两个模型 → Qwen3.5 又回到混合思考、默认开启,且不再支持软开关
    • Claude:早期是 extended thinking + budget_tokens 固定思考预算;新模型改为 adaptive thinking(thinking: {type: "adaptive"},模型按请求自己决定想不想、想多少),用 effort 参数调深度,budget_tokens 在新模型上已废弃或直接报错
    • Gemini:2.5 用 thinking_budget(token 数),Gemini 3 起改用 thinking_level 离散档位

2. 怎么训出来的:RLVR + GRPO#

  • RLVR(Reinforcement Learning with Verifiable Rewards):选有客观标准答案的任务——数学题比对最终答案、代码跑单元测试、逻辑题核对结果——奖励由规则或执行器给出,不需要人标偏好、不需要训奖励模型(区别于 LLM训练流程与对齐 里的 RLHF)。奖励信号可靠,模型就敢放开探索长链推理

  • GRPO:DeepSeek 用的 PPO 变体——同一问题采一组回答、以组内相对优势代替价值网络,去掉 critic 后长序列 RL 训练成本大降(算法细节与 RLHF/DPO 的对比见 LLM训练流程与对齐)

  • DeepSeek-R1 的路线:① R1-Zero:直接在 V3-Base 上做纯 RL(只有准确率 + 格式奖励),推理能力和”aha moment”(训练中自发出现”等等,重新审视这一步”的反思和越来越长的思维链)自然涌现,但可读性差、中英混杂;② R1:先用少量长 CoT 数据做冷启动 SFT → 面向推理的 RL(加语言一致性奖励)→ 用 RL 模型做拒绝采样生成约 80 万条数据(含非推理任务)再 SFT → 全场景 RL 对齐,多阶段交替

  • 蒸馏:用 R1 生成的推理数据直接 SFT Qwen/Llama 的 1.5B–70B 模型,效果好于在小模型上直接做 RL——大模型先探索出推理模式,小模型学轨迹更省

3. Test-time scaling:推理时多算一点#

维度Train-time scalingTest-time scaling
投入更多参数、更多数据、更多训练 FLOPs同一个模型,推理时多生成/多采样
提升曲线对数线性,边际成本极高在可验证任务上同样呈对数线性增长
成本落点一次性、训练方承担每次请求、用户承担(延迟 + token)
灵活性固定可按任务难度动态调节

test-time 的几种”多算”方式:

  • 更长 CoT:单条链想得更久(推理模型的默认方式,串行)
  • Self-consistency 多数投票:采样 N 条链取众数答案(并行,适合有离散答案的题)
  • Best-of-N + 验证器:采样 N 个候选,用 ORM(只看结果)或 **PRM(Process Reward Model,逐步打分)**挑最好的
  • 搜索:MCTS / beam search 在推理步级别展开,PRM 做启发式引导,算力需求最大

推理模型可以看作把”采样 + 验证 + 回溯”的搜索过程压缩进了一条自回归序列里。采样温度等对 CoT 质量的影响见 解码策略与采样参数。

4. 代价与局限#

  • 延迟与成本:思维链动辄数千 token,首个答案 token 要等很久,thinking tokens 按输出价计费;一道简单题可能多花 10 倍以上的 token
  • 过度思考 overthinking:简单问题也绕很多圈,甚至越想越偏;还有”想得长但没有在想”的空转
  • 思维链不一定忠实 unfaithful CoT:多项研究表明模型的最终答案可能受提示中的暗示影响,但思维链里不提这个原因;或先”拍脑袋”出答案再编一套理由。所以不能把 CoT 当可解释性/安全性的保证,它更像一份”有用但可能失真的草稿”
  • 可验证任务之外的泛化:RLVR 在数学/代码上涨得快,在开放写作、主观判断类任务上收益有限,有时还会损伤指令遵循和风格

5. 工程选型:什么时候用推理模型#

适合不适合
数学、代码生成与调试、复杂多约束规划简单抽取/分类/改写
Agent 的 planner / 决策步骤高并发、低延迟对话
需要自检的高风险输出(可配合验证器)输出长度严格受限或成本敏感的批处理
  • thinking budget / reasoning effort:多数 API 把思考量做成参数(OpenAI reasoning.effort、Claude 的 effort + adaptive thinking、Gemini 3 的 thinking_level、Qwen/DeepSeek 的思考开关与档位)。趋势是从「给固定 token 预算」转向「给档位、让模型自己分配」。按任务难度分档,不要一律开最高档
  • 思维链是否返回给用户:对用户展示可增强信任,但会暴露内部策略、可能含未过滤内容,产品上常只给摘要或折叠。API 层:开源权重模型(DeepSeek、Qwen)直接输出完整的 <think> 内容;闭源 API(OpenAI、Claude、Gemini)不返回原始思维链,只给可选的摘要和思考 token 数,思考 token 照常按输出计费
  • 与 Agent 的关系:推理模型适合做 planner,在每个工具调用前”想清楚”;这和应用层的 Reflection与自我修正模式是两个层面——Reflection 是在外面再跑一轮”生成→批判→重写”,推理模型是把反思内化进一次生成里。两者可叠加,但推理模型已经自带反思时,外层反思轮数可以减少。Agent 侧的编排模式见 Agent设计模式,框架与模型选型趋势见 [AI Agent技术趋势与框架选型](/topics/ai-agent/AI Agent技术趋势与框架选型)

面试回答(2分钟版)

思维链最初是个提示技巧,让模型先写推理步骤再给答案,本质是用序列长度换计算深度——多步问题一次算不完,把中间结果写成 token 当草稿纸。推理模型是把这件事内化进模型:OpenAI o 系列和 GPT-5 之后的模型、DeepSeek-R1、Qwen3 thinking 模式这类模型回答前会先生成一段很长的 thinking tokens,里面有自我验证、回溯、换思路这些提示不出来的行为。训练方法上核心是可验证奖励的强化学习,RLVR:选数学、代码这种能自动判对错的任务,奖励由规则或单元测试给出,不用人标偏好;算法上 DeepSeek 用 GRPO,对一个问题采样一组回答,用组内相对优势代替价值网络,省掉 critic。R1 的路线是先做 R1-Zero 纯 RL,发现推理能力和反思行为会自发涌现,但可读性差,于是加了冷启动 SFT 和多阶段训练,最后还把推理数据蒸馏给小模型,效果比直接在小模型上做 RL 好。第二个要点是 test-time scaling:同一个模型推理时多算一点,更长的思维链、多数投票、Best-of-N 加验证器、搜索,在可验证任务上质量随推理算力对数线性涨,和堆训练算力是互补的。第三是代价:延迟和 token 成本成倍上升,有过度思考问题,而且思维链不一定忠实,不能拿它当可解释性保证。所以工程上要选型:数学、代码、复杂规划、Agent 的 planner 步用推理模型,简单抽取分类和高并发对话不用;用 reasoning effort 或 thinking budget 按难度分档;思维链是否展示给用户要看产品和安全需求。

追问与易错

追问方向:

  • GRPO 和 PPO 的核心区别? → PPO 需要一个和策略同规模的价值网络估计基线,GRPO 用同一问题采样一组回答、以组内奖励的均值做基线、标准差归一化,去掉 critic,显存和实现都更轻,适合长思维链训练
  • 为什么 RLVR 选数学和代码?能推广到别的任务吗? → 因为奖励可以由规则/执行器客观给出,没有奖励模型被 hack 的风险;开放任务要靠 LLM-as-judge 或偏好模型,信号噪声大、收益也明显小
  • Self-consistency 和推理模型的长 CoT 哪个更划算? → 多数投票是并行的、延迟不增加但 token 成倍;长 CoT 是串行的、单链更深。简单可验证任务投票性价比高,需要深度回溯的任务长 CoT 更有效,两者可组合
  • R1-Zero 的 aha moment 说明了什么? → 说明反思、回溯这类行为不需要人工示范,只靠结果奖励的 RL 就会涌现;但也暴露纯 RL 的副作用——语言混杂、可读性差,所以 R1 加了冷启动和语言一致性奖励
  • 怎么控制推理模型的成本? → 分档 reasoning effort / thinking level、先用小模型或规则判断任务难度再路由、对简单请求关闭 thinking、缓存高频问题的结果
  • 推理模型会让 Reflection 模式过时吗? → 不会完全替代:推理模型的反思在一次生成内、看不到外部反馈;Reflection 能引入测试结果、工具报错这类外部信号。实践中推理模型做 planner + 外层少量带外部信号的反思

易错点:

  • ❌ “推理模型就是加了 CoT 提示的模型” → 行为是 RL 训练出来的,会有提示不出来的自我验证和回溯,能力差距在难题上很明显
  • ❌ “思维链就是模型真实的思考过程,可以用来做可解释性” → CoT 可能不忠实,答案可能受到链里没提及的因素影响
  • ❌ “所有任务都换推理模型效果更好” → 简单任务收益小、成本和延迟成倍增加,还可能过度思考
  • ❌ “RLVR 和 RLHF 是一回事” → RLHF 奖励来自人类偏好训练的奖励模型,RLVR 奖励来自可验证的规则/执行结果