AG-UI: протокол потоковой связи агентов ИИ с любым интерфейсом
Зачем нужен единый протокол
Агенты ИИ перестали быть просто чат-ботами с готовыми ответами. Они рассуждают пошагово, вызывают внешние инструменты, обновляют состояние приложения и взаимодействуют с людьми в реальном времени. В результате каждая команда начинает изобретать собственный способ передачи потоковых данных, что усложняет поддержку и масштабирование.
Основные идеи AG-UI
AG-UI задает потоковый протокол событий между агентом и интерфейсом. Вместо единого итогового ответа агент испускает последовательность JSON-событий, которые фронтенд может отрисовывать по мере поступления.
Ключевые типы событий:
- TEXT_MESSAGE_CONTENT для потоковой передачи текста по токенам.
- TOOL_CALL_START / ARGS / END для вызовов внешних функций или инструментов.
- STATE_SNAPSHOT и STATE_DELTA для синхронизации состояния UI с бэкендом.
- Lifecycle события, например RUN_STARTED и RUN_FINISHED, чтобы структурировать взаимодействие.
Транспортами служат стандартные каналы вроде HTTP Server-Sent Events (SSE) или WebSockets, поэтому не нужно придумывать собственные протоколы.
Взаимодействие фронтенда и бэкенда
Фронтенд подписывается на AG-UI-поток и получает упорядоченную последовательность событий. Одна подписка позволяет:
- Отображать текст по мере генерации.
- Инкрементально обновлять графики и дашборды с помощью STATE_DELTA.
- Показывать прогресс вызовов инструментов на основе TOOL_CALL событий.
- Отправлять правки пользователя агенту по ходу выполнения.
Такой контракт позволяет менять бекенд или UI независимо друг от друга при условии соблюдения спецификации.
Интеграции и SDK
AG-UI уже поддерживают многие фреймворки и библиотеки:
- Mastra (TypeScript): нативная поддержка с сильной типизацией.
- LangGraph: узлы оркестрации генерируют структурированные события AG-UI.
- CrewAI: координация нескольких агентов выводится в UI.
- Agno: полнофункциональные бэкенды для дашбордов.
- LlamaIndex: интерактивный поиск данных с потоковой подачей доказательств.
- Pydantic AI: Python SDK и пример AG-UI Dojo.
- CopilotKit: фронтенд-набор с React-компонентами для подписки на потоки AG-UI.
Поддержка облачных провайдеров и языков расширяется: Kotlin, .NET, Go, Rust, Nim, Java и другие находятся в разработке.
Практические сценарии
AG-UI уже используется в реальных продуктах:
- В медицине дашборды показывают жизненные показатели пациентов без перезагрузки страницы.
- В финансах аналитические агенты стримят свои рассуждения и результаты прямо в интерфейс трейдера.
- Операции миграции данных, суммаризации и автозаполнения форм сводятся к одному SSE-потоку, где передаются только STATE_DELTA, что экономит трафик и устраняет дерганые обновления.
- Боты поддержки показывают индикаторы набора, прогресс вызовов инструментов и итоговые ответы в одном окне чата.
Для разработчиков это означает простую реализацию ассистентов кода и интеграций для редакторов: достаточно слушать события AG-UI, чтобы получить поток подсказок, как в GitHub Copilot.
AG-UI Dojo и начало работы
AG-UI Dojo от CopilotKit предлагает минимальные runnable-демо и чеклисты для шести ключевых примитивов: потоковый чат с хуками инструментов, планирование с участием человека, генеративные интерфейсы, совместное состояние и предиктивные обновления. Dojo помогает проверять порядок событий, форму полезных нагрузок и синхронизацию состояния перед выпуском.
npx create-ag-ui-app@latest
#then
<pick your agent framework>
#For details and patterns, see the quickstart blog: go.copilotkit.ai/ag-ui-cli-blog.
Дорожная карта и сообщество
План развития включает улучшение SDK, инструменты отладки и наблюдаемости, оптимизацию транспорта для больших payload и расширение примеров. Вклад сообщества из проектов Mastra, LangGraph, Pydantic AI и других помогает формировать спецификацию по реальным потребностям разработчиков.
Быстрая интеграция и гибкость
Стандартизируя промежуточный слой между агентами и фронтендами, AG-UI сокращает дублирование, ускоряет прототипирование и позволяет командам менять бэкенд без переработки UI.