Switchyard — NVIDIAのLLMトラフィック路由器兼トランスレーター
このようなシナリオを思い描いてください:ターミナル用の自動補完ツールやClaude CodeやCodex CLIのようなコーディングエージェントを使いたいとします。便利なツールですが、特定のAPI向けに調整されています。そのリクエストをローカルのvLLM、Ollama、NVIDIA NIMにリダイレクトしたい場合、問題に直面します。エンドポイントのフォーマットとデータ構造が一致しないのです。AnthropicはMessagesフォーマットを期待し、OpenAIはChat Completionsを使用し、ローカルモデルはまったく異なる3番目のフォーマット用に調整されています。
NVIDIA NeMoチームのSwitchyardプロジェクトは、まさにこの問題を解決します。異なる言語モデル間でのAPIプロトコル変換とインテリジェントなリクエストルーティングのために設計された、プロキシサーバー兼Rustライブラリです。

Switchyardできること
このプロジェクトは2つのコアメカニズムに基づいて構築されています:リクエストのリアルタイム変換とルーティングアルゴリズムです。
クライアントアプリケーションは、ネイティブのAnthropicまたはOpenAI APIと通信していると思い込みます。実際には、Switchyardがリクエストを受け取り、ターゲットプロバイダーのフォーマットに変換し、適切なバックエンドに送信し、レスポンスを元のフォーマットに戻します。
現在、3つの主要なフォーマットがサポートされています:
- OpenAI Chat
- Anthropic Messages
- OpenAI Responses
つまり、Claude CodeをvLLM経由のローカルモデルに向けることができ、クライアントは切り替えに気づきません。
単なるRound-Robinではなくスマートなルーティング
あらゆるプロキシサーバーがランダムに負荷分散できます。Switchyardを興味深いものにしているのは、トラフィック分散シナリオです。開発者は4つの組み込みアルゴリズムを構築しました:
- Stage Router。ダイアログ内のシグナルを評価します。前のツール呼び出しがエラーで終わった場合、ルーターは次のターンをより強力なモデルにリダイレクトします。すべてがスムーズに進んでいる場合、より安価なモデルがリクエストを処理します。
- Escalation Router。最初に弱いモデルにリクエストを送信します。並行して、特別なジャッジモデルがレスポンスの品質を評価します。結果が不十分な場合、同じリクエストは自動的にフラッグシップモデルにエスカレーションされます。
- LLM Classifier。別の軽量モデルが受信リクエストを複雑さで分類し、メインビジネスが始まる前に適切なバックエンド選択を行います。
- Random。固定分割による標準的なランダム分散。A/Bテストや異なるプロバイダー間のコスト評価に便利です。
アーキテクチャと統合オプション
開発者はSwitchyardを複数のモジュールとして構成しました。動作モードの選択はタスクに依存します。
適切な設定でコーディングエージェントをすぐに起動する必要がある場合は、CLIランチャーを使用します。インストール全体は、パッケージマネージャーコマンド1つで完了します:
その後、エージェントは設定を指定する1行で起動します:
ネットワークプロキシとして実行するには、バイナリをビルドします。Prometheus(トークン数、レイテンシ、エラー)を介してメトリクスを追跡し、ファイルで構成されます。
独自のRustアプリケーションを作成している場合、別のHTTPサーバーを組み込む必要はありません。クレートはルーティングロジックをコードに直接埋め込みます。このライブラリ自体はネットワーク呼び出しを行わず、ルーティング決定のみを行い、選択されたターゲットバックエンドをアプリケーションに返します。
現在のプロジェクトステータス
リポジトリページには警告が表示されています:Switchyardはプレアルファ段階です。このレビュー時点で、プロジェクトはGitHubで800スター近くに到達しており、実験的ソフトウェアステータスです。
これは、公開API、TOML設定構造、内部クレートアーキテクチャが変更される可能性があることを意味します。現時点でクリティカルな本番環境で使用することは危険な動きです。
このプロジェクト注目すべき人
Switchyardは2つのカテゴリーの開発者にとって有望に見えます:
- ターミナルAIエージェント(Claude Code、Codex CLI)を積極的に使用し、シンプルなタスクをローカルモデルやより安価なAPIにリダイレクトしてコストを節約したい人。
- RustベースのLLM вокруг свой собственныйインフラを構築しているチーム。クレートから готовые эскалационные алгоритмыとプロトコル変換器をプルできるため、数週間分の作業を節約できます。
エージェントのコードを書き直さずに透明なバックエンド置換のためのクリーンなツールを探していたなら、このプロジェクトは確かに注目に値します。
関連プロジェクト