为 GPT-6.1 Sol 选择推理强度:从 low 到 max

推理时代阅读约 6 分钟
为 GPT-6.1 Sol 选择推理强度:从 low 到 max

GPT-6.1 Sol 有五个推理强度等级:low、medium(默认)、high、xhigh 和 max。相较于 GPT-6 Sol,最大的变化是 none 和 minimal 已被取消,因此 low 现在是最低档。

这一个设置同时决定延迟和成本。你看不到推理 token,但它们按输出费率计费(6.1 Sol 在 AIHubMix 上为每百万 token 10 美元),并且会占用上下文窗口的空间。如果选错等级,很容易多付好几倍的费用。


各等级的适用场景

下表结合了 OpenAI 在推理指南中的说明与我们自己的建议:

等级OpenAI 的描述适合场景不适合场景
low高效推理,延迟仅小幅增加工具循环中的中间步骤、搜索、轻量规划、分类、抽取、客服回复困难的调试、跨多文件的重构
medium(默认)适合大多数工作负载的均衡默认值日常编码、代码审查、写作、典型的智能体任务对延迟敏感的交互式场景
high高难度推理、复杂调试、深度规划棘手的 bug、架构设计、SWE 类任务高 QPS 的在线流量
xhigh深度研究、异步任务、长时间运行的智能体后台任务、研究报告任何尚未经评测验证的场景
max为最困难的任务提供最大推理能力计算机操作、研究级难题、离线的重度计算几乎所有日常请求

OpenAI 将 effort 称为“一个调节旋钮,而不是恢复质量的主要手段”。结果不好时,应先检查提示词、工具定义和上下文,之后再调高强度。


基准测试对各等级的说明

以下数据为 OpenAI 自己的测试结果,由 Vellum 和 DataCamp 整理。请将其作为参考,而非定论。

对于编码任务,high 通常已经足够。在 DeepSWE v1.1 上,6.1 Sol 在 high 下得分 75.2,与 Astra 在 high 下的 74.8 相当,每个任务约 1.50 美元。其成本曲线在每个任务 0.50 至 1.50 美元之间即可达到 72% 至 75%。GPT-6 Sol 在最高强度下得分 68.8,每个任务约 2.60 美元。

高于 medium 并不总能带来帮助。在 AutomationBench 上,6.1 Sol 在 medium 下得分 35.4%,在更高强度下仅约 36.0%。对于商业自动化场景,额外的推理 token 几乎没有带来收益。

max 应留给计算机操作和研究任务。在 OSWorld 2.0 上,max 得分 71.4,每个任务约 1.30 美元。Terminal-Bench Science 在 max 下每个任务成本为 5.47 美元:远低于 Astra 的 23.80 美元,但比大多数其他工作负载高出一个数量级。

low 也有所进步。low 下的事实性错误率从 6 Sol 的 11.4% 降至 7.7%。如果你因为 low 准确度不够而在 6 Sol 上将任务提升到 medium,不妨重新试试 low。


按使用场景的起始建议

使用场景起始等级说明
在 6 Sol 上使用 none 的调用lowOpenAI 官方的映射。如果延迟至关重要,可以考虑仍支持 none 的 GPT-6 Luna
使用 minimal 的调用low从 low 开始,并比较结果
聊天机器人、客户支持low让模型先输出一行前导语,以便更快输出第一个 token
RAG 问答low → medium检索质量比推理强度更重要
IDE 编码助手medium默认值即可满足需求
自动化 bug 修复、SWE 智能体highDeepSWE 显示 high 已与 Astra 相当
计算机操作、浏览器智能体high → maxOSWorld 在 max 时达到峰值
后台研究、长时间运行的任务xhigh仅在评测显示有提升时使用。如果不需要立即获得结果,批量处理可将成本减半
最困难的研究问题max,或直接使用 AstraOpenAI 在这里同样推荐 Astra

none 和 minimal 的映射来自 OpenAI 的GPT-6 迁移指南。


在对话中途更改推理强度

一种常见的做法是:先用 high 规划,用 low 执行,出错时再切回 high。

问题在于:在请求中修改 reasoning.effort 会破坏你的提示词缓存。推理强度属于缓存前缀的一部分(参见提示词缓存指南)。在 6.1 Sol 上,读取缓存每百万 token 费用为 0.10 美元,而重写缓存为 2.50 美元,相差 25 倍。

GPT-6 系列通过 configuration_update 输入项来解决这个问题。请保持请求级别的 reasoning.effort 不变,并在下一条用户消息之前插入一个更新项。通过 AIHubMix Responses API 的具体写法如下:

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["AIHUBMIX_API_KEY"],
    base_url="https://aihubmix.com/v1",
)

# Turn 1: plan at high effort
r1 = client.responses.create(
    model="gpt-6.1-sol",
    reasoning={"effort": "high"},
    input="Figure out why this repo's tests are failing and propose a fix plan.",
)

# Turn 2: drop to low for execution, without touching request-level effort
r2 = client.responses.create(
    model="gpt-6.1-sol",
    reasoning={"effort": "high"},           # unchanged, so the cache survives
    previous_response_id=r1.id,
    input=[
        {"type": "configuration_update", "reasoning": {"effort": "low"}},
        {"role": "user", "content": "Carry out step 1 of the plan."},
    ],
)
configuration_update 的结构仅作示意。具体的 schema 请以 OpenAI 推理指南为准。AIHubMix 的 Responses 文档目前列出四个等级(从 minimal 到 high),因此请先发送一个小的测试请求,确认 xhigh、max 和 configuration_update 都能正常透传。

需要了解的一些限制:

  • 它仅在标准的单智能体模式下有效,且只能更改推理强度。
  • 两个更新项不能相邻放置。
  • 它不能与自动压缩或截断同时使用。可以使用显式压缩,但之后需要添加一个新的更新项。
  • 响应中的 reasoning.effort 字段仍会显示请求级别的值,因此不要过度解读该字段。

与推理强度配套的设置

为 max_output_tokens 预留足够空间。该上限包含推理 token。如果设置得太低,模型可能在输出任何可见文本之前就停止。你会得到 status: incomplete,并且仍需为输入和推理 token 付费。OpenAI 建议起步时至少预留 25,000 个 token,若使用 xhigh 或 max,则应预留更多。

追踪推理 token。它们位于 usage.output_tokens_details.reasoning_tokens 中。查看各推理强度等级下的分布,比凭感觉调整更可靠。

如需了解模型的推理过程,可开启摘要。reasoning.summary: "auto" 会返回模型推理的摘要(你可能需要先完成组织验证)。原始推理内容永远不会对外暴露。

Pro 模式是独立的开关。它会让模型做更多工作,按标准费率计费,但总 token 数更多。适用于能接受额外延迟的高难度问题。


一个你真正能执行的调优流程

  1. 收集 20 到 50 个真实任务,组成评测集。
  2. 以 medium 运行基线测试。记录成功率、平均推理 token 数和 P95 延迟。
  3. 尝试 low。如果成功率几乎没有下降,就切换过去。
  4. 尝试 high。如果成功率明显提升,则只为该类任务使用 high。
  5. 只有在 high 不够用时,才考虑 xhigh 或 max,并同时与 high 下的 GPT-6 Astra 进行比较。有时更大的模型比增加推理强度更有效。在 AIHubMix 上,这只需修改 model 参数即可,具体可用选项参见模型列表。
  6. 按任务类型进行路由,而不是使用单一的全局设置。

简要总结:从 medium 开始,用 low 节省成本,编码任务使用 high,而 xhigh 和 max 需要通过你的评测证明其价值。

下一篇:一旦考虑缓存、长上下文和计费倍率,$2 / $10 的价格标签究竟意味着什么。


常见问题

GPT-6.1 Sol 的默认推理强度是多少?medium。如果你不做设置,就会使用它。

为什么 none 会返回错误?6.1 Sol 不支持 none 或 minimal。OpenAI 建议改用 low。如果你确实需要 none,请继续使用 GPT-6 Sol 或 GPT-6 Luna。

推理 token 如何计费?按输出费率计费(6.1 Sol 为每百万 token 10 美元),并且会占用上下文窗口。实际数值请查看 usage.output_tokens_details.reasoning_tokens。

Chat Completions 和 Responses 中的参数名相同吗?不相同。Chat Completions 使用顶层的 reasoning_effort。Responses 使用嵌套的 reasoning: {"effort": ...}。混淆两者会返回 Unsupported parameter。

更高的推理强度是否总能带来更好的结果?不是。在 AutomationBench 上,超过 medium 只将得分从 35.4% 提升到约 36.0%,但成本明显更高。请用你自己的任务进行测试。

我能在对话进行到一半时更改推理强度吗?可以。使用 configuration_update 项,并保持请求级别的 reasoning.effort 不变,这样提示词缓存才能保持有效。它不能与自动压缩或截断同时使用。

为什么我得到了 status: incomplete 且没有输出?最可能的原因是 max_output_tokens 设置得过低,推理过程已将其全部用完。OpenAI 建议至少预留 25,000 个 token。


继续阅读:GPT-6.1 Sol 系列


资料来源

一个网关接入多家 AI 服务商, 为生产环境而生。

访问推理时代官网