Przewodnik

A2A: pozwól agentom AI wywoływać Twoją witrynę

Agent AI właśnie zwalidował tę witrynę bez otwierania przeglądarki, klikania przycisku ani scrapowania strony — odczytał mały plik JSON, wysłał jedno typowane żądanie i otrzymał w odpowiedzi ustrukturyzowany wynik. Ta wymiana to właśnie A2A, i każda witryna może ją oferować.

Czym jest A2A

A2A (Agent2Agent) to otwarty protokół — obecnie pod auspicjami Linux Foundation — umożliwiający agentom AI odkrywanie i wzajemne wywoływanie się przez zwykłe HTTP. Pomyśl o nim jako o odpowiedniku publicznego API dla komunikacji między agentami: zamiast człowieka czytającego dokumentację i piszącego integrację, inny agent odczytuje maszynowy opis tego, co robi Twój serwis, i wywołuje go bezpośrednio.

Składa się z dwóch części: dokumentu wykrywalności (karty agenta) oraz wywoływalnego punktu końcowego (umiejętności).

1. Karta agenta — odkrywanie

Publikujesz plik JSON pod adresem /.well-known/agent-card.json, opisując kim jesteś i co potrafisz zrobić. Wymagane pola to name, description, version, url (Twój punkt końcowy A2A) oraz co najmniej jedna 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. Punkt końcowy — wywoływalna umiejętność

Pole url karty wskazuje na punkt końcowy JSON-RPC 2.0. Agent wywołuje metodę message/send z wiadomością; Ty wykonujesz pracę i zwracasz Task. Oto rzeczywiste wywołanie naszego agenta:

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

…i odpowiedź — ukończone zadanie zawierające czytelne dla człowieka podsumowanie oraz ustrukturyzowane dane:

{ "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 } } } }
  ] }] } }

Żadnej przeglądarki, żadnego parsowania HTML — agent otrzymuje dokładnie te dane, o które prosił.

A2A vs WebMCP vs MCP

Uzupełniają się nawzajem: A2A dociera do agentów sieciowych, a WebMCP do agentów wewnątrz przeglądarki. Zobacz jak te trzy elementy współgrają ze sobą.

Jak każda witryna może to dodać

Nie musisz implementować całego protokołu na start — wybierz jedną rzeczywistą czynność, którą wykonuje Twój serwis:

Jedna zasada: popieraj kartę rzeczywistym punktem końcowym

Karta to kontrakt, nie metatag. Jeśli opublikujesz kartę, której url faktycznie nie odpowiada na message/send, każdy agent, który jej ufa, trafia w ślepy zaułek. Udostępniaj A2A tylko dla możliwości, które naprawdę możesz obsłużyć — tak właśnie zbudowaliśmy naszą, i dlatego nasz raport oznacza sygnał jako obecny tylko wtedy, gdy stoi za nim działający punkt końcowy. Chcesz zobaczyć to na żywo? Pobierz naszą kartę agenta.

Czytaj dalej

Sprawdź swój plik llms.txt →