Паспорт проекта
- Тип
- Технические модули
- Задача
- Дать общий интерфейс взаимодействия агентного backend и пользовательского приложения вместо отдельных несовместимых контрактов.
- Для кого
- Разработчики пользовательских приложений, агентных серверов и фреймворк-интеграций; Python SDK прямо адресован разработчикам совместимых серверов.
- Технологии
- Python / TypeScript / API / SDK / JSON
- Что потребуется
- Нужны совместимые сервер/клиент и согласованная версия протокола; требования зависят от SDK/adapter.
- Основание
- 26 первоисточников
За 30 секунд
Дать общий интерфейс взаимодействия агентного backend и пользовательского приложения вместо отдельных несовместимых контрактов.
Стандартизует streaming chat, обмен состоянием, структурированные сообщения/генеративный UI, контекст, frontend-инструменты и участие человека в исполнении.
События жизненного цикла, текст/вызовы инструментов и снимки состояния; например ADK-JS выдаёт RUN_STARTED и один RUN_FINISHED либо RUN_ERROR. Результат зависит от выбранной интеграции.
Как это работает
На входе
В документированном примере TypeScript ADK HTTP-клиента метод run принимает полный RunAgentInput и возвращает Observable. Альтернативный runAgent управляет threadId/messages/state, принимает runId/tools/context/forwardedProps/resume и возвращает Promise с RunAgentResult. Это API конкретного клиента, не универсальные методы протокола.
Механизм
Стандартизует streaming chat, обмен состоянием, структурированные сообщения/генеративный UI, контекст, frontend-инструменты и участие человека в исполнении.
Результат
События жизненного цикла, текст/вызовы инструментов и снимки состояния; например ADK-JS выдаёт RUN_STARTED и один RUN_FINISHED либо RUN_ERROR. Результат зависит от выбранной интеграции.
Что важно понять
Техническое устройство
Контракт описан JSON Schema; SDK генерируются из замороженного 1.0; 1.1 остаётся draft. Строгая same-version схема закрывает объекты, а runtime-граница пропускает неизвестные поля с удалением/предупреждением. Адаптеры переводят события фреймворков в события AG-UI; ADK изменения состояния выдаёт RFC6902 patches.
Для чего создано
Дать общий интерфейс взаимодействия агентного backend и пользовательского приложения вместо отдельных несовместимых контрактов.
Для кого
Разработчики пользовательских приложений, агентных серверов и фреймворк-интеграций; Python SDK прямо адресован разработчикам совместимых серверов.
Сценарии использования
Streaming chat и frontend-tools; пример Langroid включает совместный редактор рецепта с синхронизацией состояния. Это demo, не подтверждённое клиентское внедрение.
Идея решения
Разделить протокол agent→UI и конкретный транспорт/фреймворк; общий контракт и межъязыковые fixtures удерживают одинаковый wire-format у SDK.
Какую задачу описывает источник
Документация фиксирует расхождение сериализации: Python/.NET отдавали null вместо отсутствующего поля, что потребовало трёх tolerant-receiver исправлений. Общие fixtures предотвращают такой дрейф контрактов.
Что известно из описания
Что потребуется
- Нужны совместимые сервер/клиент и согласованная версия протокола; требования зависят от SDK/adapter.
- ADK-JS отдельно server-only, Node 20.19+, Google ADK 2.x и AG-UI 1.x; это не универсальные требования AG-UI.
Что учитывать
- Схема проверяет структуру одного события, но не порядок/жизненный цикл и применимость patch.
- A2A-интеграция experimental; старые клиенты отвергают новые attributed subagent events.
- Поддержка frontend/HITL и мультимодальности различается по adapter.
Из первоисточников
Редакционный обзор NeoBridge Insight по материалам источников ниже. Права на исходные тексты, код и изображения принадлежат их правообладателям. Условия использования указаны в первоисточниках.
Независимое тестирование проекта не проводилось.
github.com
- ag-ui-protocol/ag-ui↗
- README.md↗
- apps/client-cli-example/README.md↗
- apps/dojo/README.md↗
- apps/dojo/e2e/README.md↗
- docs/README.md↗
- docs/spec/README.md↗
- integrations/a2a/typescript/README.md↗
- integrations/adk-middleware/js/README.md↗
- integrations/adk-middleware/python/README.md↗
- integrations/adk-middleware/typescript/README.md↗
- integrations/ag2/typescript/README.md↗
- integrations/agent-spec/python/README.md↗
- integrations/agno/typescript/README.md↗
- integrations/antigravity/python/README.md↗
- integrations/antigravity/typescript/README.md↗
- integrations/langroid/README.md↗
- middlewares/a2a-middleware/README.md↗
- middlewares/mcp-apps-middleware/README.md↗
- middlewares/mcp-middleware/README.md↗
- middlewares/middleware-starter/README.md↗
- scripts/package-licenses/README.md↗
- sdks/fixtures/README.md↗
- sdks/python/README.md↗
- sdks/typescript/README.md↗
- spec/README.md↗




Комментарий NeoBridge
Общая справка
Что стоит уточнить
Основания и справочные материалы
API ↗