智能体时代,一个模型包打天下已经不划算了。Claude Code、Codex 这类编码智能体,大部分 token 都烧在机械步骤上——读文件、跑测试、修 lint,真正需要前沿模型推理的调用只是少数。英伟达 8 月 11 日一次发了两样东西,正好冲着这个痛点:Nemotron 3.5 Lightning(30B MoE 开源模型,每个 token 只激活 3B 参数,专为高频智能体任务设计)和 NeMo Switchyard(Apache 2.0 的 Rust 路由代理/库)。
对开发者来说,Switchyard 更值得先上手。它夹在你的智能体和模型后端之间,干三件事:
- 协议翻译——在 OpenAI Chat、OpenAI Responses、Anthropic Messages 三种格式间互转。Claude Code 可以继续讲 Anthropic 方言,背后实际由 vLLM、NVIDIA NIM、Ollama 或任意 OpenAI 兼容端点提供服务。
- 类型化路由算法——LLM 分类器、信号驱动的 stage router、escalation、random A/B 分流,也可以自己写算法。
- 可观测性——Prometheus 指标:请求量、错误、延迟、token 数、路由开销。
最快上手:launcher 路径
想让 Claude Code / Codex / OpenClaw 两分钟内跑上智能路由:
curl -LsSf https://astral.sh/uv/install.sh | sh
source "$HOME/.local/bin/env"
uv tool install --python 3.12 "nemo-switchyard[cli]"
export OPENROUTER_API_KEY="your-key"
switchyard launch claude --model switchyard
# 或:switchyard launch codex --model switchyard
# 或:switchyard launch openclaw --model switchyard内置部署暴露一个叫 switchyard 的路由 ID。launcher 会拉起原生 Rust 服务器并把智能体指过去,这条路径不需要任何配置文件。
自定义路由:独立服务器
想用自己的模型分级,就直接跑 server。先安装,再写 routes.toml:
cargo install --locked switchyard-serverschema_version = 1
[llm_clients.openrouter]
format = "openai_chat"
base_url = "https://openrouter.ai/api/v1"
api_key_env = "OPENROUTER_API_KEY"
[targets.weak]
id = "openai/gpt-4o-mini"
llm_client = "openrouter"
[targets.strong]
id = "openai/gpt-4o"
llm_client = "openrouter"
[routes.smart]
id = "switchyard"
type = "llm_classifier"
mode = "capability"
classifier_target = "weak"
strong_target = "strong"
weak_target = "weak"
base_threshold = 0.5这份配置声明了两个 target 和一条路由:由分类模型逐请求判断,该用弱模型还是强模型回答。密钥通过 api_key_env 从环境变量读取——永远不要写进 TOML。校验并启动:
export OPENROUTER_API_KEY="your-key"
switchyard-server --config routes.toml --dry-run
switchyard-server --config routes.toml --host 127.0.0.1 --port 4000任何会讲 OpenAI Chat / Anthropic Messages / OpenAI Responses 的客户端都能连上来,路由的 id 就是客户端要用的模型名:
curl http://localhost:4000/health
curl http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"switchyard","messages":[{"role":"user","content":"hello"}]}'路由算法怎么选
random——固定权重分流,适合 A/B 测试和成本基线。llm_classifier——按请求内容在强弱两档之间选择。llm_classifier+mode = "escalation"——每轮先跑弱模型,只有裁判判断答案不够好时,才用强模型重跑同一请求。stage_router——用对话里已有的信号(工具结果、报错)路由,大多数轮次不额外调用模型。
智能体循环场景里 stage_router 最值得关注:大多数步骤本质是「工具调用成功了吗,继续走」这种廉价判断,根本不需要前沿模型。
不是纸面数据
- LangChain:145 个多轮 DeepAgents 任务中,只有 7% 的调用给了前沿模型 → 成本降 74%,准确率只掉 6%。
- Ramp:RampSWE-Bench 上持平前沿模型,成本降 58%,运行时间少 33%。
- Cognition:DevinDesktop 集成后,平均成本比全程用单一前沿模型低约 28%。
- Boomi:领域路由准确率 100%,59% 的流量交给快 5 倍的微调模型,后续轮次延迟降 21%。
Kong 也已经把 Switchyard 接进自家 AI Gateway,路由可以放在网关层而不是智能体内部。
实践建议
- 启动前先跑
--dry-run:它会在不绑定端口的情况下校验 schema、环境变量和路由构造。 - 遥测只有外呼请求上的一个
X-Switchyard-Version头(不含内容),不想要就export SWITCHYARD_TELEMETRY_OPT_OUT=1。 - Switchyard 还是 pre-alpha,v1.0 前 API 会变,正经项目记得锁版本。
- 想嵌进自己的 Rust 服务用
switchyard-libsy:算法只做决策、把模型调用交还给你,可以无缝落进已有网关,不用自己管 HTTP 栈。 - 想要自托管省钱档?搭配 Nemotron 3.5 Lightning:30B 总参 / 3B 激活,1M 上下文,单张 DGX Spark(GB10)或 H100 就能跑,NVFP4 和 BF16 双 checkpoint,OpenMDW-1.1 许可可商用。
资源
- GitHub:github.com/NVIDIA-NeMo/Switchyard
- Getting Started:docs/getting_started.md
- 英伟达官方博客:Route AI Agent Workloads Across Models with NVIDIA NeMo Switchyard
- Nemotron 3.5 Lightning 模型页:huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4