ガイド

A2A:AIエージェントがあなたのサイトを呼び出せるようにする

あるAIエージェントが、ブラウザを開かず、ボタンをクリックせず、ページをスクレイピングもせずに、このサイトを検証しました。小さなJSONファイルを読み込み、型付きリクエストを1回送信し、構造化された結果を受け取った——このやり取りがA2Aです。そして、どんなウェブサイトでもこれを提供できます。

A2Aとは何か

A2A(Agent2Agent)は、Linux Foundationのもとで管理されるオープンプロトコルで、AIエージェントが通常のHTTP越しに互いを発見・呼び出せるようにします。パブリックAPIのエージェント間版と考えてください。人間がドキュメントを読んでインテグレーションを書く代わりに、別のエージェントがサービスの内容を機械的な説明から読み取り、直接呼び出します。

構成要素は2つです:発見用のドキュメント(エージェントカード)と、呼び出し可能なエンドポイント(スキル)。

1. エージェントカード — 発見

/.well-known/agent-card.json にJSONファイルを公開し、自身の情報と提供できる機能を記述します。必須フィールドは namedescriptionversionurl(A2Aエンドポイント)、そして少なくとも1つの 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" }] } } }

…そして返答——完了したタスクとして、人間が読めるサマリーと構造化データを含みます:

{ "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 vs WebMCP vs MCP

これらは補完関係にあります:A2Aはネットワーク上のエージェントに、WebMCPはブラウザ内のエージェントに対応します。3つがどのように組み合わさるかもご覧ください。

どんなサイトでも追加できる方法

まずプロトコル全体を実装する必要はありません——サービスが実際に行う1つのことから始めてください:

唯一のルール:カードを実際のエンドポイントで裏付けること

カードはメタタグではなく、契約です。url が実際に message/send に応答しないカードを公開すると、それを信頼するすべてのエージェントが行き詰まります。真に提供できる機能に限ってA2Aを公開してください——それが私たちの構築方針であり、動作するエンドポイントが裏付けている場合にのみシグナルを「存在する」として報告する理由です。実際の動作を確認したいですか?私たちのエージェントカードを取得してみてください。

続きを読む

あなたの llms.txt を検証する →