OpenRouter 平台功能
OpenRouter 平台功能
Fusion
3 分钟阅读
Fusion
作为服务端工具的多模型合议
测试版(Beta)
服务端工具目前处于测试阶段。API 与行为可能会变更。
openrouter:fusion 服务端工具让任意模型都能进行多模型合议。当你的模型判断某条提示词能从多种视角中获益时,会调用此工具——一组评审模型并行作答,分析模型比较它们的回复,结构化分析再返回给你的模型以给出最终答案。
这与 openrouter/fusion 模型别名 和 fusion 插件 背后的流水线相同。直接使用服务端工具能获得最大控制权:选择你自己的外层模型、与其他工具组合,并分别配置评审组和分析模型。
快速开始
Fusion 在 tools 数组中目前已可用于 /chat/completions,但该路径的延迟高于 Responses API。若对延迟敏感,请将同样的 tools: [{ type: "openrouter:fusion" }] 请求体改发到 Responses API。
模型何时会调用它?
该工具的描述会引导模型仅在任务确实能从多种视角中获益时调用 openrouter:fusion——研究类问题、跨领域点评、「比较与对比」类提示词,或任何出错代价很高的场景。简单的战术性提示词不会触发它。
若要在每次请求上都强制使用 Fusion,设置 tool_choice: "required"。参见在每次请求上强制使用 Fusion。
参数
在工具条目上传入可选的 parameters 对象以覆盖默认值:
| 字段 | 默认值 | 说明 |
|---|---|---|
analysis_models | 质量预设(~anthropic/claude-opus-latest、~openai/gpt-latest、~google/gemini-pro-latest) | 组成评审组的模型。每个模型并行运行,并启用 openrouter:web_search 和 openrouter:web_fetch。允许 1–8 个模型。 |
model | 你的外层模型 | 生成结构化分析 JSON 的分析模型。默认为处理你请求的同一模型。 |
max_tool_calls | 4 | 每个评审组模型和分析模型在其 openrouter:web_search / openrouter:web_fetch 循环中最多可采取的工具调用步数,之后必须返回文本。范围为 1–16。 |
max_completion_tokens | 16000 | 每次内部评审组/分析模型调用的最大输出 Token 数(含推理)。避免重度推理模型在产出可见文本前耗尽预算。 |
reasoning | 服务提供商默认值 | 转发给评审组和分析模型调用的推理配置——一个可包含可选 effort 和 max_tokens 的对象。 |
temperature | 服务提供商默认值 | 转发给评审组调用的温度(0–2)。分析模型始终以温度 0 运行。 |
工具返回什么
成功时,工具结果包含结构化分析和评审组的原始回复:
当部分评审组模型出错但至少有一个成功时,结果仍为 status: "ok",并额外附带 failed_models 数组,说明哪些失败以及原因。
分析模型降级
若评审组成功但分析模型失败——上游错误、空补全,或输出不是有效的分析 JSON——该工具不会报错。它会返回 status: "ok",附带评审组的原始 responses,并直接省略 analysis。你的模型仍可根据评审组回复撰写最终答案:
硬失败
仅当工具无法产生任何有用输出时,才会返回 status: "error"。此时会包含带类型的 failure_reason:
| 原因 | 含义 |
|---|---|
all_panels_failed | 每个评审组模型都返回了错误。 |
insufficient_credits | 每个评审组模型都失败了,且至少有一个是因为额度不足。 |
rate_limited | 每个评审组模型都失败了,且至少有一个是因为触发了速率限制。 |
fusion_invocation_capped | 同一轮中 Fusion 此前已被调用;第二次调用会被拒绝。 |
unexpected_error | 意外错误中断了此次 Fusion 运行。 |
每当 Fusion 失败或降级时,调用方模型都可以回退为不依赖该分析直接作答。
Web 工具
openrouter:web_search 和 openrouter:web_fetch 会在评审组和分析模型的调用上同时启用,因此模型可以在作答和分析时拉取最新来源。分析模型比较评审组回复,而不是简单合并:它将全部或大多数模型同意的内容视为更高置信度的共识,呈现矛盾,保留个别模型的独特见解,并标出它们都未涉及的盲点。外层模型根据该分析撰写最终答案——因此结果不是简单的多数投票。
递归保护
内部 Fusion 调用会携带 x-openrouter-fusion-depth 请求头。评审组和分析模型不能递归调用 openrouter:fusion——插件会拒绝再次注入该工具,从而将合议限制在单层。