Подписывайтесь:

Блог AST-SoftPro

Протокол A2A (Agent2Agent): как агенты учатся разговаривать между собой

27.08.2026 11 мин чтения
Протокол A2A (Agent2Agent): как агенты учатся разговаривать между собой

В апреле 2025 года Google представила протокол A2A (Agent2Agent) — открытый стандарт для общения между ИИ-агентами. Спустя год, в апреле 2026-го, проекту исполнился год: более 150 организаций, включая Microsoft, AWS, Salesforce, SAP и IBM, уже используют A2A в своих продуктах, а спецификация v1.0 вышла со статусом stable. Разбираем, что такое A2A, зачем он нужен и чем отличается от MCP.

Зачем агентам нужен общий протокол

До появления A2A интеграция двух ИИ-агентов от разных вендоров выглядела как написание моста под конкретную пару: свой формат сообщений, своя авторизация, свой жизненный цикл задачи. Каждый новый агент — новая разработка с нуля.

Протокол решает эту проблему так же, как HTTP сделал для веб-серверов: один стандарт, и любой клиент работает с любым сервером. A2A отвечает на вопрос «как агент А просит агента Б выполнить задачу и получает результат», тогда как MCP (Model Context Protocol) отвечает на другой — «как модель подключает инструменты и источники данных».

💡 A2A и MCP — не конкуренты, а дополняют друг друга. MCP — это клиент-серверный доступ к инструментам внутри одной системы. A2A — равноправное сотрудничество отдельных агентов, каждый со своей моделью, своими инструментами и своим владельцем.

Как устроен A2A: Agent Card и жизненный цикл задачи

Входная точка любого A2A-агента — Agent Card: JSON-файл с описанием агента, который публикуется по стандартному адресу /.well-known/agent.json. Карточка содержит:

Поле Назначение
name, description, version Идентификация агента
provider Кто владеет агентом (организация, URL)
supportedInterfaces[] Поддерживаемые интерфейсы: JSON-RPC 2.0 и/или gRPC с URL-эндпоинтами
capabilities Что умеет агент: стриминг (SSE), push-уведомления, состояние задач
skills[] Конкретные навыки с описанием и входными параметрами
securitySchemes Способы авторизации: OAuth2, OIDC, API-ключи, mTLS

Когда клиентский агент получает карточку, он знает, куда слать запросы, как авторизоваться и какие задачи агент готов выполнять. Дальше начинается работа с задачами (tasks) — основным объектом протокола.

Состояния задачи

Задача в A2A проходит через понятный жизненный цикл:

  1. submitted — задача принята

  2. working — выполняется

  3. input-required — агенту нужны дополнительные данные от клиента (протокол поддерживает диалог в обе стороны)

  4. Финальные состояния: completed, canceled, failed, rejected

Ключевые методы протокола:

  • tasks/send — отправить задачу и дождаться результата

  • tasks/get — узнать текущее состояние задачи

  • message/send — обменяться сообщениями без создания задачи (например, уточняющие вопросы)

Результаты могут приходить тремя способами: синхронный ответ, стриминг через Server-Sent Events или push-уведомления на callback-URL клиента. Для длинных задач это критично: клиент не обязан держать соединение открытым часами.

Что принесла спецификация v1.0

Стабильная версия v1.0 (апрель 2026) добавила то, чего не хватало для промышленного использования:

  • Мультитенантность — один агент может обслуживать множество клиентов с изолированными задачами

  • Два транспорта: JSON-RPC 2.0 (основной, работает везде) и gRPC (для высоконагруженных систем)

  • Переговор версии через заголовок A2A-Version — клиент и сервер договариваются о совместимой версии протокола

  • Расширенная авторизация: OAuth2 с PKCE и device code flow — агент теперь может безопасно работать в браузере без секрета на клиенте

  • Пагинация в tasks/list — история задач не раздувает ответ

⚠️ Важно для разработчиков: протокол требует, чтобы карточка агента отражала реальную поверхность безопасности. Если агент поддерживает mTLS, но в карточке указан только API-ключ — клиент может небезопасно настроить интеграцию. Подпись карточки (необязательная) защищает от подмены: без неё злоумышленник может заменить agent.json на свой и перехватить трафик.

Экосистема: кто уже подключился

За год A2A собрал вокруг себя заметную экосистему:

Организации-участники (150+): Google, Microsoft, AWS, Salesforce, SAP, ServiceNow, Workday, IBM и десятки других. Проект передан в Linux Foundation — 23 июня 2025 года на Open Source Summit Europe, что убрало привязку к одному вендору.

Официальные SDK: Python, JavaScript/TypeScript, Java, Go, .NET — все с поддержкой JSON-RPC и gRPC.

Облачные платформы:

  • Google Cloud: A2A встроен в Vertex AI Agent Builder

  • Azure: поддержка в Azure AI Foundry

  • AWS: интеграция с Amazon Bedrock AgentCore

Фреймворки агентной разработки:

Фреймворк Статус поддержки
Google ADK (Agent Development Kit) Нативная, референсная реализация
LangGraph SDK-интеграция
CrewAI Поддержка A2A-агентов
LlamaIndex Agents Поддержка
Semantic Kernel / Microsoft Agent Framework 1.0 GA (3 апреля 2026) с A2A из коробки
AutoGen Поддержка через MCP + A2A мосты

💡 Практический вывод: если вы строите агентную систему на любом из перечисленных фреймворков, A2A-совместимость — это не «когда-нибудь», а уже доступная сегодня функция. Агент на LangGraph в вашей инфраструктуре может общаться с агентом на ADK у партнёра без единой строчки промежуточного кода.

Безопасность: что нужно проверить перед продакшеном

A2A — протокол для обмена задачами между системами, которые принадлежат разным организациям. Это повышает ставки по безопасности:

  1. Авторизация на уровне карточки. Проверяйте securitySchemes и не доверяйте агенту без явной схемы. mTLS — лучший вариант для B2B-интеграций.

  2. Подпись карточки. Без подписи agent.json можно подменить (атака имперсонации). В v1.0 механизм необязательный, но в чувствительных интеграциях его отсутствие — красный флаг.

  3. Внедрение промптов между агентами (cross-agent prompt injection). Агент-посредник получает данные от внешнего агента и передаёт их своей модели. Если внешний агент злонамеренный (или скомпрометирован), он может внедрить инструкции в текст задачи. Протокол задаёт формат, но не защищает от семантических атак — фильтрация на вашей стороне обязательна.

  4. Минимальные привилегии. Каждый A2A-агент должен получать только те токены доступа, которые нужны для его конкретных навыков, а не общий сервисный аккаунт.

A2A против MCP: таблица различий

Критерий A2A MCP
Модель взаимодействия Равноправные агенты (peer-to-peer) Клиент — сервер (модель + инструменты)
Кто «думает» Оба конца имеют свои LLM Сервер — пассивный провайдер инструментов
Основной объект Task с жизненным циклом Tool call / resource
Авторизация OAuth2, OIDC, mTLS, API-ключи (на уровне карточки агента) Простая, в рамках одной системы
Стриминг / длинные задачи SSE + push-уведомления, input-required Streamable HTTP, но без диалога состояний
Типичный сценарий Агент отдела продаж → агент логистики другого юрлица ИИ-ассистент подключает Slack, GitHub, БД

Оба протокола вышли из экосистемы Anthropic/Google, и оба переданы в Linux Foundation (MCP — в декабре 2024 года). Фактически сложился стандартный стек: MCP вниз (инструменты и данные), A2A вбок (сотрудничество агентов).

Что это значит для бизнеса

Для компаний, которые уже внедряют ИИ-агентов, A2A снимает главный барьер масштабирования: стоимость интеграции. Вместо N×(N-1)/2 мостов между N агентами — один стандарт. Конкретные выгоды:

  • Покупка компетенций вместо разработки. Агент партнёра, который умеет работать с вашей нишевой системой, подключается через карточку за день, а не за квартал

  • Внутренняя декомпозиция. Разные команды строят агентов независимо; A2A — контракт между ними

  • Открытость поставщикам. Протокол открыт и живёт в Linux Foundation: вендорлок при переходе на другую LLM или другой фреймворк минимален

⚠️ Ограничение: A2A стандартизирует обмен, но не качество ответов. Агент-партнёр может формально корректно выполнять задачи и при этом выдавать бесполезные результаты. SLA по качеству — вопрос договорённостей, а не протокола.

Выводы

A2A за год прошёл путь от анонса Google до индустриального стандарта под эгидой Linux Foundation: 150+ организаций, SDK на пять языков, интеграции в трёх облачных платформах и во всех крупных фреймворках. Протокол занимает чёткую нишу — меж-агентное сотрудничество поверх MCP — и v1.0 закрыл ключевые пробелы для продакшена: мультитенантность, gRPC, OAuth2 PKCE, пагинация.

Если вы проектируете агентную архитектуру в 2026 году, вопрос уже не «нужен ли нам A2A», а «какой транспорт выбрать — JSON-RPC или gRPC — и как настроить безопасность карточек». Экосистема созрела — время подключаться.

Источники