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 中会导致答案无法被正确截断

潜在工程挑战

  1. effort 自动路由:如何根据任务难度自动选择合适的 effort 档位?当前没有成熟方案,需要自行实验
  2. 成本监控:高 effort 推理的 token 消耗可能是低 effort 的 10-50 倍,在 Agent 系统中需要做 usage tracking
  3. 多模型差异:effort 参数在不同模型(OpenAI/Anthropic/开源)对响应长度和准确率的影响差异很大,统一框架设计困难

一句话结论

Raschka 这篇博文揭示了推理模型「精力切换」的三代技术演进——从 DeepSeek-R1 的「全量推理涌现」到 Qwen3 的「思维模式融合 SFT」再到 GPT-5.6 的「系统 prompt effort 档位」——最反直觉的核心洞察是:RLVR 训练中模型根本没被教会「如何思考」,它只是被奖励「正确答案」后自己学会了写推理链;**** **** 标签也仅是 UI 格式而非推理能力的来源,理解这些对于正确设计 Agent 成本路由和评估推理模型真实能力边界至关重要。