NVIDIA выпустила открытый прокси для нейросетей: один агент работает с любым LLM-провайдером
Команды, которые запускают агентов для написания кода, упираются в одну и ту же стену: Claude Code работает через API Anthropic, Codex CLI требует формат OpenAI, а нужная модель развёрнута на vLLM, NVIDIA NIM или Ollama, и переписывать агент под каждый бэкенд никто не хочет.

NVIDIA выложила открытый прокси для нейросетей, который принимает запросы в формате одного провайдера и автоматически переводит их в формат другого, включая потоковую передачу ответов, и это первый инструмент такого класса от крупного вендора с лицензией Apache 2.0.
Switchyard появился как ответ на конкретную боль: агентные инструменты жёстко привязаны к API своего провайдера, а инфраструктурные команды вынуждены писать прослойки вручную. NVIDIA предложила готовый слой трансляции, написанный на Rust, который берёт на себя маршрутизацию, перекодирование запросов и сбор метрик. Проект опубликован на GitHub под лицензией Apache 2.0, документация доступна на docs.nvidia.com/nemo/switchyard.
Важная оговорка: NVIDIA сама маркирует Switchyard как pre-alpha (предварительная альфа-версия, когда продукт ещё не готов даже к бета-тестированию) и прямо предупреждает, что инструмент не предназначен для продакшена. API и алгоритмы могут существенно измениться до версии 1.0.
| Что | Когда | Кто выпустил | Цена |
|---|---|---|---|
| Switchyard: прокси и библиотека для маршрутизации LLM-трафика | Дата точного релиза не указана, проект доступен на crates.io и PyPI | NVIDIA | Бесплатно, лицензия Apache 2.0 |
Что умеет Switchyard?
-
Трансляция между тремя форматами API. Прокси для нейросетей принимает входящие запросы в форматах OpenAI Chat Completions, OpenAI Responses и Anthropic Messages. Любой из трёх форматов может обращаться к любому маршруту, а каждый настроенный бэкенд использует свой собственный формат. Агент и модель больше не обязаны говорить на одном «языке».
-
Четыре алгоритма маршрутизации.
passthroughотправляет все запросы на один бэкенд.randomраспределяет трафик по нескольким бэкендам с настраиваемыми весами, это путь для A/B-тестов и экспериментов со стоимостью.llm_classifierвызывает модель-классификатор, которая решает, отправить запрос на «сильную» или «слабую» модель.stage_routerанализирует сигналы из последних ходов диалога и выбирает бэкенд без дополнительного вызова классификатора. -
Роли вместо фиксированных свойств. «Сильная», «слабая», «способная», «эффективная» — это роли внутри маршрута, а не постоянные характеристики модели. Одна и та же модель может выполнять разные роли в разных маршрутах.
-
Метрики в формате Prometheus (система мониторинга, собирающая числовые показатели работы сервиса). Эндпоинт
/metricsотдаёт данные по запросам, ошибкам, задержкам вызовов моделей, токенам (единицам текста, на которые модель разбивает запрос и ответ) и попыткам обращения к бэкендам. Отдельная метрикаswitchyard_routing_overhead_msпоказывает, сколько времени занимает сам алгоритм маршрутизации без учёта вызова модели. -
Три способа запуска. Через лаунчер для агентов кодирования (команды
switchyard launch claude,switchyard launch codex), через standalone-сервер с TOML-конфигурацией, или как встраиваемая библиотекаswitchyard-libsyдля Rust-приложений, которая не владеет HTTP-стеком и отдаёт решение о маршрутизации вызывающему коду.
Как попробовать?
-
Лаунчер для агентов. Установите инструмент командой
uv tool install --python 3.12 "nemo-switchyard[cli]", затем запуститеswitchyard launch claudeилиswitchyard launch codexс готовой конфигурацией или собственным TOML-файлом. -
Standalone-сервер. Установите через
cargo install --locked switchyard-server, проверьте конфигурацию флагом--dry-runи запустите на нужном хосте и порту. -
Изучите документацию. Полное описание конфигурации, алгоритмов и метрик доступно на docs.nvidia.com/nemo/switchyard.
Конфигурация: секреты не в файле
TOML-файл развёртывания состоит из трёх слоёв: llm_clients задают базовый URL, формат, переменную окружения с ключом и политику повторных попыток. targets привязывают модель к клиенту. routes задают видимый извне идентификатор модели и алгоритм маршрутизации. Ключи API никогда не хранятся в файле напрямую: параметр api_key_env указывает только имя переменной окружения. По умолчанию max_retries равен 2 и применяется к транспортным сбоям, таймаутам и ответам с кодами 408, 429 и 5xx.
Есть ли аналоги в России?
Прямого российского аналога Switchyard пока нет. YandexGPT и GigaChat предоставляют собственные API, но не предлагают открытый прокси для нейросетей, который бы транслировал между форматами разных провайдеров. Для команд, работающих одновременно с отечественными и зарубежными моделями (или с локально развёрнутыми через Ollama), Switchyard может стать единственной точкой входа, устраняющей необходимость переписывать код агента под каждый новый бэкенд.
Это релевантно разработчикам из РФ и СНГ: даже если вы используете только локальные модели через vLLM или Ollama, Switchyard позволяет унифицировать API и менять модели без изменений в коде агента.
Switchyard решает реальную инженерную боль, и то, что это опенсорс (открытый код, который можно свободно использовать и менять) на Rust, а не проприетарный облачный сервис, вызывает уважение. Но pre-alpha есть pre-alpha: API обещают ломать, документация может отставать, а в продакшен тянуть рано. По моим наблюдениям, подобные инструменты стабилизируются через два-три релизных цикла.
Что сделать сегодня. Если вы разработчик агентов и работаете с несколькими LLM (большими языковыми моделями), разверните Switchyard локально и проверьте, насколько ваш текущий агент работает через прокси без переписывания. Если вы автор или маркетолог, не нетехнарь, просто запомните название: когда ваша команда скажет «нам нужен единый шлюз для моделей», Switchyard будет одним из главных кандидатов.
Частые вопросы
Можно ли использовать Switchyard в боевом проекте?
Нет. NVIDIA прямо предупреждает, что проект находится в стадии pre-alpha и не предназначен для продакшена. API и алгоритмы могут существенно измениться до версии 1.0. Сейчас это инструмент для оценки и экспериментов.
Switchyard работает только с облачными моделями?
Нет. Прокси поддерживает любой бэкенд, который принимает один из трёх форматов: OpenAI Chat Completions, OpenAI Responses или Anthropic Messages. Это включает локально развёрнутые модели через vLLM, NVIDIA NIM или Ollama. Для российских команд, которые используют локальные модели, это критично: можно подключить отечественную или опенсорс-модель и обращаться к ней через привычный API без переписывания кода.
Чем Switchyard отличается от простого reverse proxy?
Обычный обратный прокси (сервер-посредник, который перенаправляет запросы) просто пересылает трафик. Switchyard разбирает входящий запрос, переводит его из формата одного провайдера в формат другого, применяет алгоритм маршрутизации (включая классификацию запросов по сложности) и собирает метрики с точностью до десятых долей миллисекунды. Это не пересылка, а полноценная трансляция между экосистемами.
Пока Switchyard остаётся экспериментальным, но направление задано верно: агент не должен знать, какой провайдер стоит за его API, и команда, которая сегодня развернёт этот прокси на тестовом стенде, завтра сможет менять модели одной строкой в конфигурации.

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

Автоматизация с помощью ИИ за 20 минут: 10 скриптов вместо полдня разработки
Автоматизация с помощью ИИ перестала требовать полдня работы разработчика: команда Ви.Tech показала, как десять микроскриптов, написанных по промптам за 10-20…

Adaption Labs генерирует синтетические данные из описания задачи, убирая недели ручной разметки
Компания Adaption Labs на этой неделе выпустила функцию Invent a Dataset, которая создаёт готовый к обучению датасет (набор данных для тренировки модели) из…
Отказ от ИИ для кодирования угрожает не качеству софта, а карьере самих скептиков
Среди разработчиков, в том числе молодых и опытных, растёт сопротивление ИИ-инструментам для написания кода, и это сопротивление угрожает не качеству софта, а…
Комментарии