导读
Codex、Claude Code 都在模型选择器旁边加了推理档位,但大部分人凭手感拨。从 DeepSeek-R1 的 RLVR 到 gpt-oss 公开的控制方式,选择器只是入口,真正起作用的是模型在训练阶段学会响应不同计算预算。理解这件事,才能在精度、成本和延迟之间找到甜点区,而不是无脑拉到 ultra。
你拨的那个档位,先变的是请求
打开 Claude Code、Codex 或者 Kimi Code,选完模型,旁边总有类似的推理档位:light、medium、high,有的还多一档或几档。
大部分人凭手感。简单问题拨低,难的拨高,预算够就拉满。但你有没有想过,拨动那一下,模型到底变了什么?是换了一套权重?跳了一条分支?还是触发了什么隐藏模式?
答案简单到有点反-climactic。
至少在 gpt-oss 这类公开实现里,切换档位不需要更换模型权重,而是通过 system message 里的控制字段,告诉模型采用不同的推理强度。
OpenAI 在 2025 年发布的开放权重模型 gpt-oss,把这种控制方式公开展示了出来。模型卡在 Hugging Face 上写得明明白白,开发者在 system message 里写 Reasoning: low、Reasoning: medium 或 Reasoning: high,模型就按对应的详细程度作答。注意,原文是 Reasoning:,不是网上很多文章传的 Reasoning effort:。差一个词,但照抄错的字符串到自己的 prompt 里,效果可能就不一样。
一个 117B 参数、激活 5.1B 的 MoE 模型,Apache 2.0 协议,你可以本地跑,也可以读它的 chat template。至少在这个可核验的例子里,档位不是更换模型,而是模型在训练中学会响应控制指令。
但 gpt-oss 的做法不能直接套在所有产品上。从公开代码和变更记录可以看到,Codex CLI 会传递结构化的 reasoning effort 参数;Kimi CLI 根据模型供应商分别使用 thinking.type、reasoning_effort、output_config.effort 或 budget_tokens;Claude Code 也会传 effort 参数或 thinking budget。
所以,客户端这一层其实看得很清楚:用户选中一个档位,Agent 把它转换成参数发给服务端。 真正没有完整公开的,是服务端接到参数后怎么处理——它可能把参数映射成内部控制指令、推理 token 预算、生成策略或模型路由,也可能组合使用几种机制。换句话说,我们知道旋钮把什么信号传了进去,但未必知道机器内部怎样执行这个信号。
问题是——为什么一句话能让模型"变聪明"或"变快"?模型怎么知道 high 是什么意思?
这就得从训练说起。
推理模型多做的,是测试时计算
先厘清一个被用滥的词。
"推理模型"(reasoning model)并不意味着我们已经证明它拥有和人类相同的思维机制。工程上更准确的说法是:模型会在最终答案前投入额外的测试时计算,生成中间 token、探索候选路径,必要时检查或改写答案。
⬆️AI生成
打个不完全准确的比方:普通模型更像拿到题目就落笔的学生,推理模型则被允许先用草稿纸。只是这张“草稿纸”不一定向用户开放:有些产品展示摘要,有些隐藏内部推理,有些还会把额外计算用于工具调用或候选答案筛选。
这段草稿不是装饰。它让模型有机会把一个复杂问题拆成几步,走偏了还能回头改。代价是慢,而且贵——草稿本身也是 token,要算钱的。
那这段"先打草稿"的习惯是怎么训出来的?不是人一条条教的。
只奖励答案对错,模型自己学会了思考
DeepSeek-R1 在今年 1 月公开的论文(arXiv:2501.12948)里,给出了一个后来被整个行业抄作业的配方,叫 RLVR——Reinforcement Learning with Verifiable Rewards,可验证奖励的强化学习。
名字唬人,逻辑特别朴素。
给模型一道数学题或一段代码需求,让它自己生成回答。答案对了,奖励给 1;错了,给 0。数学题用 SymPy 或 WolframAlpha 验算,代码用编译器和单元测试跑。不需要人来打分,对错可以自动判定。
关键的反直觉之处在这里:训练时根本不去评判那段草稿写得好不好,只看最终答案对不对。 DeepSeek 团队试过把草稿质量也纳入奖励信号,发现帮助不大,干脆去掉了。
只靠"奖励结果"这一条,模型自己学会了写中间步骤、学会了回头检查、甚至学会了在发现错误时推翻重来。论文里管这种自发行为叫 "Aha moment"——训练到某个阶段,模型突然开始表现出"等等,这里好像不对"的行为,没有人教过它要这样。
训练算法用的是 GRPO(Group Relative Policy Optimization),省掉了传统 PPO 需要的 critic 模型,把一组采样回答放在一起比较,好的提高概率、差的降低概率。
那 <think></think> 这对标签呢?很多人以为是它让模型"开始思考"的。
真不是。
在 DeepSeek-R1 的奖励设计里,这对标签首先承担的是格式标记:R_accuracy 奖励答案正确,R_format 检查思考过程是否被放进规定标签。真正的能力不能归因于这两个符号;但论文也没有证明标签对训练“零贡献”,更不能据此断言换一对符号重训,benchmark 一定不变。
道理懂了。但还有个问题没回答:为什么 Reasoning: high 这一句话能让模型写更长的草稿?随便一个模型,你加这句话它不会理你。
让模型听懂档位,训练时得做两件事
模型不是天生懂"high"是什么意思。要让它稳定地根据这个词改变行为,训练阶段需要建立“控制词—计算量—回答形态”的对应关系。公开研究至少展示了两类可行办法,它们可以组合,但不代表每家公司都用了同一套配方。
路线一:在强化学习阶段引入不同的 token 预算或长度约束。
强化学习的目标是最大化奖励,但 token 生成本身有成本。训练者可以给模型不同的 token 预算,或在奖励函数中加入长度约束,让它分别学习“少算一点”和“多算一点”时怎样完成任务。这里说的是一种已被公开研究验证过的训练思路,不等于某个闭源产品的实际奖励函数。
路线二:RLVR 之后再补一轮监督微调(SFT)。
喂给模型大量样本,每个样本的 prompt 里带着 Reasoning: low 或 Reasoning: high,对应的回答分别是短的和长的。模型通过模仿学会把档位标签和目标长度对应起来。这是更直白的办法,但需要准备不同长度的高质量回答数据。
这两条路线解释了模型为什么可能听懂档位,却不能反推出 GPT-5.6 的具体训练配方。OpenAI 没有公开闭源模型的完整训练细节,写到这里,证据的边界就该停住。
顺带说一句,第一代推理模型根本没有档位这回事。DeepSeek-R1 是个专职推理模型,不管你问什么它都要长篇大论一番,哪怕你只是问"今天星期几",而且没有关闭开关。后来的 Qwen3(今年 5 月的技术报告,arXiv:2505.09388)做了件聪明事:用一个叫 Thinking Mode Fusion 的 SFT 阶段,把 thinking 和 non-thinking 两种样本混在一起训,让同一个模型学会两种模式。关闭思考的实现方式特别直接——在回答开头塞一个空的 <think></think>,模型一看这标签是空的,就直接跳到答案。
从"开关"到更细的档位,控制测试时计算逐渐从模型能力变成了产品参数。
你手里握着两个旋钮,不是一个
当前 Codex 把模型和推理强度放在两个独立的选择器里。
模型一栏可以选择 GPT-5.6 Sol、Terra 或 Luna;Reasoning 一栏则是 Light、Medium、High、Extra High 和 Ultra。先不用纠结这些名字和 API 参数怎样逐一对应,看懂界面传达的关系就够了:换模型,改变的是能力与成本的底座;调 Reasoning,改变的是这次任务愿意投入多少计算。
只有 Ultra 稍微特殊一些。它还会主动调度多个 Agent,不只是让单个模型多生成一些推理 token。
选 Luna / Terra / Sol,换的是模型权重本身,粗略对应训练时砸进去的算力——参数量、训练数据、预训练投入。调推理档位,模型权重不动,只是让它在回答时多花或少花 token,对应推理时的算力开销。
打个比方。选模型像是选赛车:Luna 是卡丁车,Terra 是 GT 赛车,Sol 是 F1。调档位像是踩油门:踩多深决定这一圈跑多快,但车本身没变。
有意思的是这两条 scaling 曲线会重叠。一个小模型开高档位,有时候能追平一个大模型开低档位的分数。gpt-oss-20b 开 high 和 gpt-oss-120b 开 low,在某些 benchmark 上差距并不大,但成本差好几倍。
⬆️AI生成
所以你手里其实握着两个旋钮。用更大的模型?还是把档位调高?还是两个一起上?这取决于你要的精度、能接受的延迟和愿意付的钱。
档位不是越高越好,边际递减很明显
直觉上档位越高,答案就越准。方向大体没错,但收益并不会一直按同样幅度增长。
第一,档位越高,模型通常会投入更多测试时计算。 在 gpt-oss 的不同档位对比中,推理强度提高时,回答往往更长,也更有机会解决复杂问题。代价同样直接:等待时间变长,reasoning token 和总用量也可能增加。
第二,准确率会逐渐进入饱和区。 一开始增加推理计算,模型表现可能提升得很明显;继续往上加,曲线会慢慢变平。此时成本和延迟还在增加,质量收益却越来越小——这就是边际递减。
一句话:档位拉满不等于答案一定更对。多数任务里,中间档往往才是准确率、成本和延迟之间的甜点区。
那具体怎么选?如果你用的是 Codex,可以从低档开始,根据结果逐步往上调:
-
简单分类、格式转换、短问答:Light -
常规编码、文档撰写、数据分析:Medium -
复杂调试、架构设计、多步推理:High -
少数质量优先的高难任务:Extra High,先用代表性任务验证是否真的更好 -
能够拆成多个独立子任务的复杂工作:再考虑 Ultra,因为它还会主动调度多个 Agent
国产旗舰各有各的训法
闭源模型不公开训练细节,但几个有技术报告的开放权重模型给出了"至少被验证可行"的真实配方。
DeepSeek V4 Pro(今年 4 月发布的模型卡,1.6T 参数、49B 激活)训了三个推理"专家":Non-think、Think High、Think Max。每个专家用不同的上下文窗口和长度惩罚分别训练,再通过 on-policy distillation 蒸进同一个 checkpoint。Think Max 模式需要特殊的 system prompt 触发,官方建议上下文窗口至少留 384K token。不是简单的 prompt 技巧,背后有三套独立训练撑着。换个模型照抄那句 prompt?没用。
Kimi K2.5 的方法叫 Toggle。技术报告(arXiv:2602.02276)里写得清楚:训练时每 m 个 iteration 在两个 RL 阶段之间交替。一个阶段施加 token 预算约束(当模型对某类题的平均准确率超过阈值 λ 时才启用),逼它学着在预算内解题;另一个阶段放开限制,让它充分利用测试时计算。两个阶段交替,模型既学会了省 token,又没有丢掉向更高计算量泛化的能力。实测平均输出 token 减少 **25% 到 30%**,benchmark 几乎不掉。
更新的 Kimi K3(2.8T 参数,7 月发布,开放权重)API 提供 low、high、max 三档,默认 max;Kimi Code 服务默认 high。训练细节还在等完整技术报告。
这几家的实现路径不一样,但共同点很清楚:选择器只是入口,模型能否稳定响应档位,取决于训练阶段是否建立过对应的控制能力。 对一个没有接受过相关训练的模型,单独照抄 Reasoning: high,不能保证得到同样的效果。
档位会一直在,但选择器可能会消失
GPT-5 这代曾经做过 Auto 模式,想让系统自动帮你选档。实际效果不稳定,后来从主界面撤掉了。这个判断我只有六七成把握——OpenAI 没正式解释过为什么撤,但从社区反馈看,自动选档在简单任务上经常过度推理(浪费钱),在复杂任务上又偶尔选低了(掉链子)。
我的判断是:近期推理档位仍会是一个显式参数,大概率继续通过 system prompt 传递。但 Agent 外面那层 harness——Claude Code、Codex、各类 agent 框架——会越来越多地根据任务类型、上下文长度和剩余预算自动推断该用哪一档,同时保留你手动覆盖的权利。
想压延迟、想省成本、或者想在某个关键步骤榨干性能,手动覆盖就派得上用场。这也是为什么理解档位原理仍然有价值:当你不信任自动选择时,你得知道自己在调什么。
说到底,那个看起来很玄的选择器,背后没有魔法,但也不只是一句提示词。控制字段只是入口,真正托住它的,是训练阶段建立起来的计算预算控制能力。
参考资料
-
DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning: https://arxiv.org/abs/2501.12948 -
OpenAI gpt-oss-120b 模型卡: https://huggingface.co/openai/gpt-oss-120b -
Introducing gpt-oss(OpenAI 官方): https://openai.com/index/introducing-gpt-oss/ -
GPT-5.6: Frontier intelligence that scales with your ambition: https://openai.com/index/gpt-5-6/ -
OpenAI API 推理模型文档: https://developers.openai.com/api/docs/guides/reasoning -
Qwen3 技术报告: https://arxiv.org/abs/2505.09388 -
DeepSeek V4 Pro 模型卡: https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro -
Kimi K2.5 技术报告: https://arxiv.org/abs/2602.02276 -
Controlling Reasoning Effort in LLMs(Sebastian Raschka): https://magazine.sebastianraschka.com/p/controlling-reasoning-effort-in-llms -
GPT 5.6 Has 72 Possible Configurations(Sebastian Raschka): https://sebastianraschka.com/blog/2026/gpt-5-6-configurations.html

文章仅做学术分享,如有侵权请联系删除,非常感谢!

