Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Обзор Agentgateway: централизация и контроль работы с ИИ

Обзор Agentgateway: централизация и контроль работы с ИИ

Современные инфраструктурные задачи требуют централизации запросов к искусственному интеллекту, для чего применяется специальное open-source-решение — открытый шлюз для управления ИИ, написанный на языке Rust компанией Solo.io в рамках экосистемы Linux Foundation.

Программный продукт Agentgateway (AGW) выполняет роль универсального оркестратора трафика, обеспечивая взаимодействие с различными поставщиками моделей, протоколами агентских коммуникаций и механизмами безопасности.

Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 9
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 10
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 11
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 12
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 13
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 14
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 15
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 16
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 17
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 18
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 19
Обзор Agentgateway: централизация и контроль работы с ИИ — изображение 20

Что представляет собой Agentgateway

Инструмент проектировался как специализированный шлюз, способный закрывать сразу несколько ключевых потребностей при работе с современными языковыми моделями. Официальная документация определяет базовый функционал платформы через следующие направления:

Реклама
  • организация шлюза для подключения к внешним LLM-провайдерам;
  • обработка трафика по протоколам MCP и A2A (Agent-to-Agent);
  • расширенное управление сетевыми и информационными потоками;
  • направление инференса запросов.

Блок управления трафиком отвечает за ограничение расхода токенов, формирование лимитов, модификацию HTTP-заголовков (добавление или удаление), а также за детальную проверку содержимого передаваемых сообщений. Развертывание платформы поддерживается в двух основных вариантах: в виде автономного standalone-модуля или в кластере Kubernetes.

Включение настроек LLM и MCP в графическом интерфейсе
Интерфейс первичной конфигурации компонентов в панелях управления AGW

Причины выбора и сравнение с аналогами

Перед внедрением инструмент проходил предварительную оценку наряду с другими решениями, включая lunar.dev и MCPJungle. Анализ docker-образов, тестовое развертывание и проверка базовых сценариев показали, что альтернативные инструменты часто страдают излишней сложностью первоначальной настройки или требуют обязательного постоянного подключения к интернету, а в некоторых случаях содержат встроенные учетные данные и внешние хосты для телеметрии.

Благодаря рекомендациям профильных специалистов выбор был сделан в пользу AGW, что позволило в дальнейшем применять проверенные инженерные практики при развертывании.

Процесс запуска standalone-версии

Для практического развертывания автономного экземпляра версии 1.5.0 требуется установленная среда Docker. Первым шагом выполняется загрузка официального контейнера с помощью команды:

Реклама

docker pull cr.agentgateway.dev/agentgateway:v1.5.0

Затем создается локальная директория для маппинга данных, где будут храниться файл конфигурации config.yaml и база данных SQLite:

mkdir agw-config

Следующим этапом запускается контейнер. Привязка к адресу 127.0.0.1 ограничивает внешний доступ к панели управления до завершения настройки первичной авторизации:

docker run -d --name agentgateway --user "$(id -u):$(id -g)" -v "$PWD/agw-config:/config" -p 127.0.0.1:4000:4000 cr.agentgateway.dev/agentgateway:v1.5.0

Добавление провайдера в Agentgateway
Окно добавления нового LLM-провайдера через панель управления шлюзом

После успешной инициализации в логах фиксируется готовность компонентов, после чего пользователь может открыть графический интерфейс в браузере по адресу http://localhost:4000/ui, активировать необходимые блоки для работы с LLM и MCP и продолжить настройку системы.

Основные архитектурные понятия

Архитектура платформы строится на нескольких взаимосвязанных сущностях, определяющих логику прохождения запросов.

Gateways и Listeners

Ворота (Gateway) представляют собой точку входа в шлюз, задаваемую именованным портом, набором эндпоинтов и сетевым протоколом (HTTP, HTTPS, TCP, TLS) с поддержкой сертификатов. Каждый объект шлюза содержит как минимум одного слушателя (Listener). Несколько слушателей задействуются в ситуациях, когда к шлюзу привязано несколько доменных имен, требующих раздельных TLS-сертификатов.

Routes и Backends

Дороги (Routes) обрабатывают и перенаправляют поступающий трафик, определяясь на верхнем уровне и привязываясь к воротам по имени. Бэкенды (Backends) отвечают за дальнейшую отправку запросов конкретному IP-адресу, хосту, LLM-провайдеру или специализированному MCP-серверу.

Policies

Политики безопасности и мониторинга применяются на разных этапах обработки трафика. Существуют правила для ворот и слушателей (проверка JWT, базовая аутентификация, API-ключи до выбора маршрута), политики для дорог, а также бэкенд-политики (управление TLS, авторизация, изменение заголовков после определения конечного узла).

Интеграция LLM и MCP

Добавление новых поставщиков моделей осуществляется в разделе управления провайдерами (Providers), где после выбора нужного сервиса задаются параметры моделей в соответствующем разделе (Models).

Интеграция Model Context Protocol (MCP) поддерживает три транспортных протокола: современный Streamable HTTP, устаревший SSE и вариант передачи через командную строку (Command Line).

Лучшие практики эксплуатации

Для безопасной и стабильной работы шлюза в производственной среде рекомендуется следовать ряду проверенных рекомендаций.

Безопасность панели управления и OIDC

Доступ к веб-интерфейсу административной панели должен быть ограничен. Интеграция с корпоративными системами идентификации, такими как GitLab, реализуется через протокол OIDC в разделе настроек Settings → OIDC, а конкретные права доступа пользователей настраиваются в блоке Settings → Authorization.

Конфигурация и шифрование

Интерфейс управления шлюзом позволяет изменять параметры в реальном времени, записывая их в файл config.yaml. Для предотвращения нежелательных правок через UI можно перевести конфигурационный файл в режим только для чтения (read-only). Для защиты внешних подключений обязательно задействуется протокол HTTPS с валидными сертификатами.

Обзор Agentgateway: централизация и контроль работы с ИИ

Конфиденциальные заголовки и API-ключи

Во избежание утечки конфиденциальных данных в системные логи используется маскирование заголовков. Параметр sensitiveHeaders задается непосредственно в файле конфигурации, после чего требуется перезапуск шлюза:

Обзор Agentgateway: централизация и контроль работы с ИИ: Шлюз позволяет настроить подключение HTTPS и подключить сертификаты. Так будет безопаснее, чем через HTTP. Рекомендую. S
config:
  sensitiveHeaders:
    - x-api-key
    - cookie
    - x-tenant-secret

Шлюз скрывает указанные значения в трассировке и отладке, сохраняя при этом возможность чтения реальных данных на бэкенде через выражения CEL.

Обзор Agentgateway: централизация и контроль работы с ИИ: В AGW доступна авторизация по API-ключам. То есть, если пользователь хочет воспользоваться шлюзом, он обращается к админ

Дополнительно для пользователей настраивается авторизация по API-ключам с привязкой лимитов потребления токенов и ограничением доступных моделей. Для корректной работы лимитов и построения графиков расхода в системе задается детальный ценовой прайсинг в USD для каждой модели (включая затраты на ввод, вывод и кэширование).

Обзор Agentgateway: централизация и контроль работы с ИИ: Для каждой модели можно настроить свой прайсинг (в USD) за токены (input, output, cache read, cache write), отредактиров
Обзор Agentgateway: централизация и контроль работы с ИИ: Вот и все. Спасибо, что дочитали до конца! Хочу поблагодарить своих коллег Никиту Полосухина и Анатолия Зотова, благодар
01.