Agent2Agent 入門 (1) - 概要
以下の記事が面白かったので、簡単にまとめました。
1. Agent2Agent (A2A)
本日 (2025年4月9日)、Atlassian、Box、Cohere、Intuit、Langchain、MongoDB、PayPal、Salesforce、SAP、ServiceNow、UKG、Workdayといった50社以上のテクノロジーパートナー、そしてAccenture、BCG、Capgemini、Cognizant、Deloitte、HCLTech、Infosys、KPMG、McKinsey、PwC、TCS、Wiproといった大手サービスプロバイダーの協力を得て、「Agent2Agent」(A2A) という新しいオープンプロトコルをリリースします。
「A2A」は、エージェントに役立つツールとコンテキストを提供する 「MCP」(Model Context Protocol) を補完するオープンプロトコルです。Googleは、エージェントシステムのスケーリングに関する社内の専門知識を活用し、大規模なマルチエージェントシステムをユーザーに導入する際に特定の課題に対処するために「A2A」を設計しました。「A2A」により、開発者はプロトコルを使用して構築された他のエージェントと接続できるエージェントを構築できるようになり、ユーザーはさまざまなプロバイダのエージェントを柔軟に組み合わせることができます。

2. A2Aの設計原則
A2Aは、基盤となるフレームワークやベンダーを問わず、エージェント同士が連携するための標準的な方法を提供するオープンプロトコルです。パートナーと共同でプロトコルを設計するにあたり、以下の5つの主要原則を遵守しました。
・エージェントの能力を活用
A2Aは、エージェントが記憶、ツール、コンテキストを共有していなくても、自然で非構造的なモダリティで連携できるようにすることに注力しています。エージェントを「ツール」に限定することなく、真のマルチエージェントシナリオを実現します。
・既存の標準に基づいて構築
このプロトコルは、HTTP、SSE、JSON-RPC などの既存の一般的な標準に基づいて構築されているため、企業が日常的に使用している既存の IT スタックとの統合が容易になります。
・デフォルトで安全
A2A は、起動時に OpenAPI の認証スキームと同等のエンタープライズグレードの認証と承認をサポートするように設計されています。
・長時間実行タスクのサポート
A2Aは柔軟性を備え、簡単なタスクから、人間が関与すると数時間、あるいは数日かかるような詳細な調査まで、あらゆるシナリオに対応できるように設計されています。このプロセス全体を通して、A2Aはユーザーにリアルタイムのフィードバック、通知、状態の更新を提供します。
・モダリティに依存しない
エージェントの世界はテキストだけに限定されません。そのため、A2A はオーディオやビデオのストリーミングを含むさまざまなモダリティをサポートするように設計されています。
3. A2Aの仕組み

A2Aは、「client」エージェントと「remote」エージェント間の通信を容易にします。clientエージェントはタスクの策定と伝達を担当し、remoteエージェントはそれらのタスクに基づいて行動し、正しい情報を提供したり、正しいアクションを実行したりします。この相互作用には、いくつかの重要な機能が関係します。
・機能の検出
エージェントは JSON 形式の「Agent Card」を使用して機能をアドバタイズできるため、clientエージェントはタスクを実行できる最適なエージェントを識別し、A2A を活用してremoteエージェントと通信できます。
・タスク管理
clientとremoteエージェント間の通信は、タスクの完了を目的としており、エージェントはエンドユーザーのリクエストを処理するために動作します。この「task」オブジェクトはプロトコルによって定義され、ライフサイクルを持ちます。タスクはすぐに完了することも、長時間実行されるタスクの場合は、各エージェントが通信してタスクの完了状況の最新情報を同期することもできます。タスクの出力は「artifact」と呼ばれます。
・コラボレーション
エージェントは、コンテキスト、返信、成果物、またはユーザー指示を伝えるために相互にメッセージを送信できます。
・ユーザーエクスペリエンスのネゴシエーション
各メッセージには「part」と呼ばれる、生成された画像のような完全なコンテンツが含まれています。各partには指定されたコンテンツタイプが割り当てられているため、clientとremoteエージェントは必要なフォーマットをネゴシエートし、ユーザーのUI機能(iframe、動画、Webフォームなど)に関するネゴシエーションを明示的に含めることができます。
プロトコルがどのように動作するかについての詳細は、ドラフト仕様書を参照してください。
