返回博客列表

Weave Router:让 Claude Code 自动切模型,省 40% token

2026-06-27T10:00:00+08:00
Weave Routermodel routingClaude CodeDeepSeek成本优化

Weave Router:一个 endpoint 让 Claude Code 自动切换 Opus 和 DeepSeek,省 40% token

用 Claude Code 写代码的,先收藏,这篇能帮你省钱。

一个很现实的问题:Opus 4.7 发布后,tokenizer 一改,账单直接起飞。但你心里清楚,不是每个请求都需要 Opus 的智商——子 agent 探索代码库用 DeepSeek V4 Flash 就够了,只有规划复杂改动那种才真正需要 Opus 4.8。

问题是你没法手动在每次请求前判断「这个该用哪个模型」。Weave Router 解决的就是这个。它是 Weave 公司开源的一个模型路由代理(workweave/router,Go 写的,262 stars),插在 Claude Code / Codex / Cursor 和模型提供商之间,每个请求自动选最优模型。官方数据:省 40-70% token,质量无感知差异。

关键不是「能切模型」(手动谁都会),而是它怎么决定切哪个。这点后面细说,跟市面上那些 prompt 决策的路由器不是一回事。

本文提纲

  1. 它到底怎么工作的
  2. 路由决策:embedder,不是 prompt
  3. 一行安装接入三大工具
  4. 一个真实的路由长什么样
  5. 跟手动切模型比,省在哪
  6. 自托管还是托管,怎么选
  7. 几个要注意的点

它到底怎么工作的

Weave Router 本质是个代理服务器。你把 Claude Code、Codex 或 Cursor 的 API endpoint 指向它(比如 localhost:8080),它就夹在中间干活:

graph LR
    A[Claude Code / Codex / Cursor] -->|request| B[Weave Router]
    B --> C{Route Decision < 50ms}
    C -->|complex plan| D[Opus 4.8]
    C -->|explore subagent| E[DeepSeek V4 Flash]
    C -->|implement code| F[GLM 5.2]
    C -->|simple query| G[Kimi K2.6]
    D --> H[Translate + Forward]
    E --> H
    F --> H
    G --> H
    H --> I[Provider APIs]
    style A fill:#FF6B6B,color:#000000
    style B fill:#4ECDC4,color:#000000
    style C fill:#FFEAA7,color:#000000
    style H fill:#96CEB4,color:#000000

它对外假装自己是 Anthropic、OpenAI、Gemini 三家的 API(各自的原生协议都支持:Anthropic Messages、OpenAI Chat Completions、Gemini native)。你发来的请求,它先看一眼,决定路由到哪个模型,然后把请求翻译成那个模型的协议格式转发出去,响应再翻译回来。streaming、tool use、vision 这些都透传,对客户端完全透明。

对你来说,Claude Code 还是那个 Claude Code,配置里只是把 base URL 换了一下。但背后每一次推理,可能在不同的模型之间跳。

路由决策:embedder,不是 prompt

这是 Weave Router 最值得说的地方,也是它和那些「写个 prompt 让大模型决定路由」的玩具项目本质区别。

市面上很多 router 的决策方式是:拿一个 LLM 看一眼请求,prompt 它「这个该用哪个模型」。问题是这个决策本身就要消耗 token 和延迟,而且 LLM 决策不稳定。

Weave Router 不这么干。它用的是一个本地运行的轻量 embedder(on-box,跑在你自己机器上),决策逻辑基于一篇论文叫 Avengers-Pro。工作方式大致是:

  1. 把进来的请求 embed 成向量
  2. 跟一个预先训练好的「cluster scorer」比对——这个 scorer 是 Weave 在数万条真实 agent traces 上用 RL 训练出来的
  3. 匹配到最合适的模型集群

整个决策在 50ms 以内完成,不经过任何 LLM,不产生额外 token 消耗。RL 训练时的奖励信号是:选中的模型成功完成了任务就给正反馈。所以 scorer 学到的是「哪类请求在哪个模型上实际成功率高、成本低」,不是「哪类请求看起来该用哪个模型」。

这个设计有几个好处。第一快,50ms 你感知不到。第二省,决策本身零 token。第三可解释,向量匹配是确定性过程,比 LLM 的「我觉得」可靠。

一行安装接入三大工具

接入方式简单到离谱。不需要 clone、不需要 Docker、不需要 Postgres:

npx @workweave/router

这行命令会问你用哪个工具(Claude Code / Codex / opencode),选好后自动帮你改对应的配置文件——Claude Code 改 settings、Codex 改 ~/.codex/config.toml、opencode 改 opencode.json。你只需要提供 provider key,其他全自动。

如果不想用交互式选择,直接带参数:

npx @workweave/router --claude              # 直接配置 Claude Code
npx @workweave/router --codex               # 直接配置 Codex
npx @workweave/router --scope project       # 只对当前 repo 生效,配置 commit 进项目

Cursor 是 early beta(README 自己标注性能可能不是最佳),需要在 Settings → Models 里 Override OpenAI Base URL 指向 http://localhost:8080/v1,手动填 rk_... 路由 key。

这里有个设计细节值得注意:Codex 的配置改动是非破坏性的。它只增删自己管理的 [model_providers.weave] 块,你 Codex 里其他配置原封不动。--uninstall 也只移除这个块。这点对开发者很友好——不用担心装了个工具把自己的配置搞乱。

而且装完之后可以随时开关切换,不用反复改配置:

npx @workweave/router off --claude    # 路由关闭,直连原 provider
npx @workweave/router on --claude     # 路由开启
npx @workweave/router status          # 看当前状态

Claude Code 甚至有 /router-off/router-on 斜杠命令,在对话里直接切。

一个真实的路由长什么样

Weave 在 HN launch 帖里给了一个具体例子,能直观看出路由逻辑:

请求类型 路由到的模型 为什么
规划复杂改动 Opus 4.8 需要强推理,规划错了后面全白干
子 agent 探索代码库 DeepSeek V4 Flash 只是收集上下文,不需要强推理,快且便宜
执行已定好的方案 GLM 5.2 方案明确,执行靠速度和成本
简单查询 Kimi K2.6 杀鸡不用牛刀

这个分层很关键:不是所有任务都用最强模型才好。规划阶段用 Opus 保证方向对,执行阶段用便宜模型保证快和省。如果你全程 Opus,既贵又未必快;全程 DeepSeek,省钱但复杂规划可能翻车。Weave Router 的价值就是让你每个环节都用对模型,而不是全局二选一。

跟手动切模型比,省在哪

有人会说:我自己在 Claude Code 里 /model 切不就行了?

能切,但切不动几个问题。第一,你得知道什么时候切。写代码写到一半,你判断不了当前这个请求是「需要 Opus 的规划」还是「DeepSeek 就够」——这是路由器擅长而你手动判断成本高的事。第二,一个 agent loop 里请求是混合的。Claude Code 一次任务可能发几十个请求,规划、探索、执行交织在一起,你不可能逐个手动切。第三,手动切容易忘切回去,要么一直贵,要么该用强模型时还在用便宜的导致质量下降。

Weave Router 是 per-request 粒度的,每个请求独立决策。同一个任务里,规划那个请求走 Opus,紧接着探索代码库的子请求就走 DeepSeek,你全程不用管。40% 的节省就是这么来的——把那些「用了 Opus 但其实不需要」的请求路由到了便宜模型。

成本数据可以感受一下量级:Opus 4.8 的输入价格是 DeepSeek V4 Flash 的几十倍。如果一个 agent loop 有 20 个请求,其中只有 3 个真需要 Opus,其余 17 个路由到 DeepSeek,省下的就是实打实的钱。

自托管还是托管,怎么选

Weave Router 提供两种用法:

托管版(推荐先试):npx @workweave/router 默认连 Weave 的 hosted router,你的 provider key 加密存在本地,请求经 Weave 的路由服务分发。零运维,适合个人开发者快速验证。

自托管版:自己跑整个 stack(router + dashboard + Postgres),适合不想把请求经过第三方、或者要在内网用的团队:

echo "OPENROUTER_API_KEY=sk-or-v1-..." >> .env.local
make full-setup   # 起 Postgres + router:8080 + dashboard,自动生成 rk_ key

自托管有个亮点:dashboard 在 localhost:8080/ui/,能看到每次路由决策去了哪个模型、为什么。对调试和优化路由策略很有用。

两种模式都支持 BYOK(Bring Your Own Key)——provider key 始终在你自己手里,加密存储。这点对安全敏感的团队很重要,你的 OpenAI / Anthropic / DeepSeek key 不会上传到 Weave。

可观测性也做得完整,原生 OTLP trace 输出,能接 Honeycomb、Datadog、Grafana。路由决策过程不是黑盒,每次都能追到。

几个要注意的点

许可证是 ELv2(Elastic License 2),不是 MIT/Apache。ELv2 允许你自由使用、修改、自托管,但禁止把它作为托管服务提供给第三方。个人用和公司内部用没问题,但你想拿它做个 SaaS 卖给别人,不行。商业集成前看清楚这条。

Cursor 是 early beta。README 自己写了「performance may not be the best」。Cursor 的集成方式是手动改 Base URL,不如 Claude Code / Codex 那种自动配置顺滑。Cursor 用户建议先在 Claude Code 上体验,等 Cursor 集成稳定。

托管版请求经过 Weave。虽然 key 加密存储、协议透明,但你的请求内容确实会过 Weave 的路由服务。如果这点介意,用自托管版,全程不出你的机器。Weave 本身是做工程智能平台的公司(客户有 Robinhood、PostHog),可信度还行,但安全合规严格的团队建议自托管。

路由质量取决于你启用的模型池。router 只能在你配置的 provider 里选。如果你只配了 OpenAI 一个,它没得选。要发挥效果,至少配 2-3 个价差大的模型(比如 Opus + DeepSeek + GLM),让它有路由空间。OpenRouter 是推荐的 baseline provider,一个 key 接一堆 OSS 模型。

Weave Router 抓住的是一个真实且越来越普遍的痛点:AI 编程成本在涨,但没人想为了省钱牺牲关键任务的质量。它的解法不是让你在「贵但强」和「便宜但弱」之间二选一,而是让每一类请求各得其所。如果你日常用 Claude Code 或 Codex 且对账单敏感,值得花十分钟装上试试——hosted 版零成本验证,数据说话。

参考文档与链接

用 Claude Code 的,账单超多少了?装上这个试试能省多少,评论区报个数。觉得有用点个赞让更多人看到。


作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。

分享给朋友