準備が整ったサイト用のエージェント カードと A2A プロトコル。
エージェント カードと A2A が、フリーランス エージェントが機能を発見し、安全にコラボレーションし、準備ができている Web サイトと連携するのにどのように役立つか。
Updated April 12, 2026
エージェント カードと A2A (エージェント間) プロトコルを使用すると、各統合を手動で作成しなくても、自律エージェントが Web サイトを検出して連携できるように Web サイトをプログラムできます。エージェント カードは、サイトで何ができるかを説明します。 A2A プロトコルは、エージェントがタスクと結果を交換する方法を定義します。
これらを組み合わせることで、サイトは個々のエージェントが個別にクエリを実行するパッシブ エンドポイントではなく、マルチエージェント ワークフローに参加するようになります。
エージェント カードには何が含まれますか?#
エージェント カードは、サイトのルートにある JSON ファイル (agent-card.json) です。これは、他のエージェントに、自分が誰であるか、何ができるか、認証方法、サポートしているプロトコルを伝える、機械可読な機能マニフェストとして機能します。
主なフィールド: 名前 (サービスの名前)、説明 (サービスが文で何を行うか)、URL (ベース URL)、機能 (サイトで実行できるアクションの構造化されたリスト)、プロトコル (MCP、REST、A2A など、サポートする通信標準)、認証 (エージェントが認証する方法)、および連絡先 (問題を報告する場所)。
リスト内の各機能には、名前、説明、入力スキーマ、および出力スキーマが含まれます。これは、エージェントが現在のタスクであなたのサイトが役立つかどうかを判断するために使用されます。
エージェント カードがディスカバリーにとって重要な理由#
マルチエージェント ワークフローでは、調整エージェントは特定のサブタスクを処理できるサービスを見つける必要があります。エージェント カードがないと、コーディネーターはページの内容に基づいて推測する必要があります。エージェント カードを使用すると、コーディネーターは構造化されたマニフェストを読み取り、情報に基づいてミリ秒以内にルーティングの決定を下します。
エージェントカードでは紹介も可能です。サイトをうまく使用したエージェントは、同様の機能を必要とする他のエージェントに自分のエージェント カードを渡すことができます。これにより、エージェント エコシステム内に口コミ発見メカニズムが作成されます。
A2A プロトコルの基本#
A2A プロトコルは、エージェントがタスクを交換する方法を標準化します。エージェントはタスク リクエスト (何を行う必要があるか、どのような入力が利用可能か、どのような制限が適用されるか) を送信します。受信エージェントはタスクを処理し、構造化された結果を返します。
このプロトコルは、タスクの作成、ステータスの更新、完了、失敗といったタスクのライフサイクル管理を処理します。結果がすぐに得られない、長時間実行されるタスクもサポートします。
サイトにとって、A2A を実装するということは、構造化されたリクエストを受け入れ、構造化された応答を返すタスク エンドポイントを公開することを意味します。この形式は、型付きタスク オブジェクトとステータス列挙を備えた Google の A2A 仕様に従っています。
段階的な実装#
ステップ 1: Agent-card.json を作成するサービスの説明と機能を含む JSON ファイルを作成します。各機能が何を行うのか、どのような入力が必要なのか、どのような結果が生成されるのかを正確に把握してください。これをドメインのルートに配置します。#
ステップ 2: A2A タスク エンドポイントを追加する#
タスクリクエストを受け入れ、タスク結果を返すエンドポイントを公開します。最小限の実装が必要です: POST /a2a/tasks (新しいタスクの作成)、GET /a2a/tasks/{id} (タスクのステータスの確認)、および GET /a2a/tasks/{id}/result (完全な結果の取得)。
ステップ 3: MCP に接続する#
すでに MCP サーバーがある場合、A2A タスク エンドポイントは内部的に MCP ツールに委任できます。 A2A レイヤーはエージェント間の通信を処理し、MCP はツールの実際の実行を処理します。
ステップ 4: 公開登録するMCP レコードとエージェント ディレクトリにエージェント カードを含めると、直接ネットワーク外のエージェントがサービスを発見できるようになります。#
WebSocket によるリアルタイムのコラボレーション#
標準の要求/応答パターンは、単純なタスクに機能します。複数ステップの共同ワークフローは、WebSocket 接続の恩恵を受けます。
/ws/agent-collaboration の WebSocket エンドポイントを使用すると、2 つのエージェントがラウンドトリップ ネゴシエーションを必要とするワークフローに対して永続的な接続を維持できます。つまり、複数の可用性スロットの確認、オプションの比較、中間結果に基づくパラメータの調整が可能になります。
これは、エージェントが調整された順序で在庫の予約、配送オプションの確認、割引ルールの適用、支払い権限の確認を行う必要があるビジネス ワークフローで特に役立ちます。
セキュリティのためのエージェント サンドボックス#
外部エージェントがインフラストラクチャ上でタスクを実行する場合、サンドボックスにより、外部エージェントは承認されたスコープ外のリソースにアクセスできなくなります。
WASM ベースのサンドボックスは、メモリ制限、CPU 制限、およびネットワーク アクセス制限が定義された隔離された環境で、エージェントによって送信された操作を実行します。
ほとんどのサイトでは、複雑な入力を受け入れる実行エンドポイントを公開する場合、またはエージェントがシステム内でカスタム ロジックを実行できるようにする場合に、サンドボックス化が関連します。
比較: MCP と A2A#
|外観 | PCM | A2A |
| — |
| — |
| 目的 |
| 発見 |
| インタラクションパターン |
| に最適 |
| その実装 |
両方のプロトコルは相互に補完します。 MCP はツールを処理します。 A2A は、これらのツールを使用してエージェント間のコラボレーションを処理します。 AEO マルチエージェントの記事 では、調整されたワークフローがこれらのプロトコルにどのように依存するかについて説明しています。 MCP vs API ガイド では、ツール アクセス レイヤについて詳しく説明しています。
よくある質問#
エージェント カードの作成にはどのくらい時間がかかりますか? 3 ~ 5 つの機能を持つ基本的なエージェント カードの場合は 30 分。 JSON 構造は単純です。
MCP と A2A の両方が必要ですか? 必ずしもそうとは限りません。エージェントがツールを呼び出すことが主なニーズである場合は、MCP から始めてください。エージェントがマルチエージェント ワークフローのピアとしてサービスと連携する場合は、A2A を追加します。
エージェント カードと llms.txt の違いは何ですか? llms.txt は、人間と機械が判読できる Markdown 形式のサイトの概要です。エージェント カードは、厳密に機械可読な JSON 形式の機能マニフェストです。どちらも検出用ですが、エージェント カードはより構造化されており、プロトコルに固有です。
エージェントはエージェント カードなしで私のサイトを発見できますか? はい、llms.txt、スキーマ マークアップ、または直接ページ クローリングを介して可能です。エージェント カードは発見を加速し、A2A コラボレーションを可能にしますが、発見への唯一の手段ではありません。
A2A は大企業のみに適用されますか? いいえ、ブローカーのアクションを表示するサイトであれば、A2A で利益を得ることができます。予約エンドポイントを備えた小規模なサービスであっても、シンプルなエージェント カードとタスク エンドポイントを介してマルチエージェント ワークフローに参加できます。## 関連ガイド