Skip to content
FunCoding

Search

Search docs, Skills and MCP

推理强度与能力声明

配置 effort、能力档位与关闭行为,辨别不同协议和原始参数的优先级。

This page has not been translated into English yet. The original Chinese version is shown below.

generationConfig.reasoning 控制推理配置;capabilities.reasoning 描述模型支持的格式、档位和默认值。两者用途不同,原始请求字段又可能覆盖它们。

声明未知模型能力

对目录未识别的别名,可在模型条目给出完整声明:

{
  "id": "company-model-v2",
  "baseUrl": "https://gateway.example.com/v1",
  "envKey": "COMPANY_MODEL_API_KEY",
  "capabilities": {
    "reasoning": {
      "profile": "openai-effort",
      "efforts": ["low", "medium", "high"],
      "defaultEffort": "medium"
    }
  }
}

示例假定网关支持该格式,实际能力需与端点一致。已知模型可只覆盖部分字段,其余继承所选端点的目录能力;efforts 会替换支持档位子集,defaultEffort 必须属于该子集。

官方 profile 按协议分组:Chat 支持 openai-effort、openai-reasoning、deepseek-openai、dashscope-effort、dashscope-thinking、qwen-chat-template;Responses 使用 openai-reasoning;Anthropic 使用 anthropic-manual、anthropic-adaptive、deepseek-anthropic;Gemini/Vertex 使用 gemini。仅有开关的 profile 不声明档位和默认 effort。

能力修改在下一条用户提示前生效,该提示的重试与子智能体沿用捕获的推理配置。无效更新保留旧配置并记录错误,不应通过不断重启掩盖错误声明。

effort 转换不是各处相同

以下是 Qwen Code 文档描述的转换规则,不是对所有上游模型能力的统一承诺:

路由配置转换要点
DashScope qwen3.8-max 系列使用 reasoning_effort;配置 max 会限制为 xhigh
真实 api.deepseek.com嵌套 effort 的 low/medium 转 high,xhigh 转 max;其他主机不因模型同名自动获得该规则
Z.ai 主机上的 GLM-5.2+可用到 max;旧型号或其他主机保持通用上限
已知 GPT 模型按已知模型的上下限调整档位;OpenRouter 使用嵌套 reasoning
OpenAI Responses使用 reasoning 对象及 encrypted_content,请求档位原样传递
真实 Anthropic 端点该页实现说明将 max 限制到 high;DeepSeek Anthropic 兼容端点则保留 max
Geminilow 对应 LOW,high/max 对应 HIGH,其余映射为未指定级别

能力声明可调整已知模型的格式和可用档位。不要只看 id 中含 deepseek/glm 就推断最大档位;端点主机也参与判断。

samplingParams 和 extra_body

一般 OpenAI 兼容路径在存在 samplingParams 时会原样使用它,跳过单独 reasoning 注入;仅给 temperature 也可能导致独立 effort 不生效。

已知 GPT、显式推理能力声明以及 DashScope Qwen 有专门例外。GPT 可以保留与推理无关的采样参数,同时按能力转换 effort;DashScope 则直接读取 reasoning 并转为 reasoning_effort 或 enable_thinking。

在 qwen3.8-max 上,冲突字段通常按 extra_body > samplingParams > reasoning 取值;同层同时给 reasoning_effort 与 thinking_budget 时保留前者。旧 Qwen 混合模型对不兼容字段有不同处理,不应复用整个请求体模板。

原始 reasoning 覆盖可能阻止 /effort 的显式改动;此时会报告失败而不保存一个实际无效的偏好。需要改档位时,先删除阻止它的原始覆盖。

关闭与预算

reasoning: false 只对允许关闭思考的模型生效。强制思考模型不会因此关闭。真实 DeepSeek 路由会发送显式 disabled thinking,而本地同名模型需按推理框架配置原生开关。

OpenRouter 使用自身的嵌套禁用字段;其他主机不自动获得该特例。Anthropic 与 Gemini 转换器直接读取 reasoning,不受一般 OpenAI samplingParams 跳过规则影响。

可以设置 reasoning: { "effort": "high", "budget_tokens": 50000 }。官方说明 Anthropic 将其转为 thinking.budget_tokens;OpenAI/DeepSeek 当前服务侧忽略该预算字段,主要使用 effort。采用 adaptive profile 时,旧 manual budget 不会使其改回手动模式。