Запись архива

Google Agent2Agent (A2A): архитектура, сравнение с MCP и что это значит для разработчиков агентов

Разбираем протокол Agent2Agent от Google: как он устроен, чем отличается от Anthropic MCP, в каких сценариях пригодится и какие ограничения стоит учитывать при проектировании мультиагентных систем.

Схема взаимодействия агентов по протоколу Agent2Agent от Google
Схема взаимодействия агентов по протоколу Agent2Agent от Google
Редакционная тематическая обложка COMRAD404

В апреле 2026 года на Google Cloud Next ’26 компания Google Cloud представила открытый протокол Agent2Agent (A2A). Релиз включал спецификацию, Python SDK и эталонную реализацию. Для разработчиков, проектирующих мультиагентные системы, появление A2A означает появление ещё одного стандарта — наряду с Model Context Protocol (MCP) от Anthropic. Но в отличие от MCP, который решает задачу подключения агентов к инструментам, A2A фокусируется на меж-агентной координации. Разберём, как это работает и что реально даёт разработчику.

Как устроен протокол Agent2Agent

A2A — это протокол прикладного уровня, который позволяет агентам от разных разработчиков и вендоров обмениваться запросами, результатами, контекстом и инструкциями. Ключевое отличие от MCP: A2A не занимается подключением к базам данных или API — он решает задачу «как один агент может попросить другого выполнить задачу».

Основные компоненты протокола:

  • Agent Card — JSON-документ, описывающий возможности агента: какие задачи он решает, какие входные данные принимает, какие форматы выдачи поддерживает. Формат похож на OpenAPI.
  • Skill Cards — вложенные описания конкретных умений агента, которые позволяют другому агенту понять, можно ли делегировать конкретную подзадачу.
  • Task-ориентированная модель — каждый запрос оформляется как задача с уникальным идентификатором, статусом и результатом. Поддерживаются синхронный и асинхронный режимы.
  • Передача контента — протокол поддерживает передачу текста, структурированных данных JSON, изображений, аудио и других MIME-типов через единый конверт.

Для разработчика это означает, что агенты могут динамически обнаруживать друг друга через Agent Card и делегировать задачи без жёсткой связки через единый бэкенд.

Сравнение A2A и MCP: не конкуренты, а дополнение

Важно понимать: A2A и MCP решают разные задачи и не являются взаимоисключающими. MCP отвечает на вопрос «как агенту получить данные из внешнего источника», а A2A — «как одному агенту попросить другого выполнить задачу». В реальной архитектуре они могут сосуществовать.

Параметр Google Agent2Agent (A2A) Anthropic Model Context Protocol (MCP)
Назначение Взаимодействие между агентами Подключение агентов к инструментам и данным
Основная сущность Agent Card, Task Tool, Resource, Prompt
Режим работы Синхронный/асинхронный (на основе задач) В основном синхронный (запрос-ответ)
Транспорт HTTP/2, WebSockets HTTP/1.1, Server-Sent Events
Область применения Мультиагентные системы, оркестрация Доступ к API, БД, файловым системам
Открытость Открытая спецификация, SDK на Python Открытая спецификация, SDK на Python и TypeScript

Пример совместного использования: агент поддержки использует MCP для доступа к базе данных клиентов, а A2A — для делегирования вычислений агенту биллинга. Оба протокола работают на разных уровнях и не конфликтуют.

Практические сценарии: где A2A уже применим

На момент анонса Google привёл примеры использования A2A в партнёрстве с Atlassian, Salesforce и SAP. В типовом сценарии агент поддержки клиентов может запросить у агента CRM данные по пользователю, а затем передать агенту биллинга задачу на формирование счёта.

Для разработчика, собирающего мультиагентную систему, A2A даёт следующие возможности:

  • Делегирование задач между агентами, написанными на разных фреймворках (LangChain, CrewAI, AutoGen и др.)
  • Динамическое обнаружение агентов через Agent Card — не нужно заранее прописывать все эндпоинты
  • Асинхронная обработка длительных задач с опросом статуса или вебхуками
  • Передача контекста и вложенных результатов без потери структуры

В LangChain уже появилась экспериментальная интеграция A2A, что позволяет тестировать протокол в существующих проектах.

Ограничения и нерешённые вопросы

Протокол находится на стадии черновика (draft), и спецификация может меняться. На данный момент отсутствуют:

  • Встроенные механизмы аутентификации и авторизации — предполагается, что это решается на уровне транспорта (TLS, API-ключи)
  • Поддержка потоковой передачи в реальном времени — WebSockets заявлены, но эталонная реализация использует HTTP/2
  • Инструменты для отладки и трассировки меж-агентных вызовов — Google обещает интеграцию с Cloud Trace, но для локальной разработки придётся писать свои обёртки

Остаётся открытым вопрос совместимости с MCP. Хотя обе спецификации открыты, Google и Anthropic пока не анонсировали совместную работу по унификации. Разработчикам, которые уже используют MCP для инструментов, придётся добавлять A2A-обёртки для меж-агентного взаимодействия.

Что делать разработчику: практические шаги

Если вы проектируете агентную систему, вот что стоит проверить уже сейчас:

Изучите репозиторий google/A2A на GitHub — там доступны спецификация и Python SDK

Сравните Agent Card с вашими текущими описаниями сервисов (OpenAPI, GraphQL-схемы)
3. Проверьте, поддерживает ли ваш фреймворк агентов протокол A2A «из коробки» — например, в LangChain уже есть экспериментальная интеграция
4. Следите за обновлениями спецификации: ожидается, что к Q3 2026 протокол перейдёт в стабильную версию

На данный момент A2A — это многообещающий, но сырой стандарт. Он решает реальную проблему оркестрации агентов, но его ценность будет зависеть от скорости принятия сообществом и совместимости с существующими инструментами. Для production-систем пока рано полагаться исключительно на A2A, но для прототипирования и экспериментов — самое время.