O problema que o Switchyard resolve
Quem roda agentes de código esbarra sempre no mesmo muro: o Claude Code fala a API Anthropic Messages, o Codex CLI fala a API da OpenAI, e o modelo que a equipe realmente quer usar está atrás de um vLLM, NVIDIA NIM ou Ollama. Reescrever o agente não é uma opção — então a camada de tradução precisa morar em outro lugar.
O Switchyard é a resposta da NVIDIA: um proxy e biblioteca em Rust para tráfego de LLMs que roteia requisições entre provedores, traduz entre os formatos OpenAI e Anthropic, registra métricas operacionais e expõe algoritmos de roteamento tipados e combináveis. Está sob licença Apache 2.0, com documentação em docs.nvidia.com/nemo/switchyard.
Como funciona
Os clientes mantêm sua API nativa. O Switchyard decodifica a requisição de entrada em tipos Rust neutros, roda um algoritmo de roteamento para escolher um backend, recodifica a requisição no formato do backend escolhido, faz a chamada e traduz a resposta — incluindo eventos de streaming — de volta para o formato que o cliente espera.
O servidor aceita três formatos de entrada: OpenAI Chat Completions, OpenAI Responses e Anthropic Messages. Qualquer um deles pode endereçar qualquer rota, e cada cliente LLM configurado escolhe seu próprio formato de upstream. É esse desacoplamento que importa: a API do agente e a API do backend não precisam mais combinar.
Três formas de rodar
Há três caminhos de uso. O launcher mira agentes de código: instale com uv tool install --python 3.12 "nemo-switchyard[cli]" e rode switchyard launch claude, switchyard launch codex ou switchyard launch openclaw. O servidor instala o proxy standalone com cargo install --locked switchyard-server, valida a configuração com --dry-run e serve em host e porta à escolha. A biblioteca (switchyard-libsy) embute os algoritmos de roteamento em uma aplicação Rust sem assumir a pilha HTTP.
Algoritmos de roteamento e observabilidade
Uma rota é um ID de modelo visível ao cliente mais o algoritmo por trás. O Switchyard traz quatro tipos: passthrough (envia tudo para um alvo), random (divide o tráfego por pesos, útil para testes A/B), llm_classifier (um classificador dá o veredito de capacidade e roteia para alvo fraco ou forte) e stage_router (avalia sinais de progresso do agente para escolher um alvo capaz ou eficiente, evitando uma chamada extra de classificador na maioria dos turnos).
No front de observabilidade, GET /metrics expõe métricas em formato Prometheus, incluindo uma das mais interessantes: switchyard_routing_overhead_ms, que isola o custo do algoritmo de roteamento da latência da chamada ao modelo.
Um aviso importante
O Switchyard é pré-alpha e experimental: a NVIDIA recomenda usá-lo apenas para avaliação, não para produção. A API e os algoritmos devem mudar de forma significativa antes da versão 1.0. Ainda assim, é um sinal claro de para onde caminha o ecossistema de agentes: camadas de tradução e roteamento que permitem misturar modelos e APIs sem reescrever os agentes.
Descubra mais sobre noticiAI
Assine para receber nossas notícias mais recentes por e-mail.



