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

AI-агенты на практике: что меняется с новым протоколом Agent2Agent от Google

Google представил открытый протокол Agent2Agent (A2A) для взаимодействия между ИИ-агентами. Разбираем, как это работает, какие проблемы решает и что это значит для разработчиков и интеграторов.

Схема работы протокола Agent2Agent от Google для взаимодействия AI-агентов
Схема работы протокола Agent2Agent от Google для взаимодействия AI-агентов
Deutschlands Perspektiven jetzt auf alle Worte Rabbat Bottrop (18.09.2023).jpg | by XBisCotti | wikimedia_commons | CC0

В апреле 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. Протокол открытый, и сообщество может влиять на его эволюцию.