Skip to content

在模型 slug 末尾添加 :exacto,可以让 OpenRouter 在路由时优先选择工具调用质量更好的提供商,而不是默认的价格优先排序。适合对工具调用准确性和可靠性要求高于成本考虑的 Agent 工作流场景。

用法

在模型 ID 末尾加上 :exacto

typescript
import { OpenRouter } from '@openrouter/sdk';

const openRouter = new OpenRouter({
  apiKey: process.env.OPENROUTER_API_KEY,
});

const completion = await openRouter.chat.send({
  model: 'moonshotai/kimi-k2-0905:exacto',
  messages: [
    {
      role: 'user',
      content: 'Draft a concise changelog entry for the Exacto launch.',
    },
  ],
  stream: false,
});

console.log(completion.choices[0].message.content);

也可以在 models 数组中同时配置 fallback 模型,带 :exacto 后缀的模型被选中时会触发 Exacto 排序:

json
{
  "models": ["anthropic/claude-sonnet-4-5:exacto", "openai/gpt-4o:exacto"]
}

Exacto 的工作原理

Exacto 使用三类信号对提供商进行排序:

  1. 真实流量的工具调用成功率和可靠性
  2. 提供商性能指标(吞吐量、延迟)
  3. 基准测试和评估数据(持续更新)

具有良好历史记录的提供商排在前面,数据不足的提供商排在成熟提供商之后,质量信号差的提供商进一步降权。

Exacto vs Auto Exacto

特性Exacto(:exacto 后缀)Auto Exacto
触发方式显式在 model slug 加后缀有工具调用时自动生效
适用场景需要明确指定排序模式大多数工具调用场景

如果你显式指定了价格、吞吐量或延迟排序,该排序仍优先于 Exacto。

推荐使用场景

Exacto 最适合以下情况:

  • 工具调用准确性比成本更重要的 Agent 流程
  • 同一模型有多家提供商,且各家工具调用质量差异明显
  • 对工具调用成功率有明确要求的生产环境

常见问题

Q: Exacto 会增加费用吗?

A: Exacto 只影响提供商排序,费用由最终选中的提供商定价决定。质量优先可能会选到单价稍高的提供商,但不是 Exacto 本身的附加费。

Q: 没有工具调用的请求也可以用 :exacto 吗?

A: 可以加上,但效果主要体现在有工具调用的场景。普通文本请求影响不大。

Q: Exacto 和 Auto Exacto 有什么区别?

A: Auto Exacto 在检测到工具调用时自动应用,无需任何配置。:exacto 是你主动选择的显式版本,适合需要明确控制路由策略的场景。