跳转到内容
OmniRoute source

Auto-Combo: Let OmniRoute Pick the Best AI for You (中文 (简体))

你无需选择特定的 AI 模型(例如 GPT-4o 或 Claude),而是可以让 OmniRoute 为每个请求自动选择最佳模型。它会考虑:

  • 健康状态 — 提供者当前是否正常工作?
  • 速度 — 响应速度有多快?
  • 成本 — 使用成本是多少?
  • 质量 — 是否擅长处理此类任务?
  • 容量 — 是否还有剩余配额?

OmniRoute 会为你已连接的所有提供者评分,并选择最佳提供者。如果调用失败,它会自动尝试下一个。


步骤 1:在 IDE 或 CLI 中将模型设置为 auto:

model: "auto"

步骤 2:就这么简单!其余工作由 OmniRoute 处理。

步骤 3(可选):针对特定任务使用变体:

model: "auto/coding" # 最适合编程
model: "auto/fast" # 响应最快
model: "auto/cheap" # 成本最低

如果你想要…… 使用此项 最适合 工作方式
综合表现最佳 auto 一般问题、聊天 平衡速度、成本和质量
最适合编程 auto/coding 编写代码、调试 选择擅长编程任务的模型
响应最快 auto/fast 快速回答、低延迟场景 将速度置于首位
成本最低 auto/cheap 节省费用 选择成本最低的提供者
最智能的模型 auto/smart 复杂任务 质量优先,同时探索新模型
可用性最高 auto/offline 提供者繁忙时 选择剩余容量最多的提供者
终端窗口
# 常规聊天 — 均衡
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
# 代码生成 — 质量优先
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto/coding","messages":[{"role":"user","content":"Write a Python function"}]}'
# 快速回答 — 速度优先
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto/fast","messages":[{"role":"user","content":"What is 2+2?"}]}'

当你发送包含 model: "auto" 的请求时,OmniRoute 会:

  1. 检查所有已连接的提供者 — 你添加的每个提供者(OpenAI、Anthropic、Google 等)
  2. 为每个提供者评分,考量因素包括:
    • 是否正常工作?(健康状态)
    • 是否有可用容量?(配额)
    • 成本是多少?(价格)
    • 速度有多快?(速度)
    • 是否擅长此任务?(质量)
  3. 选择最佳提供者 — 得分最高的提供者将处理你的请求
  4. 自动恢复 — 如果调用失败,OmniRoute 会自动尝试下一个提供者

每个提供者都会获得一个 0 到 1 之间的分数。分数越高,匹配度越高。

因素 权重 含义
健康状态 20% 提供者是否正常工作?(熔断器状态)
配额 15% 是否还有剩余容量?
成本 15% 费用有多高?(越便宜,得分越高)
速度 12% 速度有多快?(延迟越低,得分越高)
任务适配度 8% 是否擅长此类任务?
稳定性 5% 表现是否稳定?(错误率低)
层级 5% 账户层级(Ultra > Pro > Free)
其他 20% 上下文亲和度、连接密度等

每种变体使用不同的权重:

变体 优先考虑 关键权重
auto 均衡 health=20%, quota=15%, cost=15%
auto/coding 质量 taskFit=37%, stability=15%
auto/fast 速度 latency=32%, health=28%
auto/cheap 成本 cost=37%
auto/smart 质量 + 探索 taskFit=37%, exploration=10%
auto/offline 容量 quota=37%, health=28%

OmniRoute 提供三层保护机制:

如果最佳提供者失败,OmniRoute 会自动尝试下一个。你无需进行任何操作。

如果某个提供者持续失败:

  • 评分 < 0.2 → 排除 5 分钟
  • 断路器开启 → 自动排除
  • 超过 50% 的提供者不可用 → 事故模式(停止探索)

如果所有提供者都失败,OmniRoute 会将请求路由到稳定的免费提供者(如 Kiro 或 Qoder),作为最后的保障。


如果你为同一个提供者配置了多个账户(例如两个 OpenAI 密钥),OmniRoute 会将每个账户视为一个独立候选项。这意味着:

  • 账户 A 仍有剩余额度 → 使用它
  • 账户 B 受到速率限制 → 跳过它
  • 账户 C 成本更低 → 优先使用它

每个账户都会根据自身的健康状况、额度和速度进行独立评分。


OmniRoute 偶尔会探索新的提供者,以发现更好的选择:

  • 默认:5% 的请求会发送给随机提供者
  • Auto/smart:探索率为 10%
  • 当超过 50% 的提供者处于不健康状态时禁用

这有助于 OmniRoute 了解哪些提供者最适合你的使用模式。


“它总是会选择最昂贵的模型吗?”

Section titled ““它总是会选择最昂贵的模型吗?””

**不会。**默认情况下,成本只占评分的 15%。便宜、快速且健康状况良好的提供者可能会胜过昂贵的提供者。如果你希望进一步优先考虑成本,请使用 auto/cheap。

“如果某个提供者宕机会怎样?”

Section titled ““如果某个提供者宕机会怎样?””

OmniRoute 会自动跳过它并尝试下一个。如果某个提供者持续失败,它将被临时排除(5-30 分钟)。你无需进行任何操作。

“我可以查看使用了哪个提供者吗?”

Section titled ““我可以查看使用了哪个提供者吗?””

检查响应标头——OmniRoute 会在每个响应中包含所使用的提供者和模型。

“它会从我的使用情况中学习吗?”

Section titled ““它会从我的使用情况中学习吗?””

会!评分系统会利用历史数据(延迟、错误率、成功率),随着时间推移做出更好的决策。

“auto 和 auto/smart 有什么区别?”

Section titled ““auto 和 auto/smart 有什么区别?””
  • auto —— 均衡模式,探索率为 5%
  • auto/smart —— 质量优先(权重与 auto/coding 相同),探索率为 10%

如果你希望获得最佳质量,并且可以接受偶尔的探索,请使用 auto/smart。

“我可以强制使用特定提供者吗?”

Section titled ““我可以强制使用特定提供者吗?””

可以!请使用采用 priority 策略的组合,而不是 auto,然后将组合的确切名称作为 model 字段发送(例如 model: "my-combo",而不是 auto)。详情请参阅技术参考。

轮询会按顺序依次使用各个提供者。Auto-combo 会为每个提供者评分并选择最佳提供者。它更加智能——会综合考虑健康状况、速度、成本和质量。



开发者和贡献者可参阅 Auto-Combo 技术参考,了解:

  • 完整的 16 因子评分算法
  • 模式包权重表
  • 实现文件路径
  • API 端点
  • 自修复算法详情

OmniRoute 源码 (a58000c7685f)

HagiCode

HagiCode 是一套智能体编码工作台:结构化工作流、多 Agent 并行执行与 Hero Dungeon 视图,把想法变成真正交付的软件。

让想法更快变成好用的软件,让智能编码更聪明、更高效,也更有趣。

HagiCode 浅色主题主界面截图
  • Smart结构化工作流将意图转化为从想法到交付的可执行路径。
  • Efficient多 Agent 工作流让调研、实现与审阅并行推进。
  • FunHero Dungeon 让长时间编码协作更直观、更有参与感。
访问 HagiCode