API / Auth / MCP Сложно

A2A Agent Card: визитка вашего агента для оркестраторов

Что такое A2A Agent Card (Google A2A Protocol), зачем она для межагентной коммуникации, пример, правильно vs неправильно, ошибки и как проверить.

Обновлено:

Что это

A2A Agent Card — JSON-документ по адресу /.well-known/agent.json, описывающий возможности вашего AI-агента в формате Google Agent-to-Agent (A2A) Protocol. По нему другие агенты и оркестраторы автоматически обнаруживают и вызывают ваш агент без ручной конфигурации. Если MCP Server Card описывает инструменты, то A2A Agent Card — высокоуровневые skills самого агента.

Зачем это AI-агентам

A2A (2025) — стандарт межагентной коммуникации. Без Agent Card ваш агент существует «в темноте»: подключить его можно только вручную. С карточкой оркестратор (Claude, Gemini, сторонний агент) находит специализированного агента по описанию и включает его в составной workflow — делегирование задач становится автоматическим.

Минимальный рабочий пример

{
  "name": "My Data Agent",
  "description": "Provides data analysis and reporting",
  "version": "2.0.0",
  "url": "https://api.example.com/a2a",
  "capabilities": { "streaming": true, "pushNotifications": false },
  "skills": [
    {
      "id": "analyze",
      "name": "Analyze Dataset",
      "description": "Run statistical analysis on a CSV",
      "inputModes": ["file", "text"],
      "outputModes": ["text", "json"]
    }
  ]
}

Правильно vs неправильно

ПравильноНеправильно
Лежит по /.well-known/agent.json, application/jsonПроизвольный путь
Есть name, version, urlПропущены обязательные поля
Массив skills с id + name у каждогоПустой/отсутствующий skills — нечего делегировать
url ведёт на работающий A2A-endpointБитый/заглушечный URL

Типичные ошибки

  • Невалидный JSON или нет обязательных name/version.
  • Нет skills — оркестратор не понимает, что агент умеет.
  • Skills без понятных описаний — выбор агента по задаче не работает.
  • Путаница с ai-agent.json — это разные файлы; A2A использует именно /.well-known/agent.json.

Как проверить

Сканер делает GET на /.well-known/agent.json и проверяет JSON, поля name/version и массив skills (хотя бы один с id + name). Вручную:

curl -s https://example.com/.well-known/agent.json | jq '.name, .version, .skills'

Источники