Agent-to-Agent (A2A) — открытый стандарт коммуникационного протокола, разработанный Google для обеспечения взаимодействия и совместимости между независимыми, потенциально закрытыми AI-агентами. Протокол решает ключевую проблему современных агентных систем — возможность эффективной коммуникации между агентами, созданными с использованием различных фреймворков, языков программирования или разработанными разными компаниями, предоставляя универсальный язык и модель взаимодействия.
Основные цели A2A
Интероперабельность — устранение барьеров в коммуникации между разрозненными агентными системами.
Коллаборация — обеспечение возможности делегирования задач, обмена контекстом и совместной работы над сложными пользовательскими запросами.
Обнаружение — реализация динамического обнаружения и понимание возможностей других агентов.
Гибкость — поддержка различных режимов взаимодействия, включая синхронные запросы/ответы, стриминг для реального времени и асинхронные уведомления для длительных задач.
Безопасность — обеспечение безопасных паттернов коммуникации, соответствующих корпоративным требованиям.
Асинхронность — поддержка длительных процессов с возможным участием человека.
Ключевые концепции
A2A Client: приложение или агент, инициирующий запросы к A2A Server от имени пользователя.
A2A Server (Remote Agent): агент, предоставляющий A2A-совместимую HTTP-конечную точку для обработки задач.
Agent Card: JSON-документ метаданных, описывающий идентичность агента, его возможности, конечную точку сервиса и требования аутентификации.
Task: базовая единица работы с уникальным ID, имеющая состояние и проходящая через определенный жизненный цикл.
Message: единица коммуникации между клиентом и агентом, содержащая роль и части контента.
Part: минимальная единица контента (текст, файл, структурированные данные).
Artifact: выходные данные (документы, изображения), состоящие из частей.
Streaming (SSE): потоковые обновления в реальном времени через Server-Sent Events.
Push Notifications: асинхронные обновления задач через HTTP POST webhook.
Транспортные протоколы
A2A поддерживает три основных транспорта, которые имеют равный статус:
JSON-RPC 2.0 — стандартный протокол удаленного вызова процедур.
gRPC — высокопроизводительный RPC-фреймворк от Google.
HTTP+JSON/REST — традиционный RESTful подход.
Безопасность
Протокол использует веб-практики безопасности на уровне транспортного уровня (HTTPS/TLS), а аутентификация осуществляется через HTTP-заголовки без передачи идентификационной информации в A2A-сообщениях.
Агенты объявляют свои требования к аутентификации в Agent Card, после чего клиенты получают необходимые учетные данные вне рамок протокола.
Обнаружение агентов
Сервера обязаны предоставлять Agent Card — JSON-документ, доступный по рекомендуемому адресу , который содержит всю необходимую информацию для взаимодействия с агентом.
- Основные цели A2A
- Ключевые концепции
- Транспортные протоколы
- Безопасность
- Обнаружение агентов