Довідник

A2A: дозвольте AI-агентам викликати ваш сайт

AI-агент щойно перевірив цей сайт без відкриття браузера, натискання кнопок і скрапінгу сторінок — він прочитав невеликий JSON-файл, надіслав один типізований запит і отримав структурований результат. Цей обмін і є A2A, і будь-який сайт може його запропонувати.

Що таке A2A

A2A (Agent2Agent) — це відкритий протокол під егідою Linux Foundation, який дозволяє AI-агентам знаходити та викликати один одного через звичайний HTTP. Уявіть це як аналог публічного API для взаємодії між агентами: замість того щоб людина читала вашу документацію і писала інтеграцію, інший агент читає машинний опис того, що робить ваш сервіс, і викликає його напряму.

Він складається з двох частин: документа виявлення (agent card) і викликаного ендпоінту (skill).

1. Agent card — виявлення

Ви публікуєте JSON-файл за адресою /.well-known/agent-card.json, що описує, хто ви і що ви вмієте. Обов'язкові поля: name, description, version, url (ваш A2A ендпоінт) і принаймні одна skill:

{
  "protocolVersion": "0.3.0",
  "name": "llms.txt Validator",
  "description": "Validate a website's llms.txt and return a score with findings.",
  "url": "https://llms-txt-validator.dev/a2a",
  "skills": [{ "id": "validate_llms_txt", "name": "Validate llms.txt",
              "description": "Given a domain or URL, fetch and validate its llms.txt." }]
}

2. Ендпоінт — викликана навичка

Поле url картки вказує на JSON-RPC 2.0 ендпоінт. Агент викликає метод message/send з повідомленням; ви виконуєте роботу і повертаєте Task. Ось реальний виклик до нашого агента:

POST /a2a
{ "jsonrpc": "2.0", "id": "1", "method": "message/send",
  "params": { "message": { "role": "user",
    "parts": [{ "kind": "text", "text": "validate llmstxt.org" }] } } }

…і відповідь — завершений task із зручним для читання резюме та структурованими даними:

{ "result": { "kind": "task", "status": { "state": "completed" },
  "artifacts": [{ "parts": [
    { "kind": "text", "text": "Validated llmstxt.org: score 100/100..." },
    { "kind": "data", "data": { "ok": true, "report": { "scores": { "overall": 100 } } } }
  ] }] } }

Жодного браузера, жодного парсингу HTML — агент отримує саме ті дані, які запитував.

A2A проти WebMCP проти MCP

Вони доповнюють одне одного: A2A охоплює мережевих агентів, WebMCP — агентів у браузері. Дивіться як ці три підходи поєднуються.

Як будь-який сайт може це додати

Не потрібен весь протокол для початку — оберіть одну реальну функцію вашого сервісу:

Єдине правило: підкріпіть картку реальним ендпоінтом

Картка — це контракт, а не мета-тег. Якщо ви публікуєте картку, чий url насправді не відповідає на message/send, кожен агент, що їй довіряє, потрапляє в глухий кут. Відкривайте A2A лише для можливостей, які ви справді можете надати — саме так ми побудували наш агент, і саме тому наш власний звіт позначає сигнал як присутній лише тоді, коли за ним стоїть реальний ендпоінт. Хочете побачити наживо? Завантажте нашу agent card.

Продовжити читання

Перевірте свій llms.txt →