A2A: AI ajanlarının sitenizi çağırmasına izin verin
Yayınlandı:
Bir AI ajanı, tarayıcı açmadan, düğmeye tıklamadan veya sayfa scraping yapmadan bu siteyi doğruladı — küçük bir JSON dosyası okudu, tek bir yazılı istek gönderdi ve yapılandırılmış bir sonuç aldı. Bu değiş tokuş A2A'dır ve herhangi bir web sitesi bunu sunabilir.
A2A nedir
A2A (Agent2Agent), AI ajanlarının düz HTTP üzerinden birbirini keşfedip çağırmasına olanak tanıyan, artık Linux Foundation bünyesindeki açık bir protokoldür. Bunu bir kamuya açık API'nin ajan-ajan karşılığı olarak düşünebilirsiniz: bir insanın belgelerinizi okuyup entegrasyon yazması yerine, başka bir ajan hizmetinizin ne yaptığına dair makine tarafından okunabilir bir açıklamayı okuyarak doğrudan çağırır.
İki bölümden oluşur: bir keşif belgesi (ajan kartı) ve çağrılabilir bir uç nokta (beceri).
1. Ajan kartı — keşif
Kim olduğunuzu ve neler yapabildiğinizi açıklayan bir JSON dosyasını /.well-known/agent-card.json adresinde yayımlarsınız. Zorunlu alanlar şunlardır: name, description, version, url (A2A uç noktanız) ve en az bir 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. Uç nokta — çağrılabilir bir beceri
Kartın url alanı, bir JSON-RPC 2.0 uç noktasına işaret eder. Bir ajan, bir mesajla birlikte message/send metodunu çağırır; siz işi yaparak bir Task döndürürsünüz. Ajanımıza yapılan gerçek bir çağrı örneği:
POST /a2a
{ "jsonrpc": "2.0", "id": "1", "method": "message/send",
"params": { "message": { "role": "user",
"parts": [{ "kind": "text", "text": "validate llmstxt.org" }] } } }
…ve yanıt — insan tarafından okunabilir bir özet ve yapılandırılmış veri içeren tamamlanmış bir görev:
{ "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 } } } }
] }] } }
Tarayıcı yok, HTML ayrıştırma yok — ajan tam olarak istediği veriyi alır.
A2A vs WebMCP vs MCP
- A2A — HTTP üzerinden hizmetinizi çağıran ağlı ajanlar (düzenleyiciler, diğer ajanlar). Bu sayfa.
- WebMCP — açık sayfanızdaki araçları çağıran tarayıcı içinde çalışan bir ajan.
- MCP — araçları genellikle yerel olarak tek bir modele veya uygulamaya bağlama.
Bunlar birbirini tamamlar: A2A ağlı ajanlara, WebMCP ise tarayıcı içindeki ajanlara ulaşır. Üçünün nasıl bir arada çalıştığını görün.
Herhangi bir site nasıl ekleyebilir
Başlamak için tüm protokole ihtiyacınız yok — hizmetinizin yaptığı tek gerçek bir şeyi seçin:
- Tek bir beceriyle
/.well-known/agent-card.jsonadresinde geçerli bir ajan kartı yayımlayın. - Bu yeteneği kapsayan eşzamanlı
message/sendmetodunu uygulayın ve sonucu artifact olarak içeren tamamlanmış birTaskdöndürün. - Akış, görev geçmişi ve push bildirimleri isteğe bağlıdır —
capabilities.streamingdeğerini false olarak ayarlayın ve yalnızca ihtiyaç duyduğunuzda ekleyin.
Tek kural: kartı gerçek bir uç noktayla destekleyin
Kart bir meta etiket değil, bir sözleşmedir. url alanı gerçekten message/send yanıtı vermeyen bir kart yayımlarsanız, ona güvenen her ajan çıkmaza girer. A2A'yı yalnızca gerçekten sunabileceğiniz yetenekler için sunun — biz de kendi sistemimizi böyle inşa ettik ve kendi raporumuzun sinyali yalnızca çalışan bir uç nokta desteklediğinde mevcut olarak işaretlemesinin nedeni de budur. Canlı görmek ister misiniz? Ajan kartımızı getirin.