Agent2Agent Protocol
Agent2Agent(A2A)プロトコルは、異なるベンダーのAIエージェントが相互に検出し、タスクを委任して結果を返せるようにするオープン標準です。
Agent2Agent(A2A)プロトコルは、異なるフレームワークを使う異なるベンダー製のAIエージェントが、LangChainやGoogleのAgent Development Kitなどを通じて相互に検出し、タスクを委任し、結果を返すためのオープン標準です。各エージェントの内部は不透明なままです。エージェントは自分にできることを公開し、共通インターフェースを通じて作業を受け付けますが、プロンプト、メモリ、ツール、モデルは公開しません。Googleは2025年4月9日にA2Aを発表し、50社を超えるテクノロジーパートナーが参加しました。その後、A2AはLinux Foundationに寄贈され、IBMのAgent Communication Protocolが2025年8月に統合されました。初の安定版仕様となるバージョン1.0は2026年3月にリリースされ、2026年8月には150を超える組織の支援を受けるA2Aが、Model Context ProtocolもホストするAgentic AI Foundationに加わりました。
A2Aの仕組み#
A2A仕様では、作業を依頼するクライアントエージェントと、作業を実行するリモートエージェントという2つの役割を定義しています。リモートエージェントはAgent Cardを公開します。これは通常/.well-known/agent-card.jsonで配信されるJSONドキュメントで、名前、エンドポイント、認証要件、入力形式と出力形式、スキルを記載します。クライアントはカードを読み、エージェントがタスクに適しているか判断して、メッセージを送信します。
- メッセージ:ロールと1つ以上のパートで構成される通信のターンです。各パートにはテキスト、ファイル、または構造化データが含まれます。
- タスク:IDとステータスを持つ、状態管理される作業単位です。タスクは、送信済み、作業中、入力待ち、認証待ち、完了、失敗、キャンセル、拒否などの状態に遷移します。これにより、リモートエージェントは作業の途中でクライアントに質問するために一時停止できます。
- アーティファクト:レポート、画像、JSONレコードなど、タスクが生成する出力です。会話メッセージとは別に返されます。
- ストリーミングとプッシュ通知:長時間かかるタスクでは、ストリームを通じて段階的な更新を送信するか、完了時にWebhook経由でクライアントに通知します。数時間かかるジョブに適しています。
バージョン1.0では、JSON-RPC 2.0、gRPC、HTTP+JSONという3つのプロトコルバインディングと、SendMessage、GetTask、CancelTaskなどのメソッドを定義しています。また、バージョンネゴシエーションとマルチテナント機能を追加し、バージョン0.3で導入された署名付きAgent Cardも維持しています。署名付きカードを使うと、クライアントはカードの公開者を検証できます。
Agent Card#
このカードは、JSON-RPCバインディングを介して小売業向けのビジョンエージェントを公開しています。必須フィールドは、名前、説明、バージョン、インターフェース、機能、デフォルトの入力モードと出力モード、スキルです。各スキルにはID、名前、説明、タグが必要です。
{
"name": "Shelf Vision Agent",
"description": "Finds empty facings and counts products in retail shelf photos.",
"version": "1.0.0",
"supportedInterfaces": [
{ "url": "https://vision.example.com/a2a/v1", "protocolBinding": "JSONRPC", "protocolVersion": "1.0" }
],
"capabilities": { "streaming": true, "pushNotifications": false },
"defaultInputModes": ["image/jpeg", "text/plain"],
"defaultOutputModes": ["application/json", "image/jpeg"],
"skills": [
{
"id": "shelf-audit",
"name": "Shelf audit",
"description": "Counts each product and lists empty facings with their shelf positions.",
"tags": ["retail", "object-detection"],
"examples": ["Which facings in this aisle photo are empty?"]
}
]
}このカードを読む店舗運営エージェントは、JPEG画像またはテキストを送信し、JSONまたは注釈付き画像を受け取れることがわかります。また、examplesフィールドから、スキルが想定するリクエストの種類を確認できます。
A2Aと関連プロトコル・概念の比較#
- Model Context Protocol(MCP): エージェントを、そのエージェントが直接使用するツールやデータに接続します。A2Aは、自ら計画して行動する別のエージェントに接続します。両者は連携して使えるよう設計されており、リモートA2Aエージェントが内部でMCPツールを使うこともよくあります。
- 関数呼び出しとツール使用: 関数呼び出しは、固定された引数で1つの操作を実行します。A2Aリクエストでは目標を引き渡し、リモートエージェントが手順を決定します。
- AIエージェントのオーケストレーション: どのエージェントがどのサブタスクを処理するか決め、結果を統合します。A2Aは、オーケストレーターが自らホストしていないエージェントに接続するために利用できるトランスポートです。
- エージェントスキル: エージェントが手順を学ぶために読み込む指示用フォルダーです。Agent Card内のA2Aスキルは、リモートエージェントが提供する機能を示すもので、指示は含まれません。
用途とセキュリティ#
A2Aは、チームや企業の境界をまたぐエージェント型ワークフローに適しています。たとえば、航空会社やホテルのエージェントを通じて予約する旅行エージェント、サプライヤーのエージェントと交渉する調達エージェント、棚の写真をコンピュータービジョンエージェントに送り、商品がなくなった棚の報告を在庫管理エージェントに渡す小売運営エージェントなどです。このようなカードを持つビジョンエージェントは、知覚処理をUltralytics Platformの専用エンドポイントに委任できます。このエンドポイントは、APIキーで認証する/predict URLで、トレーニング済みのYOLO26モデルを提供します。そして、物体検出の結果をJSON形式でアーティファクトとしてクライアントに返します。エージェント型コマース向けのUniversal Commerce Protocolには、A2Aのサポートが組み込まれています。
エージェント間の各ホップは、信頼境界です。クライアントは、OAuth 2.0やOpenID Connectなど、カードに宣言されたセキュリティ方式でリモートエージェントを認証し、署名付きカードを検証します。また、返されたメッセージやアーティファクトは、プロンプトインジェクションを含む可能性がある信頼できない入力として扱います。OWASP Top 10 for Agentic Applicationsでは、安全でないエージェント間通信や連鎖的な障害を、リスク10項目の中に挙げています。本番環境へのデプロイでは、タイムアウト、タスクのキャンセル、スキルごとの認可、およびリクエストが経由したすべてのエージェントを追跡するオブザーバビリティトレースを追加します。










