OpenRouter 平台功能

OpenRouter 平台功能

Fusion 插件

3 分钟阅读

Fusion

由分析师模型进行的多模型分析

Fusion 插件让你的模型可以使用多模型评议工具。当模型调用该工具时,一组模型会并行回答你的提示词(并启用 openrouter:web_search),分析师模型比较它们的响应并返回结构化分析,然后你的模型基于该分析写出更好的最终回答。

Fusion 插件是 openrouter:fusion 服务端工具 的配置入口,同时也是 openrouter/fusion 模型别名 背后的机制。这三种入口走的是同一条流水线。

何时使用 Fusion

当单个模型不够用时再使用 Fusion,例如研究、专家点评,或受益于多种视角的任务。对于简短的战术性提示词,Fusion 大材小用;当答错的代价高于多几次补全时,再使用它。

工作原理

  1. 插件将 openrouter:fusion 工具注入你的请求。如果你使用了 model: "openrouter/fusion",还会把该别名解析为真实模型。
  2. 你的模型阅读提示词,并决定是否调用 openrouter:fusion
  3. 模型组(一组模型)并行回答你的提示词,每个模型都启用 openrouter:web_searchopenrouter:web_fetch
  4. 分析师收到全部模型组响应,并可使用 openrouter:web_searchopenrouter:web_fetch 进行比较。它不会把响应合并,而是以 JSON 返回结构化分析:共识(全部或大多数模型同意的要点,视为更高置信度)、矛盾、部分覆盖、个别模型的独特见解,以及所有模型都未涉及的盲点。
  5. 你的模型收到结构化分析,并写出最终回答。

配置

{
  "model": "openrouter/fusion",
  "plugins": [
    {
      "id": "fusion",
      "analysis_models": [
        "~anthropic/claude-opus-latest",
        "~openai/gpt-latest",
        "~google/gemini-pro-latest"
      ],
      "model": "~openai/gpt-latest"
    }
  ]
}
字段默认值说明
preset精选的 OpenRouter 预设 slug(例如 general-high),会展开为模型组 + 分析师,因此你不必自行指定模型。显式的 analysis_models / model 会覆盖它。见预设
analysis_modelsQuality 预设(~anthropic/claude-opus-latest~openai/gpt-latest~google/gemini-pro-latest组成模型组的模型。每个模型并行运行,并启用 openrouter:web_searchopenrouter:web_fetch。允许 1–8 个模型。
modelQuality 预设中的第一个模型(~anthropic/claude-opus-latest生成结构化分析的分析师模型。使用 model: "openrouter/fusion" 时,该模型也会写出最终回答;若将插件挂到你自己指定的模型上,分析师默认使用该模型。
max_tool_calls4每个模型组成员和分析师在 openrouter:web_search / openrouter:web_fetch 循环中最多可执行的工具调用步数,之后必须返回文本。范围为 1–16。
enabledtrue设为 false 可在单次请求中跳过 Fusion。

当你发送 model: "openrouter/fusion" 且不提供插件配置时,默认值与 Fusion 实验室 上的 Quality 预设一致。

预设

不想自己挑选模型?用 preset 引用精选预设的 slug——模型组和分析师会为你选好:

{
  "model": "openrouter/fusion",
  "plugins": [{ "id": "fusion", "preset": "general-budget" }]
}

Slug 遵循 <task>-<tier>task 表示你希望模型组优化的目标,tier 表示质量/成本/速度的权衡(high = 最强模型,budget = 更便宜的模型组但使用同一前沿分析师,fast = 延迟同质的模型组,每个模型的首 Token 时间(TTFT)相近,因此不会有单个模型拖住扇出)。这些预设与 Fusion 实验室 界面中展示的一致。

预设适用场景
general-high最强的综合模型组。
general-budget更便宜的模型组搭配前沿分析师,以较低成本完成高质量综合。
general-fast针对快速智能体回合优化的延迟同质模型组,并搭配前沿分析师。

显式的 analysis_modelsmodel 始终优先于预设。

两种入口,同一条流水线

openrouter/fusion 等价于在已配置的模型上启用 openrouter:fusion 服务端工具。以下两种写法行为相同:

{
  "model": "openrouter/fusion",
  "messages": [
    { "role": "user", "content": "碳税最有力的支持和反对论点分别是什么?" }
  ]
}

在这两种情况下,都由模型决定何时调用 openrouter:fusion。对于不需要评议的提示词,它会直接回答,也可以调用你定义的其他工具。

完整示例

const response = await fetch('https://openrouter.ai/api/v1/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer <OPENROUTER_API_KEY>',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'openrouter/fusion',
    messages: [
      {
        role: 'user',
        content: '比较岭回归(ridge)、套索回归(lasso)和弹性网络回归(elastic-net)。各自最擅长什么?',
      },
    ],
    plugins: [
      {
        id: 'fusion',
        analysis_models: [
          '~anthropic/claude-opus-latest',
          '~openai/gpt-latest',
        ],
      },
    ],
  }),
});

const data = await response.json();
console.log(data.choices[0].message.content);

递归保护

内层 fusion 调用会携带 x-openrouter-fusion-depth 请求头。模型组和分析师模型不能递归调用 openrouter:fusion。插件会拒绝第二次注入该工具,从而将评议限制在单层。