Cursor Router 上线:智能模型路由让编码 Agent 省钱 60%,质量不降反升
7 月 22 日,闭源商业编码工具 Cursor 发布了智能模型路由器 Cursor Router。作为付费 SaaS 产品,它的核心思路很简单:不是每个编码请求都需要最贵的模型来处理,但也不该让重要任务跑到廉价模型上翻车。Router 在每次请求发出前先分类,再自动路由到最合适的模型——简单活用便宜模型,复杂推理上 frontier,UI 改动交给审美最好的那一个。
怎么做到的
Cursor 用超过 60 万条真实编码请求训练了这个路由分类器,并在数百万条线上请求的 A/B 测试中验证效果。他们没有依赖离线评测,而是直接看用户满意度(用户继续下一个任务=满意,回头改代码=不满意)和代码保留率(编码助手生成的代码有多少真正留在了代码库里)。
一个容易忽略的细节:切换模型会导致缓存未命中,产生额外开销。Cursor Router 在训练和评估阶段都把缓存成本算了进去,公布的 60% 节省是扣除了缓存开销后的净结果。
三种模式,自己选 tradeoff
- Intelligence:frontier 级质量,成本约为 Fable 5 的 40%。实测用户满意度接近 Fable 5,比 Opus 4.8 高 15% 左右,价格却差不多。
- Balance:强质量,比 Opus 4.8 省约 36%,满意度反而更高。与 OpenAI 5.6 Sol 相比,满意度相当,花费更低。
- Cost:在可接受的质量范围内最大化节省。
团队管理员可以按团队或组开启 Router,决定成员能用哪些模式、设置默认值、屏蔽或放行特定模型。
企业实测数据
早期接入的三个高流量企业账户(每个数千用户),对比全部走 Opus 4.8 的定价:
- 成本节省 30%–50%,质量无下降
- 单次 commit 成本:Intelligence 模式 $6.76,Balance 模式 $4.63;而 Fable 5 为 $12.69,Opus 4.8 为 $7.34
这意味着 Router 不只是"帮你省钱",而是在同样的支出下产出了更多真正进入代码库的有效代码。
为什么现在做这个
Cursor 每周路由数亿次编码请求,横跨所有主流模型和提供商。他们观察到约 60% 的开发者只选一个模型当日常主力,导致大量常规任务也以 frontier 价格运行,AI 支出增速远超产出质量提升。Router 把"用对的模型做对的事"这件事自动化了。
Cursor Router 也是 Cursor 整体 token 效率策略的一环——动态工具调用(不常用的工具描述按需加载而非塞满 prompt)和编码助手 harness 持续优化,都在压缩不必要的 token 消耗。
局限
- 目前主要面向团队和企业用户,个人用户暂未覆盖。
- 路由决策依赖 Cursor 内部训练数据,外部无法审计分类逻辑。
- 新大模型发布时 Router 需要同步更新,不过官方表示架构设计上已支持快速迭代。
Cursor Router 已在 Cursor 产品内上线,用户可在模型选择器中切换到 Auto 模式体验。
3 分钟看懂
Cursor Router = 编码请求的智能调度员。你写代码时,它判断这个请求是简单补全还是复杂重构,然后自动选最划算的模型来处理。结果:frontier 级质量,花费砍掉大半。
怎么用
- 打开 Cursor,在模型选择器中切换到 Auto 模式
- 选择优化方向:Intelligence(要最好)、Balance(要均衡)、Cost(要省钱)
- 团队管理员可在设置中为整个团队配置默认模式和可用模型
适用场景
- 团队/企业 AI 编码支出增长快,但质量提升不成比例
- 开发者习惯只用一个模型当 daily driver,简单任务也花 frontier 价格
- 需要在多个模型间做成本-质量权衡,但不想手动切换
不适用场景
- 个人免费用户(目前主要面向团队和企业)
- 需要完全透明审计路由决策逻辑的场景
- 只用单一模型且对成本不敏感的用户
避坑
- Router 的缓存感知意味着频繁切换模型不会像想象中那么贵,但也不是零开销
- 新大模型刚上线时 Router 可能需要几天同步更新
- Balance 模式对大多数团队是最佳起点,不必一上来就选 Intelligence
行动建议
如果你是团队管理员,现在就可以在 Cursor 设置中为团队开启 Router,建议从 Balance 模式起步,观察一周的成本和满意度数据后再调整。如果你是个人用户,关注后续更新。
---
*来源:[Cursor Blog - Introducing Cursor Router](https://cursor.com/blog/router)、[Cursor Changelog](https://cursor.com/changelog/router)*