Урок 11Протокол

Протокол A2A (Agent-to-Agent)

Открытый стандарт для связи AI-агентов разных вендоров

Проблема: Вы создали AI-агента на Claude, коллега — на GPT, а компания-партнёр использует кастомного open-source агента. Они не могут общаться — каждый использует свой формат. Мульти-вендорная оркестрация агентов невозможна без универсального стандарта.

Решение: A2A — Универсальный язык для AI-агентов

A2A (Agent-to-Agent) протокол — открытый стандарт Google для коммуникации между агентами, выпущенный в апреле 2025 с 50+ партнёрами. Каждый агент публикует agent card — JSON-документ с описанием capabilities, навыков и endpoint. Клиенты обнаруживают агентов, создают задачи с определённым lifecycle (submitted → working → input-required → completed → failed) и получают результаты через Server-Sent Events стриминг или webhook push-уведомления. Протокол HTTP-based с enterprise-grade аутентификацией (OAuth2, API keys).

Представьте это как USB-C для AI-агентов — один универсальный стандарт вместо десятков проприетарных кабелей. Agent card — это паспорт (кто я, что умею, как со мной связаться), а task — заявка на работу (отправлена, в процессе, готова):

  • 1. Агент публикует agent card: Каждый агент описывает свои capabilities в стандартном JSON: имя, описание, навыки, URL endpoint, требования к аутентификации
  • 2. Клиент обнаруживает capabilities: Клиент загружает agent card по известному URL, читает, что агент умеет, и решает, использовать ли его
  • 3. Задача создана и согласована: Клиент отправляет задачу. Агент может начать работу сразу или запросить дополнительный ввод (состояние input-required)
  • 4. Результаты передаются обратно: Результаты приходят через SSE стриминг (реальное время) или webhook push-уведомления. Поддерживает артефакты (файлы, структурированные данные) наряду с текстом

Где используется A2A Protocol

  • Мульти-вендорная оркестрация: Соединяйте агентов от разных провайдеров (Google, Microsoft, open-source) в единые workflow без проприетарной привязки
  • Корпоративные workflow: Цепочки специализированных агентов: исследование → анализ → отчёт. Каждый агент делает свою часть, результаты передаются через стандартный A2A протокол
  • Маркетплейс агентов: Стандартный интерфейс позволяет создать "магазин приложений" для AI-агентов. Обнаруживайте capabilities через agent cards, интегрируйте через стандартный протокол
  • Частая ошибка: Путаница A2A и MCP. MCP соединяет LLM с инструментами (базы данных, API, файловые системы) — как USB для периферии. A2A соединяет агентов с агентами — как HTTP для веб-сервисов. Они дополняют друг друга, а не конкурируют

Интересный факт: A2A был запущен с 50+ партнёрами, включая Salesforce, SAP, MongoDB и LangChain. Протокол задуман как HTTP мира агентов — достаточно простой для реализации за полдня, но достаточно мощный для enterprise-масштабной мульти-агентной оркестрации со стримингом, аутентификацией и обменом артефактами.

Попробуйте сами!

Исследуйте визуализацию ниже, чтобы увидеть, как агенты обнаруживают друг друга, согласовывают задачи и передают результаты через A2A протокол.

A2A Protocol: коммуникация между агентами
Протокол A2A в действии

Как клиент находит и выбирает агента через Agent Card

Клиент
Агент
1
Клиент ищет агента
GET https://research-agent.example/.well-known/agent.json
Ключевой принцип

A2A превращает каждого агента в "микросервис с интеллектом". Как HTTP позволил веб-сервисам общаться без знания внутренней реализации друг друга, A2A позволяет агентам сотрудничать, зная только Agent Card партнёра.

Частые вопросы

Что такое протокол A2A и чем он отличается от MCP?

A2A (Agent-to-Agent) — открытый протокол Google для межагентного взаимодействия. MCP соединяет LLM с инструментами (БД, API), а A2A соединяет автономных агентов друг с другом. MCP — как USB для периферии, A2A — как HTTP для веб-сервисов.

Что такое Agent Card в протоколе A2A?

Agent Card — это JSON-документ по адресу /.well-known/agent.json, описывающий возможности агента, требования к аутентификации и URL эндпоинта. Это аналог API-спецификации, но для автономного обнаружения и взаимодействия агентов.

Когда стоит использовать A2A, а когда — кастомную интеграцию агентов?

Используйте A2A, когда нужно соединить агентов от разных вендоров или команд и нужен стандартный, заменяемый интерфейс. Кастомная интеграция оправдана только для тесно связанных внутренних агентов, где вы контролируете обе стороны и нужна максимальная производительность.

Попробуй сам

Интерактивное демо этой техники

Сравнение техник
Демо режим
Предзаписанные ответы
ЗадачаСреднийАнализ

Организовать взаимодействие research-агента и analysis-агента для исследования рынка

Без техники
Без техники
Промпт
Напиши код для вызова research API, получи данные, потом вызови analysis API с этими данными. Формат: JSON.
Ответ

fetch("https://research-vendor.com/api/v2/search", { body: JSON.stringify({query: "AI market"}) }) .then(res => fetch("https://analysis-co.io/api/analyze", { body: JSON.stringify({data: res}) }))

Проблема: если research-vendor меняет формат ответа (v2→v3), analysis-co ломается. Нужно переписывать парсинг каждый раз.

Токены:40/85
Время:450ms
Качество:
С agents-a2a-protocol
С техникой
Промпт
Используя протокол A2A, организуй взаимодействие: 1. Оркестратор обнаруживает Research Agent через Agent Card 2. Создаёт задачу через A2A task API 3. Получает результат и передаёт Analysis Agent 4. Результат приходит через SSE streaming Опиши каждый шаг с указанием HTTP-запросов.
Ответ

Шаг 1: Discovery GET https://research-agent.example/.well-known/agent.json → { "name": "ResearchAgent", "skills": ["web-search"], "endpoint": "/tasks" }

Шаг 2: Создание задачи POST https://research-agent.example/tasks { "task": { "message": "Исследуй рынок AI-агентов 2025" } } → { "taskId": "t-123", "state": "working" }

Шаг 3: Получение результата (SSE) GET https://research-agent.example/tasks/t-123/stream → event: state_change, data: { "state": "completed", "artifacts": [...] }

Шаг 4: Передача Analysis Agent GET https://analysis-agent.example/.well-known/agent.json POST https://analysis-agent.example/tasks { "task": { "message": "Проанализируй данные", "artifacts": [...] } }

Преимущество: замена любого агента — это просто смена URL. Формат стандартный.

🧠Discovery: читаем Agent Card, узнаём capabilities и endpoint
👁️Task creation: отправляем стандартный A2A-запрос на создание задачи
👁️Streaming: результат приходит через SSE, не нужен polling
Стандартизация: замена агента = замена URL, код не меняется
Токены:95/240
Время:2200ms
Качество:
Почему это работает

A2A превращает кастомные API-интеграции в стандартный протокол. Вместо переписывания кода при смене вендора — просто смените URL Agent Card.

1 / 2

Квиз по уроку

1 из 4

1.В чём основное различие между протоколами A2A и MCP?

Практика

Создайте бесплатный аккаунт для решения челленджей

3 челленджей с AI-проверкой для этого урока

Связанные уроки:Multi AgentArchitecturesEvaluation

Этот урок — часть структурированного курса по LLM.

Мой путь обучения