Claude Code 模型路由器实测:成本降 82%,代价是 2 个测试

Rebel Router 用本地代理为每次 LLM 请求智能选模,实测比全程用 Opus 省 82% 费用,但通过率从 92% 降至 75%。
Rebel Router 是一个开源本地代理,运行在 Claude Code 等编码 Agent 与模型供应商之间,通过任务分类、质量排名和预算控制,为每次请求动态选择最合适的模型。团队用 12 个真实任务跑了基准测试,结果显示智能路由方案的成本仅为全程使用 Claude Opus 的 18%(0.17 美元 vs 0.96 美元),平均响应延迟也从 31.7 秒降至 19.5 秒。代价是通过率从 92% 跌至 75%,三个失手任务均集中在单元测试和 QA 类别,根因是 Haiku 模型输出超出了 token 上限。作者诚实地指出测试样本过小、Anthropic 不官方支持跨模型路由等局限,建议上线初期务必盯紧账本,避免路由器悄悄跳过本该报警的测试用例。
每次开启 Claude Code 会话,大多数人都习惯锁定一个模型包办所有任务——规划迁移、写测试、总结文件、润色 README。问题在于,每一次请求都按这个模型的单价计费,而在简单任务上,昂贵的模型并不会换来更好的结果。
为了把这个浪费量化,larebelion 团队构建了开源项目 Rebel Router(MIT 协议)——一个运行在本地的代理,能够为每一次请求挑选最合适的模型,并跑了一组自建基准测试。结果是:成本下降 82%,但代价是丢掉了 2 个 Opus 能通过的测试任务。

它到底是什么
Rebel Router 以本地代理(127.0.0.1:8787)的形式,运行在编码 Agent 与模型供应商之间。Claude Code(Anthropic Messages 格式)和 OpenCode(OpenAI Chat 格式)的请求都先经过它,再分发给 Anthropic、OpenAI、xAI、Gemini、DeepSeek广告 或本地 Ollama 模型,所有记录落入 SQLite 账本,供仪表盘与 CSV 导出使用。
整个系统由三部分组成:
- Broker(经纪人):一份模型目录,记录每个模型的价格、速度、上下文长度,以及按任务类别打的质量分,为每次请求排出前三名候选。
- Router(路由器):分类器加代理本体,负责在 Anthropic 与 OpenAI 格式之间翻译(包括流式输出和工具调用)。
- FinOps(财务运维):按天和按项目设定预算,并为每个请求记一笔成本账。
供应商覆盖 Anthropic、OpenAI、xAI(Grok)、Google Gemini、DeepSeek 和本地 Ollama。你可以自带各家 API Key,也可以用一个 OpenCode Zen 的 Key,通过单一端点触达 GPT、Grok、DeepSeek、GLM、Qwen 和 Kimi。
FinOps(财务运维) 是 Financial Operations 的缩写,源自云计算领域,指将财务可见性和成本责任制引入工程实践的一套方法论。在传统云支出管理中,FinOps 强调实时监控、成本归因到团队/项目,以及在性能与开销之间做出数据驱动的权衡。Rebel Router 将这一理念移植到 LLM 调用层:每次 API 请求都被视为一笔可计量的云资源消耗,通过 SQLite 账本实现按天、按项目的成本归因,并通过预算阈值触发自动降级策略,使开发团队能像管理云账单一样管理模型推理成本。
它如何决定用哪个模型
路由决策分五步走,逻辑相当工程化:
第一步,分类。 每个请求被归入六个类别之一——orchestration(编排)、complex_code(复杂代码)、bulk_code(批量代码)、unit_tests(单元测试)、qa_automation(QA 自动化)、documentation(文档),并打一个 0 到 1 的复杂度分。如果配置了 VENICE_API_KEY,它会调用 Venice 的 JEV 决策模型(Beta 阶段);一旦出错、答非所问或响应超过 800ms,就回退到本地规则。规则会看关键词(支持中英西多语)、近几轮用到的工具(Task、TodoWrite、Edit 等)、文件类型(.spec.ts、.md)、上下文大小以及 Claude Code 的请求类型。压缩和辅助调用一律甩给最便宜的文档类模型。
第二步,排名。 Broker 先剔除低于该类别质量下限的模型(遇到复杂任务或 opus 请求会抬高门槛,haiku 则放低),再按质量、价格(输入与输出以 3:1 混合计价)和速度加权,取前三名作为首选加两个后备。
第三步,预算控制。 用到预算的 80% 时偏向更便宜的模型;到 100% 时降级到最便宜的可接受模型,或直接返回 HTTP 402(onLimit: block)。
第四步,转发与记录。 Claude 对 Claude 的请求除了 model 字段原样放行,其余全部翻译;每个请求在账本里留一行:时间戳、项目、类别、供应商、模型、输入输出及缓存 token、成本、延迟,以及是哪个分类器、因何做出决策。
有一点要注意:没有任何 Claude Code 钩子能改掉会话模型。界面上始终显示 Claude Code 请求的那个模型,而路由器的状态栏才会告诉你实际应答的是谁。
文中提到的 Venice / JEV 决策模型 是 Venice.ai 提供的隐私优先推理平台上的一个 Beta 功能,JEV(Judgment & Evaluation)专门用于元决策任务——即让一个小模型来判断「这个请求应该交给哪个大模型处理」,而不是让大模型自己回答问题。这类「路由分类器」的核心挑战在于延迟:如果分类本身耗时过长,就会抵消路由带来的成本收益。Rebel Router 为此设置了 800ms 超时熔断,一旦 JEV 响应慢于该阈值就回退到本地规则引擎,保证路由决策本身不成为瓶颈。Venice 平台主打请求不被记录、不用于训练,这对需要将代码上下文发送给分类器的场景具有一定隐私意义。
安装与配置
上手路径很短,克隆仓库、npm install && npm link 把 rebel 挂到 PATH 上,复制 .env 填好供应商,然后 rebel start 启动。没有填 Key 的供应商会被跳过,Ollama 模型只有在本地拉取后才会启用。
接入 Claude Code 用 rebel init claude --global(全局生效)或不带 --global(仅当前项目)。它会备份你的设置并写入 ANTHROPIC_BASE_URL=http://127.0.0.1:8787,让主会话、子 Agent 和后台调用都走路由器,同时注入项目标识头以支持按项目预算。Claude 桌面应用是例外,它的网关要从 Developer → Configure Third-Party Inference 里设。
OpenCode 则执行 rebel init opencode,之后选择 rebel/auto,或用 rebel/auto:unit_tests 这样的写法把某类任务钉死到指定类别。你也可以在 prompt 里任意位置写 #rebel:tests、#rebel:docs、#rebel:plan 等标签,让路由器在本轮会话沿用该类别。
配置文件 rebel.yaml 支持排除供应商、为某类任务指定固定模型、设定别名(如让 opus 请求直通、haiku 自由路由),以及按天、按项目的预算和「某个项目永不离开本机」的 localOnly 开关。花费监控则有 rebel status、rebel spend、rebel export、rebel dashboard 等一系列命令,连 rebel classify "<prompt>" 都能预览一个 prompt 会被怎么分类。
基准测试:数字说话
这组基准由 12 个真实任务组成,每个类别两个,全部用确定性方式打分——隐藏测试、变异测试、故意写错的服务器和评分表,没有任何模型给另一个模型打分。测试于 2026 年 10 月 11 日跑完,覆盖 10 个模型,每任务一次尝试,总花费 1.78 美元,任务和原始结果均公开。
十个模型的成本与通过率对比中,几个数字很扎眼:gpt-6-luna 单任务成本仅 0.0010 美元、通过率 92%;claude-opus-5-5 单任务成本高达 0.0799 美元、通过率同样是 92%。换句话说,Luna 在这组任务上以约 1/80 的成本做到了和 Opus 相同的 11/12 通过。作者特意提醒:跑任务数不足 12 的行是部分运行,一两个任务上的 100% 别当真。
路由器 vs. 全程 Opus
真正值得关注的是「智能路由」对比「全程用 Opus」的直接较量:
- 成本:路由器方案 0.17 美元,全程 Opus 5.5 为 0.96 美元,便宜 82%。
- 质量:路由器通过 9/12(75%),Opus 通过 11/12(92%)。三个失手里,有两个单元测试任务和一个 QA 任务被路由器派给了 Claude Haiku 5.5,而它的回答超出了 8000 token 上限。
- 延迟:每任务平均耗时从 31.7 秒降到 19.5 秒。
- 分类器:不用 JEV、纯规则的分类器把 9/12 的任务归对了类。
结论很克制:Luna 能和 Opus 打平不代表它是 Opus 的替代品,它说明的是——大量日常任务根本用不上最贵的模型。
文中提到的 变异测试(Mutation Testing) 是一种衡量测试套件质量的方法:通过对源代码引入微小的人为错误(「变异体」,如将 > 改为 >=、删除一行逻辑),检验现有测试能否检测出这些变化。若测试未能「杀死」变异体,说明测试覆盖存在盲区。在这组基准中使用变异测试,意味着评分不只看模型能否写出「看起来正确」的测试代码,还要看这些测试是否真的有能力捕捉到细微的逻辑缺陷——这也解释了为何单元测试类任务是路由器最容易翻车的地方:Haiku 写出的测试可能形式上通过,但在变异测试环节暴露出覆盖不足的问题。
必须正视的局限
作者没有回避这套方案的边界,这也是文章最值得信赖的地方:
- 12 个任务、每个只跑一次,分类别的数字只能当参考,不是排行榜。
- 省下来的 82% 是以丢掉 2 个 Opus 本能解决的任务为代价的,而且都发生在测试和 QA 上。想保险,可以用
aliases.opus: passthrough保留 Opus,或用classModels为某类任务钉死模型。 - Grok、Gemini Pro、Ollama 以及 Luna 之外的 GPT 模型都未纳入测试;JEV 也没测,基准用的是规则分类。
- Anthropic 官方并不支持把 Claude Code 路由到非 Claude 模型,能跑通,但翻译过程中会丢掉 Claude 独有的特性。
- JEV 和 Venice 的 Decisions API 都在 Beta,接口形态可能变化。
- 成本按目录里的官方标价(token 数乘单价)计算。
作者最后留下一句颇有分量的提醒:真正该盯着的是那个 75%。一个能省 82% 的路由器,只有在它跳过的测试恰好不是「本该给你报警的那些」时才值得。所以在把测试套件完全托付给它之前,头几周请盯紧账本。
写在最后
Rebel Router 的价值不在于某个模型多便宜,而在于它把「模型选择」这件被长期忽视的决策显性化、可度量化了。对于把 Claude Code 当日常生产力工具的团队来说,这种「按请求分配模型 + FinOps 账本」的思路,可能比盲目升级到最强模型更务实。但它也诚实地告诉你:便宜是有代价的,测试和 QA 是最容易出事的地方,不要无脑信任自动路由。
相关推荐

@ai-sdk/vue 3.0.306 补丁发布 同步 [email protected] 更新
@ai-sdk/vue 3.0.306 发布,与 [email protected] 同步更新。这是 Vercel AI SDK 生态的一次常规补丁发布,无公开 API 变更,Vue 适配层保持与核心包版本对齐。

Gemini 4 Argon API发布:百万级输出Token时代来临
Google 正式发布 Gemini 4 Argon,稀疏 MoE 架构支持最高 100 万输出 token,Vals Index 以 68.90% 登顶,覆盖 API、AI Studio 和 Gemini 应用三端。

DukaanAI:用开源AI把商品照片变成库存清单
DukaanAI 是一款面向小零售商的 AI 库存工具,通过 Gemma 3 开源模型将商品照片转为库存条目,支持本地推理、字段编辑与 CSV 导出,探索 AI 辅助商品目录创建的可行路径。