跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

推理强度与能力声明

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

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 不会使其改回手动模式。