Switchyard — 任务感知模型路由引擎(与 LiteLLM 是嵌套关系)
基本信息
- 仓库: https://github.com/NVIDIA-NeMo/Switchyard
- Star / Fork: 3,181 / 297 | 创建: 2026-05-19 | 更新: 2026-09-20(活跃)
- 语言: Rust | 许可证: Apache-2.0 | v0.3.0,Pre-1.0,API 会变
- 组件稳定度: libsy Beta / llm-client Alpha / runner Alpha / server Demo(“Not for production”)
它是什么
每次 LLM 调用路由到”能干活的最低价模型”,不改 agent 一行代码。三类算法:
- Task(llm_classifier):LLM 判任务该谁做
- Execution(stage_router):按工具结果/agent 进度逐请求决策
- Escalation:先便宜模型,不行升级贵模型
官方 benchmark(Terminal-Bench 2.1,内部端点,绝对值待验证):Escalation = Opus 4.8 的 99.6% 准确率省 13.3%;Stage = 95.7% 准确率省 30.5%;单一便宜模型均 <56% 准确率。
与 LiteLLM 的关系(核心发现)
不是竞品,是嵌套:Switchyard 官方支持以 LiteLLM Router/proxy 插件形式部署(examples/litellm,钉 LiteLLM 1.97.0,标注 Experimental)。
| 维度 | LiteLLM | Switchyard |
|---|---|---|
| 本质 | 通用网关:100+ provider 协议翻译、key/预算/fallback | 路由决策算法:这次调用给哪个模型 |
| 决策层 | 运维层(健康/延迟/轮询) | 任务层(任务难度/agent 状态感知) |
| 独占能力 | 虚拟 key、预算、管理 UI、生态成熟度 | 语义级路由算法(classifier/stage/escalation) |
请求流:应用 → LiteLLM → Switchyard 插件从候选集挑 1 个 → LiteLLM 翻译发送。LiteLLM 管清单/凭证/传输;Switchyard 只出决策。也可 pip/Rust 库嵌入自研 harness,或独立代理(Demo 级)。
当前价值
- 已有 LiteLLM/网关的:可试插件路径获得任务感知分层路由
- 没有网关的:等 server 脱离 Demo 级再说
- 对一人公司最直接场景:把编码 agent 流量在便宜模型↔Opus 间自动分层,理论省 13-30%;代价是路由决策延迟 + Pre-1.0 不稳定
结论
[持续观察] — 方向对(agent 流量成本分层是真需求)、NVIDIA 背书,但组件大多 Alpha/Demo、LiteLLM 集成 Experimental、PyPI 落后源码需 git 安装。等 v1.0 或至少 libsy 稳定后再引入。
关键链接
- NVIDIA 博客: developer.nvidia.com/blog/route-ai-agent-workloads-across-models-with-nvidia-nemo-switchyard
- 路由算法文档: docs/routing_algorithms/overview.md
- 可复现 benchmark profile: benchmark/routing-profiles/tb21-escalation-opus-glm-deepseek.toml