
В апреле 2025 года Google представил открытый протокол Agent2Agent (A2A) — спецификацию, которая позволяет AI-агентам от разных разработчиков напрямую обмениваться задачами, контекстом и результатами. Для тех, кто строит агентные системы, это не очередной анонс, а потенциальный сдвиг в том, как проектируется агентная инфраструктура.
До сих пор агенты оставались по большей части изолированными: каждый работает внутри своей экосистемы, использует собственные форматы данных и API. Интеграция между агентами от разных поставщиков требовала написания дополнительных адаптеров или перехода на единую платформу. A2A предлагает стандартный способ соединять агентов без привязки к конкретному фреймворку.
Что изменилось с появлением A2A
Протокол A2A определяет, как агент может делегировать задачу другому агенту, передавать промежуточные результаты и получать финальный ответ. В основе лежит архитектура «клиент — сервер», где один агент (клиент) отправляет запрос другому (серверу) через REST-эндпоинт. Сервер публикует «карточку агента» — JSON-документ с описанием возможностей, поддерживаемых форматов и точек входа.
Ключевой элемент протокола — «карта задачи» (Task Card), которая содержит полную историю взаимодействия: какие шаги выполнены, какие данные переданы и в каком состоянии находится задача. Это позволяет агентам не просто обмениваться сообщениями, а вести структурированный диалог с сохранением контекста.
| Компонент | Назначение |
|---|---|
| Agent Card | JSON-описание агента, его навыков и API-эндпоинтов |
| Task Card | Журнал состояния задачи, шаги и артефакты |
| A2A Transport | REST/HTTP-слой для передачи запросов и ответов |
| Content Types | Поддерживаемые форматы: текст, JSON, Markdown, мультимодальные данные |
Протокол использует стандартные HTTP-методы и форматы, что упрощает внедрение в существующую инфраструктуру. Для аутентификации и авторизации A2A опирается на существующие механизмы, в первую очередь OAuth 2.0.
Почему это важно для разработчиков и интеграторов
На практике A2A решает проблему, с которой сталкиваются команды, строящие агентные системы на нескольких сервисах. Представьте: у вас есть агент для анализа документов, работающий на платформе A, и агент для генерации отчётов на платформе B. Без A2A вам пришлось бы писать промежуточный сервис, который конвертирует данные между форматами и управляет вызовами API. С A2A оба агента могут общаться напрямую, используя единый протокол.
Google опубликовал эталонную реализацию на Python и TypeScript, а также SDK для интеграции с Vertex AI и GenKit. Партнёрами по запуску стали 50 компаний, включая Atlassian, Box, Salesforce и UKG. Это не значит, что протокол уже стал стандартом, но он получил начальную поддержку от крупных вендоров.
Для разработчиков, работающих с open-source фреймворками, A2A может стать альтернативой проприетарным решениям. В отличие от Model Context Protocol (MCP) от Anthropic, который фокусируется на подключении агентов к внешним инструментам и данным, A2A делает акцент на взаимодействии между самими агентами. Оба протокола не конфликтуют: MCP отвечает за связь агента с инструментами, A2A — за связь агента с агентом.
Где проходят границы протокола
A2A остаётся на ранней стадии. Спецификация версии 1.0 опубликована, но практическая совместимость между разными реализациями ещё не проверена в масштабе. Основные ограничения:
- Протокол не определяет, как агенты договариваются о формате данных. Если один агент возвращает JSON, а другой ожидает Markdown, A2A не решает эту проблему автоматически — нужна явная конфигурация или промежуточный адаптер.
- Аутентификация оставлена на усмотрение разработчика. В спецификации нет встроенных механизмов проверки подлинности или шифрования на уровне протокола.
- Производительность при большом количестве последовательных делегирований не описана. Каждый шаг добавляет задержку, и для сложных цепочек агентов это может стать проблемой.
- Документация пока ориентирована на облачную инфраструктуру Google. Локальное развёртывание или использование с открытыми моделями не покрыто примерами.
Эти ограничения не делают протокол бесполезным, но их стоит учитывать при проектировании систем. A2A — не серебряная пуля, а инструмент, который работает лучше всего в сочетании с другими стандартами и практиками.
Что можно протестировать уже сейчас
Для тех, кто хочет попробовать A2A в деле, Google опубликовал несколько ресурсов:
- Официальная спецификация и документация на сайте Google A2A.
- Пример агента на Python с реализацией Agent Card и Task Card.
- SDK для TypeScript и Python в репозитории google/A2A.
Практический сценарий для тестирования: реализовать простого агента, который принимает текстовый запрос, делегирует его другому агенту (например, для извлечения данных из документов) и возвращает результат. Это займёт несколько часов при наличии базовых навыков работы с REST API.
Важно: не путать A2A с протоколом MCP от Anthropic. MCP решает задачу «агент — инструмент», A2A — «агент — агент». Для полноценной агентной архитектуры могут потребоваться оба протокола.
Итог
A2A — это попытка Google стандартизировать то, что до сих пор решалось ad-hoc интеграциями. Протокол не лишён недостатков, но он предлагает конкретный, документированный подход к взаимодействию агентов. Для разработчиков, которые строят распределённые агентные системы, A2A стоит изучить и протестировать в небольших сценариях.
Дальнейшие шаги: следить за развитием спецификации, проверять совместимость с вашими фреймворками и участвовать в обсуждении на GitHub. Протокол открытый, и сообщество может влиять на его эволюцию.
