NeMo Switchyard 上手:给智能体加个模型调度员,成本降 74%

长跑型 AI 智能体的 token 预算,大部分耗在执行层:工具调用、结果校验、检索格式化、摘要、分类。全都用前沿模型太贵,全用小模型,复杂步骤的质量又扛不住。8 月 11 日英伟达一次给了两个开源件,把「多模型协同」这条路铺平了:Nemotron 3.5 Lightning——30B 参数 MoE、推理时仅 3B 激活,专为执行层设计;以及NeMo Switchyard——开源模型路由库,负责决定每一步该交给哪个模型。

两个东西分别是什么

  • Nemotron 3.5 Lightning:权重全开源,商用免费、可改。输出速度是同级别模型的 4 倍,PinchBench 上智能体任务完成快约 30%。混合 Mamba-Transformer 架构 + 多 token 预测 + 投机解码(D-Flash / D-Spark)。提供 BF16 和 NVFP4 两个版本,NVFP4 量化版在消费级 RTX 和 DGX Spark 上就能跑(DGX Spark 单流约 71 tok/s)。
  • NeMo Switchyard:开源路由库(github.com/NVIDIA-NeMo/Switchyard)。SDK 与供应商解耦,自带一个兼容 OpenAI / Anthropic / Responses API 的网关服务,还会记录每次选了哪个模型、为什么选——线上路由可审计。
  • 附带训练配方:发布了 Nemotron-RL-Agentic-Terminal-Pivot 数据集和全套后训练配方,微调路径对开发者完全透明。

数据先说清楚

  • LangChain:145 个多轮智能体任务,仅 7% 调用前沿模型,成本降 74%,准确率约 -6 个点。
  • Ramp:RampSWE-Bench 上追平前沿模型,成本 -58%、耗时 -33%。
  • Cognition:在 Devin Desktop 集成 staged 路由,平均成本比单用前沿模型低 28%。
  • Boomi:领域路由准确率 100%,59% 流量交给快 5 倍的微调模型,后续轮次延迟降 21%。
  • 英伟达内部:保持前沿准确率的同时,任务成本约为单独使用 Opus 4.8 的三分之一。

路由怎么决策

信号来自三处:模型能力(谁能解对这道题)、成本画像(各模型的延迟与 token 消耗)、基础设施(状态与交接)。开箱四种策略:

  • LLM 分类器:用 LLM 当裁判选目标模型,并在整个会话内保持亲和(session affinity),不会重复分类没变化的任务。
  • 阶段路由(stage router):观察工具调用活动——报错、反复无效工作、长时间探索就把这轮推给强模型;稳定写入、测试通过则倾向高效小模型。
  • 升级路由(escalation router):每段会话从便宜模型起步,裁判只在发现持续困难时升级。LangChain 那个 74% 就是它的成绩。
  • Prefill 路由(可训练):从模型 residual stream 学特征,预测每个候选的成功概率,再把准确率与成本/延迟约束做加权决策。

最小上手

想先感受 Lightning 的延迟,不用配硬件,OpenRouter 有免费端点:

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nvidia/nemotron-3.5-lightning:free",
    "messages": [{"role": "user", "content": "Classify this security alert: multiple failed SSH logins from 10.0.0.44 in 3 minutes"}]
  }'

本地搭智能体路由,克隆 Switchyard,定义模型池和策略。精确 schema 以仓库 README 为准,形态大致如下:

# switchyard.yaml —— 模型池 + 路由策略
targets:
  - name: lightning-local          # 语义名,与供应商解耦
    provider: openai-compatible   # 本地 NIM / vLLM 端点
    model: nvidia/Nemotron-3.5-Lightning-30B-A3B-NVFP4
    base_url: http://localhost:8000/v1
  - name: frontier
    provider: anthropic
    model: claude-opus-4.8

router:
  type: escalation        # 先便宜后升级,持续困难才换强模型
  judge: frontier
  default: lightning-local
  fallback: frontier
from switchyard import SwitchyardClient

client = SwitchyardClient("switchyard.yaml")
resp = client.chat(messages=[...], session_id="sess-42")
print(resp.model_used, resp.rationale)  # 这轮用了哪个模型、为什么

实践建议

  • 按任务/会话路由,不要每轮都路由。每轮重路由会多加一层决策,还会打碎 prompt 缓存——这是路由最常见的坑。
  • 别把 Lightning 放在接收不可信输入的最前端。它的已知短板是提示注入防御。上面放一个编排器或强模型,让 Lightning 只做底层的重复执行。
  • 微调便宜到值得一试:社区案例单 epoch 约 3 小时内、花费约 100 美元(Unsloth 有消费级 GPU 脚本);CodeRabbit 用 NeMoAuto 配方约 2 小时、85 美元就训出一个可用的路由分类器。
  • 按用途选版本:本地推理用 NVFP4,要做微调就用 BF16。
  • 网关不用自己造:LiteLLM 已把 Switchyard 做成插件,Kong AI Gateway 原生集成,LangChain 和 Nous Research 的 Hermes 也都接上了。

资源链接

发表评论

滚动至顶部