Радикальный переход на Rust
Компания Respan объявила о запуске AI-шлюза (AI Gateway) с открытым исходным кодом, полностью написанного на языке Rust, после двухлетнего цикла разработки, который включал написание более 100 тысяч строк кода в качестве слоев-оберток (Wrappers) вокруг библиотеки LiteLLM. Это решение было принято после того, как в январе 2026 года плановое обновление библиотеки LiteLLM вызвало периодические сбои в подключении, что побудило команду искать более стабильную и простую в обслуживании альтернативу.
Архитектура на основе плагинов
Чтобы избежать сложностей с обслуживанием, с которыми компания столкнулась ранее, Respan приняла архитектуру, схожую с сервером Nginx, где ядро шлюза остается компактным, а основные функции, такие как маршрутизация (Routing), провайдеры моделей и элементы управления безопасностью, перенесены в независимые плагины. Такой подход позволяет разработчикам создавать собственные плагины без необходимости изменения исходного кода ядра.
Эти плагины отличаются легкостью; компания отметила, что интеграция провайдера модели, такого как Mistral, требует всего 22 строк кода, что упрощает работу с техническими различиями между провайдерами моделей, например, в способах отчетности о потреблении токенов (Tokens).
Что практически меняется для разработчиков?
- Трансляция протоколов: Шлюз может преобразовывать различные протоколы, позволяя приложениям, разработанным для OpenAI Realtime API, подключаться к Gemini Live без внесения программных изменений на стороне клиента.
- Управление запросами: Запросы проходят через плагины последовательно, что дает разработчикам возможность изменять запрос, выполнять дополнительные вызовы или даже блокировать запрос до того, как он достигнет провайдера модели.
- Производительность и безопасность: Язык Rust обеспечивает большую безопасность памяти, но создает новые проблемы: пользовательские плагины должны компилироваться (Compile) вместе со шлюзом, а это означает, что добавление новой функции требует пересборки бинарного файла (Binary) шлюза.
Проблемы и соображения безопасности
Принятие скомпилированных плагинов вызвало опасения в сообществе разработчиков относительно рисков цепочки поставок, поскольку плагины работают внутри процесса самого шлюза, что дает им прямой доступ к конфиденциальным данным запросов. Компания также подчеркнула важность порядка плагинов; размещение плагина кэширования (Cache) перед плагином безопасности может привести к обходу проверки безопасности в случае наличия предварительно сохраненного ответа, что требует высокой точности при настройке.
Этот тренд проявляется в то время, когда другие проекты, такие как сама LiteLLM, стремятся к переходу на Rust, хотя и в постепенном стиле, фокусируясь на замене критических путей, а не на полной перестройке, которую предприняла Respan.