AIREITER

OpenRouter Auto Router 与 Auto Code:该怎么选

最后更新: 2026-11-06 19:21:05

编程 Agent 和通用聊天机器人,不该共用同一套路由策略。混合请求流量用 openrouter/auto,多轮编程会话用 openrouter/auto-code。但有一点很关键:按已解决任务计算,Auto Code 通常比 Auto 贵;所谓节省 74%,比较对象是 Opus 5.5。

两款路由器均于 2026 年 11 月 5 日上线,OpenRouter 在 11 月 6 日公布。二者使用同一个路由引擎,区别在于起始模型档位,以及失败信号如何影响后续会话。路由本身不收额外费用,每次请求均按实际选中模型的常规价格计费(OpenRouter announcement)。

混合请求选 Auto,持续编程任务选 Auto Code

你的工作负载建议选择原因
混合聊天、RAG、通用 Agent、提示词类型未知openrouter/auto默认采用成本效率更高的中等档位,任务覆盖面广
编程 Agent、测试框架、带测试的仓库修改openrouter/auto-code起步即使用更强的编程模型档位,可跨轮次跟踪修改、测试和重复错误
聊天中一次性的代码问题openrouter/auto没有可利用的会话上下文;在大多数基准中单任务成本更低
上下文很大的长时间自主仓库任务先固定一个模型,再试用 Auto Code账单与缓存更可预测;见 FAQ
必须在欧盟区域内路由使用带区域策略的 openrouter/autoAuto Code 不支持通过欧盟区域内路由使用(Auto Code page)

Auto Code 是面向编程 Agent 的路由器,起始成本档位更高,并综合权衡通过率、速度和每个已解决任务的成本(OpenRouter announcement)。

如果你已经清楚哪个模型最适合自己的工作负载,OpenRouter 的建议也是继续用它。路由器会牺牲一点峰值表现,换取不必追踪每次模型发布、却能持续得到成本效率较高选择的便利(OpenRouter announcement)。

“便宜 74%”这个说法能信吗?

方向可以参考,具体数字要打问号。“低 74%”比较的是 Auto Code 与 Claude Opus 5.5 在五项由 OpenRouter 自行运行的基准测试中的表现,并非与 Auto 对比,也没有经过独立验证。截至 2026 年 11 月 6 日、产品发布后一天,我没有找到独立复现结果(OpenRouter announcement)。

下面是公告中的完整基准表。只看宣传标题,很容易忽略另一半信息:

基准测试Auto(medium)得分 / 单任务成本Auto Code 得分 / 单任务成本旧版 Auto 得分 / 单任务成本
DeepSWE69.0% / $0.5774.3% / $1.9864.6% / $1.37
SWE-Atlas QA59.7% / $0.3662.5% / $0.6644.0% / $0.12
TerminalBench 4.045.7% / $1.3350.0% / $4.9628.3% / $0.61
Tau-bench Banking53.1% / $0.6052.6% / $0.6013.7% / $0.087
MMMU Pro Vision80.1% / $0.02082.3% / $0.02574.4% / $0.006

从这张表可以得出三点(OpenRouter announcement):

  1. Auto Code 在 5 项中有 4 项得分高于 Auto,但在 Tau-bench Banking 中以 52.6% 落后于 53.1%。差距大约是 2 到 5 个点,并不是代际飞跃。
  2. Auto Code 在 5 项中有 4 项比 Auto 更贵,TerminalBench 上最高达到 3.7 倍($4.96 对 $1.33)。它在每一项基准中也都比旧版 Auto Router 更贵,例如 TerminalBench 上是 8.1 倍。
  3. “更便宜”只是在与 Opus 5.5 比较单个已解决任务时成立。单任务成本包含重试次数:按 token 更便宜的模型若失败两次,单个已解决任务的成本可能高于一次通过的昂贵模型。这是衡量 Agent 的合理指标,但不代表你的每 token 账单下降了 74%。

社区的质疑主要针对可验证性,而非整体方向:

“说得很清楚:74% 这个数字来自 OpenRouter 自己的 5 项基准,并非独立验证。可以相信方向,不要迷信具体数字。” —— @LJL06019

还有用户提出了决定你能否复现这一结果的问题:“只有当我的提示词能告诉路由器什么任务很难时,74% 才成立。那到底是什么在告诉路由器什么任务难?”(@harden_369741)。

更准确的理解应是:在这五项偏重编程的基准中,Auto Code 的能力大致接近 Opus 5.5,但每个已解决任务的成本更低;而当原始得分不是硬约束时,Auto 是更便宜的路由器。做预算前,先在自己的仓库任务集上重新跑一遍。

底层到底有哪些不同

引擎相同,策略不同。两款路由器每次调用都会评估 11 个请求因素,包括任务类型、难度、速度是否重要、是否需要视觉或代码库知识、是否值得使用更大的模型或更多推理;随后再结合实时价格、提供商健康状态、提示词缓存状态、基准数据和会话历史作出决策(OpenRouter announcement)。

在此基础上,Auto Code 又增加了三项面向编程的权重(OpenRouter announcement 和 Auto Code page):

  • 起步使用更强、也更贵的编程模型档位,而不是 Auto 强调成本效率的中等档位。
  • 更看重延迟,并对失败的代码修改施加更高惩罚。
  • 修改未通过测试或反复出现同一错误时,会更快切换模型。

升级顺序很重要:会话卡住时,Auto Code 会先提高推理强度,之后才切换模型。OpenRouter 表示,借助这一机制和会话粘性,测试阶段的 Agent 回合中近 9 成仍停留在同一模型上;相较旧路由器,无效工具调用减少 4 倍,因输出截断而中止的 Agent 回复减半(OpenRouter announcement)。p90 路由延迟则从 1.96s 降至 0.65s,约快 3 倍(OpenRouter announcement)。

Auto 的通用途径更早推出,也有单独文档:轻量级分类器会将请求划分为约 30 种细分任务类型,例如 code:debugging、agent:multi_step_planning;再按各任务近 7 天的社区消费份额对模型排序,应用你的成本档位和限制条件,最后选出主模型和后备模型(Auto Router docs)。新一代仍保留这一市场信号,但加入了会话层。

实时路由构成也能说明“更强档位”在实际中意味着什么。11 月 6 日的一个快照显示,Auto Code 最近 24 小时的流量共 992 次请求,其中 GPT-6.1 Sol 占 70.4%,Claude Opus 5.5 占 14.8%,GLM 5.3 占 11.0%(Auto Code page)。Auto 的通用流量则更偏向低成本模型,仅 DeepSeek V4 Flash 的各个变体就在概览页面显示的量中占约 47%(Auto overview)。价格和新模型发布都会让比例在数天内变化,因此把它当作天气看,不要当作固定阵容。

模型切换的代价:缓存重建与提供商粘性

泛泛的产品发布报道往往跳过这一点,但它会决定你的实际账单。会话中途切换模型会丢掉提示词缓存:新模型必须以全价重新读取上下文。OpenRouter 也承认这一机制——路由器会让多轮对话持续使用同一模型,直到它不再是领先选择,目的正是降低缓存重建(OpenRouter announcement)。

真实用户从不同角度都报告过这个问题:

“大家不断尝试按请求粒度构建路由器,但这行不通……脱离周边上下文的提示词,根本没有足够信号判断复杂度……我们无法以经济的方式在一个会话中频繁换模型。一两次判断失误……花的钱就可能比一开始直接用最好的模型还多。” —— @kunchenguid

这类批评背后最直观的数据来自 OpenCode 的作者:修复 OpenRouter 缓存问题后,一次测试账单从 $50 降到 $6(@thdxr)。Reddit 上,一名测试 openrouter/auto 的用户称:“我们测试时它的缓存命中率基本为 0”(u/tankerkiller125real);另一位用户发现:“每次 Auto 切换 id,下一次调用的 cache_discount 都变成 0,而固定模型的运行仍在读取缓存”(u/Michael_Jeffords)。VS Code 讨论帖中点赞最高的建议很直接:“为了更好的结果,请固定模型和提供商,这样缓存能节省成本;否则你会把大上下文发送给随机提供商。”(u/Zealousideal-Part849)

这会带来两个实际后果:

  1. 缓存命中率才是账单关键,不是标价。一位用户估算,如今约 87% 的 Agent token 来自缓存(@shu8ham_)。因此,破坏粘性的路由器可能比能复用上下文的高价固定模型更贵。这名用户把时间戳从系统提示词开头移到末尾,就修复了每次调用都会失效的缓存(@shu8ham_)。
  2. 粘性也可能让你被困在不佳的主机上。只要缓存仍是热的,后续请求会继续留在同一提供商;因此,一个较弱的量化端点可能拖累整个会话。“相同模型名不代表是相同模型。要固定的是提供它的服务。”(@webtkdev)切换后若质量波动,记录提供商,而不只是模型名。

Auto Code 的应对方式——先提高推理强度,只有出现明确失败时才快速切换——方向是对的(Auto Code page)。但在你亲眼看到自己的 cache_discount 在整个会话中持续非零之前,应把模型切换视为需要纳入预算的风险,而不是免费操作。

真正能控制账单的成本设置

cost_tier 是价格区间,不是价格上限。五个档位——low、medium、high、xhigh、max——各自对应一段可选模型的成本区间;高于或低于该区间的模型都可能被排除。经典文档路径中,未设置档位的行为大致接近 low(Auto Router docs)。Reddit 上的总结值得记住:“cost_tier 是区间,不是上限……当账单必须可预测时,请固定精确模型。”(u/conifer_v11)

下面是一套适用于两款路由器的可行配置:

  • 试验仓库任务集时,Auto Code 从默认设置开始;如果你喜欢旧版的低价行为,Auto 则从 low 开始。OpenRouter 把新的默认定价提高到“大约几个月前”的水平,以纳入能力更强的模型(OpenRouter announcement)。
  • 用 allowed_models / excluded_models 通配符限定候选池,例如 anthropic/*。排除规则优先于允许列表;候选池为空时会以 404 失败关闭(Auto Router docs)。还要注意插件 ID 的陷阱:openrouter/auto 读取 auto-router 设置,而 openrouter/auto-beta 读取 auto-beta-router;把设置交叉提交会被静默忽略(Auto Router docs)。
  • 叠加 provider.max_price 和工作区支出限制,才能形成硬上限;仅靠档位不够(Auto Router docs)。
  • 多轮任务传入明确的 session_id,让粘性依据你的对话会话,而非消息指纹(Auto Router docs)。
  • 逐请求记录 model、提供商、token、价格快照和 cache_discount。只有这份日志能算出每个被接受任务的成本——这既是 Auto Code 优化的指标,也是你的预算真正关心的指标。

本站延伸阅读:Auto Router 配置指南、OpenRouter 定价指南、提示词缓存指南,以及用于了解自托管路由替代方案的 LiteLLM vs OpenRouter。

一行调用路由器,并查看实际运行的模型

凡是接受模型字符串的地方,两款路由器都可以使用(Auto overview):

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openrouter/auto-code",
    "messages": [{"role": "user", "content": "Add a retry with backoff to fetchUser in api/users.ts"}]
  }'

通用流量只需替换为 openrouter/auto。响应中的 model 字段会标明实际回答的模型,务必记录它(Auto Router docs)。发送 X-OpenRouter-Metadata: enabled 可以获取任务分类信息(Auto Router docs);也可以打开 chatroom 的路由洞察面板,查看模型为何被选中,包括任务类型、难度判断和候选份额(OpenRouter announcement)。两款路由器都支持工具调用、流式输出、图像、PDF、音频和视频输入,以及文本/图像输出;路由上限为 2,000,000 token,实际上下文窗口仍取决于所选模型的支持情况(Auto overview 和 Auto Code page)。

还有一点 IDE 端的注意事项:Codex CLI、Cline、Kilo Code、OpenCode、Continue 和 Copilot 风格的 VS Code 配置,可能会在你的提示词之外附加自己的子调用、重试和大上下文。一位用户对比发现,直接通过 Python 的请求约 20 token,而插件请求达到 20k–40k token(r/openrouter routing thread)。看似很小的请求却产生高账单时,先确认 token 来自路由器还是运行框架,再怪路由器。两款路由器背后的 OpenRouter 模型目录覆盖 600+ 个模型(OpenRouter announcement)。

OpenRouter Auto 与 Auto Code 常见问题

Auto Code 比 Auto Router 更贵吗?

通常按任务计算是的。OpenRouter 自己的表格中,Auto Code 在五项基准里有四项成本高于 Auto,第五项持平。Auto Code 所谓“更便宜”,仅限于与固定前沿模型比较每个已解决任务的成本。

路由器会额外收费吗?

不会。openrouter/auto 和 openrouter/auto-code 均按实际选中模型的常规价格计费,路由器不加收费用(Auto overview)。

切换模型会破坏提示词缓存吗?

会,有这种可能。更换模型或提供商后必须重建缓存,用户记录过切换后 cache_discount 立即降为 0。Auto Code 优先提升推理强度,且在测试阶段约 9/10 回合保持粘性(OpenRouter announcement),但仍应在自己的会话中验证。

它们能选哪些模型?我能排除某些模型吗?

在应用你的安全护栏、零数据保留、提供商、允许列表和排除列表过滤后,可以选择目录中的任何模型(Auto Code page)。支持 anthropic/* 这样的通配符,且排除规则优先(Auto Router docs)。

什么情况下应该固定模型,而不是使用路由器?

当账单必须可预测、审计或数据驻留要求使用已知模型,或者你固定的模型在自己仓库上的质量已超过路由器平均水平时。一个不错的流程是先用 Auto 探索,再固定或白名单化最终胜出的模型。

有一项取舍无法靠提示词解决:Auto Code 以更高档位和会话感知能力,换来几个百分点的额外通过率;但每次切换都会消耗缓存。会话越长、上下文越重,最便宜的路由器往往就是最少切换的那个。