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'