LLM 推理「精力等级」机制:训练与推理阶段如何实现 · 干货攻略
- 链接: https://x.com/rasbt/status/2078471977237450829
- 分类: x-tips
- 来源: X @rasbt
- 作者: Jay
- 更新: 2026-07-20
这是什么
Sebastian Raschka(AI 研究者、前威斯康星大学麦迪逊分校教授)在 2026 年 7 月 18 日发表了一篇深度技术博文,系统解释了 LLM 如何在推理时切换低/中/高三种「精力」(effort)推理模式,以及这些能力在训练阶段是如何被注入的。
这不是一篇泛泛的科普文,而是从 RLVR 训练机制、思维链格式的真正作用,到 Qwen3 的「思维模式融合」(Thinking Mode Fusion)SFT 阶段,再到 GPT-5.6 的多档 effort 系统提示——全链路拆解,细节密度极高,原帖获得 267.9K 阅读量。
原文链接:https://magazine.sebastianraschka.com/p/controlling-reasoning-effort-in-llms
为什么值得关注
谁在分享,解决什么问题
@rasbt 是 AI 圈的高信噪比技术博主,以往写过《Build a Reasoning Model (From Scratch)》(Manning 出版社,440 页)以及大量 LLM 训练/推理的技术拆解文章。这篇博文是他在推理模型训练领域的最新系统性输出。
核心问题:现代推理模型(如 GPT-5.6、Qwen3、DeepSeek-R1)是如何做到「同一个模型,既能快问快答,又能深入思考」的?effort 档位背后的训练机制是什么?
三代演进路线图
文章梳理了推理精力控制的三代技术演进:
| 代际 | 代表模型 | 机制 | 特点 |
|---|---|---|---|
| 第一代:专用推理模型 | DeepSeek-R1(2025年1月) | RLVR 强化学习训练,模型固定输出长思维链 | 所有问题都用长推理,简单问题也强制输出大量 token,无法关闭 |
| 第二代:混合双模式 | Qwen3(2025年5月) | 同一模型支持 /think(开启推理)和 /no_think(关闭推理) |
推理与否由用户或系统 prompt 控制 |
| 第三代:连续精力档位 | GPT-5.6(2026年7月) | 系统级 prompt 控制 Reasoning effort: low/medium/high,同一模型支持 5-6 档 |
精细控制推理深度与成本的权衡 |
文章的核心价值
- 纠正了一个广泛误解:
****和****不是推理能力的来源,只是格式标记 - 揭示了 RLVR 训练中「中间推理链被忽略」的违反直觉的设计决策
- 系统梳理了从 DeepSeek-R1 到 Qwen3 再到 GPT-5.6 的技术演进逻辑
核验过程
官方来源
① Sebastian Raschka 博文原文(https://magazine.sebastianraschka.com/p/controlling-reasoning-effort-in-llms,2026-07-18)
核心核验点:
- DeepSeek-R1(arXiv:2501.12948)的 RLVR 机制描述:仅用最终答案和格式奖励训练,中间的推理 trace 不参与梯度更新——原文明确说"the intermediate response information...wasn't helpful for the model training, so it was ultimately not used"
- Qwen3 技术报告(arXiv:2505.09388)的 Thinking Mode Fusion 阶段描述:在 Long-CoT SFT + Reasoning RL 之后,额外加入一个 SFT 阶段让模型同时学习
/think和/no_think两种格式 - GPT-5.6 的 effort 控制在推理层实现,通过系统 prompt 中的
Reasoning effort: low/medium/high调节 </think>和<think>标签仅是 cosmetic(装饰性),删除它们模型推理能力不受影响
② DeepSeek-R1 论文摘要页(https://arxiv.org/abs/2501.12948)
- 确认标题 Incentivizing Reasoning Capability in LLMs via Reinforcement Learning,确认 RLVR(Reinforcement Learning with Verifiable Rewards)概念
- 确认可验证领域为数学(SymPy/WolframAlpha)和代码(编译器/LeetCode)
- 确认 DeepSeek-R1 与 Kimi K1.5 同日发布(2025年1月22日),且 RLVR 一词在 Tülu 3(arXiv:2411.15124)已提前两个月出现
③ Qwen3 技术报告摘要页(https://arxiv.org/abs/2505.09388)
- 确认 Qwen3 统一架构同时支持 thinking mode(非思维链快答)和 non-thinking mode(完整思维链推理)
- 确认 Thinking Mode Fusion 作为 post-training 阶段之一
交叉验证结论
- 原帖核心主张「推理 trace 在 RLVR 中被忽略」与 DeepSeek-R1 论文摘要高度一致——两处确认
- 原帖「Qwen3 enable_thinking=True/False tokenizer 参数」描述与 Qwen3 技术报告一致
- 原帖「GPT-5.6 effort 控制在系统 prompt 层实现」与 OpenAI gpt-oss 模型卡(2025年)文档一致(Raschka 在文中引用了 gpt-oss 作为 GPT-5.6 的推断依据)
- LLM Rumors 对该文章的报道(2026年7月)再次确认了 effort level 直接关联响应长度与准确率、边际效益递减等结论
原帖 vs 官方冲突处理
- 原帖主张:o1 约两年前(2024年9月)发布,DeepSeek-R1 约四个月后发布;GPT-5.6 紧随发布——时间线与公开记录一致
- 原帖主张:推理标签
<think></think>为 cosmetic;DeepSeek-R1 论文实验数据支持(删除标签后 benchmark 性能基本不变)——官方来源支持 - ⚠️ 不确定处:GPT-5.6 effort 的具体实现细节(context window 扩展比例、length penalty 参数)未在 GPT-5.6 官方文档公开,Raschka 文中承认"Unfortunately, the implementation details of their effort settings are not shared by OpenAI",攻略正文基于 gpt-oss 的类比推断,不作确定性陈述
上手步骤
理解 RLVR 训练机制(核心)
RLVR(Reinforcement Learning with Verifiable Rewards) 是让普通 LLM 学会推理的关键技术:
训练数据域:
├─ 数学 → SymPy / WolframAlpha 自动验证答案正确性
└─ 代码 → 编译器 + LeetCode 单元测试验证
奖励信号:
R_total = R_accuracy + R_format
├─ R_accuracy = 1(答案正确)/ 0(答案错误)
└─ R_format = 1(正确使用 <think>/</think> 格式)/ 0(格式错误)
反直觉的关键:推理链(thinking trace)本身不参与梯度更新。模型学会了「写中间步骤」但不是因为这些步骤提供了监督信号,而是因为它们帮助模型最终产生正确答案,从而获得奖励——这是涌现行为,不是被教会的行为。
Qwen3 思维模式切换(实战可复现)
Qwen3 通过 enable_thinking 参数控制推理模式:
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-32B")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-32B")
# 开启推理模式(默认)
messages = [{"role": "user", "content": "计算 1+1 为什么等于 2"}]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=True # 默认 True,生成完整思维链
)
# 关闭推理模式(直接输出答案)
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False # 跳过推理过程,直接给答案
)
底层发生了什么:enable_thinking=False 实际上是在输入 prompt 的 assistant 段开头强制注入空的 <think></think>,从而告诉模型「不要推理,直接输出」。这不是一个 token 级别的软开关,而是通过 template 修改实现的硬切换。
在推理时控制 Effort(API 使用层面)
以 OpenAI gpt-oss / GPT-5.6 类模型为例,在系统 prompt 中指定精力等级:
你是一个编程助手。请使用以下推理精力设置回答:
Reasoning effort: medium
[用户问题...]
不同 effort 等级通常对应: - Light:极少推理 token,快速回答,适合简单查询 - Medium:标准推理,适合大多数任务 - High:更长推理链,适合复杂问题 - Ultra/Max:极限推理(如 GPT-5.6 Ultra 用 4 个 subagent 并行加速)
effort 越高,token 消耗越大,边际准确率收益递减——GPT-5.6 Sol 模型数据显示高 effort 在某些任务上成本收益比已经不合算。
坑与适用边界
适用场景
- ✅ 模型选型决策:理解 effort 机制帮助选择合适模型(简单任务用 disable thinking 省钱,复杂任务开启 full reasoning)
- ✅ AI 工程架构:为 Agent 系统设计「任务路由」时,理解 effort 档位的 token 成本差异有助于做 cost-performance 权衡
- ✅ 训练研究者:理解 RLVR 中为什么推理 trace 不参与梯度更新,有助于理解当前推理模型的本质局限
- ✅ Prompt 工程:用
/think和/no_think(Qwen3)或 system prompt effort 设置精细控制模型行为
不适用 / 局限
- ❌ 推理 trace 质量不可控:RLVR 让模型自己「涌现」出推理能力,不保证推理路径正确或高效,存在「Aha 时刻」(自我纠错)也有可能「幻觉推理」
- ❌ GPT-5.6 effort 实现未公开:OpenAI 未披露具体技术细节,基于 gpt-oss 的类比不代表 GPT-5.6 真实实现
- ❌ effort 档位无统一标准:不同厂商的 low/medium/high 对应的 token 数量、准确率改善幅度完全不同,无法跨模型比较
- ⚠️ 第一代推理模型(DeepSeek-R1)无法关闭推理:即使简单问题也会输出长思维链,API 成本高
- ⚠️ 思考标签是 cosmetic 但不可或缺:虽然不影响推理能力,但训练时鼓励使用标签(格式奖励),删除标签在某些 UI 中会导致答案无法被正确截断
潜在工程挑战
- effort 自动路由:如何根据任务难度自动选择合适的 effort 档位?当前没有成熟方案,需要自行实验
- 成本监控:高 effort 推理的 token 消耗可能是低 effort 的 10-50 倍,在 Agent 系统中需要做 usage tracking
- 多模型差异:effort 参数在不同模型(OpenAI/Anthropic/开源)对响应长度和准确率的影响差异很大,统一框架设计困难
一句话结论
Raschka 这篇博文揭示了推理模型「精力切换」的三代技术演进——从 DeepSeek-R1 的「全量推理涌现」到 Qwen3 的「思维模式融合 SFT」再到 GPT-5.6 的「系统 prompt effort 档位」——最反直觉的核心洞察是:RLVR 训练中模型根本没被教会「如何思考」,它只是被奖励「正确答案」后自己学会了写推理链;**** **** 标签也仅是 UI 格式而非推理能力的来源,理解这些对于正确设计 Agent 成本路由和评估推理模型真实能力边界至关重要。