Googleが提唱する新たなエージェント連携の形:Agent2Agent (A2A) プロトコルとは?

Agent2Agent (A2A) プロトコルとは?

現代のAI技術の進化において、AIエージェントはますます複雑なタスクを実行できるようになっています。

しかし、異なるベンダーやフレームワークによって構築されたエージェント同士が連携することは、これまで困難でした。2025年4月10日(日本時間)にGoogleが発表した「Agent2Agent (A2A) プロトコル」は、この課題を解決し、エージェント間のシームレスな連携を実現するためのオープンな標準規格です。

今回は、Googleが提唱している「Agent2Agent (A2A) プロトコル」について、ご紹介します。

A2Aプロトコルとは?

A2Aプロトコルは、異なるAIエージェントが互いに機能を示し、どのように対話するか(テキスト、フォーム、双方向の音声/動画経由)をネゴシエートするための連携手段を提供します。

これにより、開発者はさまざまなプラットフォームやアプリケーションを横断して稼働するマルチエージェントシステムを構築できます。

A2Aプロトコルの主な特徴

  1. 異なるエージェント間の連携: フレームワークやベンダーが異なっても通信可能
  2. Web標準技術に対応(JSON、HTTP)
  3. 安全な通信: OAuth2、スコープベースのアクセス制御
  4. 柔軟性: 長時間処理・非同期ワークフロー
  5. マルチモーダル(音声・画像・テキスト)対応

Agent2Agent (A2A) プロトコルの構成要素

Googleが提唱するAgent2Agent(A2A)プロトコルは、独立して動作するAIエージェント同士が、まるで人と人が会話するように、安全かつ効率的に連携するための革新的な技術です。ここでは、A2Aプロトコルの革新となっている重要な構成要素について分かりやすく解説します。

1. エージェントの自己紹介:エージェントカード

エージェントが自身の能力や接続情報を示す名刺のようなものが「エージェントカード」です。これは通常、/.well-known/agent.json という公開されたメタデータファイルとして存在します。

エージェントカードには、そのエージェントがどのような機能やスキルを持っているか、どこにアクセスするためのURL(エンドポイント)、そして通信に必要な認証方法などがJSONで記述されています。

他のエージェント(クライアント)は、このエージェントカードを「発見」し、連携を開始します。

2. 会話の窓口:A2Aサーバー

A2Aサーバー」は、A2Aプロトコルで定義された通信ルール(JSON仕様)に従って動作するHTTPエンドポイントを公開しているエージェントのことです。

このサーバーは、他のエージェント(A2Aクライアント)からのリクエストを受け付け、実際にタスクの実行を管理します。例えるなら、サービスを提供するお店の窓口のような役割です。

3. 指示を出す司令塔:A2Aクライアント

A2Aクライアント」は、A2Aサーバーが提供するサービスを利用したいアプリケーションやエージェントです。

クライアントは、タスクを開始するために、A2Aサーバーの特定のURL(例えば tasks/send など)にリクエストを送信します。これは、サービスを利用したい人がお店の窓口に話しかけるイメージです。

4. 作業の単位:タスク

タスク」は、A2Aプロトコルにおける作業の中心となる単位です。クライアントは tasks/sendtasks/sendSubscribe というメッセージを送信することでタスクを開始します。

それぞれのタスクには、他と区別するための「タスクID」が割り振られ、submitted(受付)から始まり、working(作業中)、input-required(入力待ち)、completed(完了)、failed(失敗)、canceled(キャンセル)といった状態を経て進行します。タスクの状態を追跡することで、連携の進捗状況を把握できます。

5. コミュニケーションの要素:メッセージとパート

エージェント間、またはユーザー(role: "user")とエージェント(role: "agent")間の通信の各やり取りは「メッセージ」と呼ばれます。

そして、このメッセージを構成する基本的なコンテンツの単位が「パートです。

パートには、通常のテキスト情報(TextPart)、インラインのバイトデータやURIで指定されるファイル(FilePart)、そしてフォームのような構造化されたJSONデータ(DataPart)など、様々な形式があります。

6. 作業の成果物:アーティファクト

タスクの実行中にエージェントによって生成される出力が「アーティファクトです。

例えば、生成されたファイルや最終的な構造化データなどが該当します。このアーティファクトも、複数の「パート」で構成されることがあります。

7. リアルタイムな進捗:ストリーミング

長時間にわたるタスクの場合、A2Aサーバーが「ストリーミング」機能をサポートしていれば、クライアントは tasks/sendSubscribe を利用できます。

これにより、サーバーからServer-Sent Events (SSE) を通じて、タスクの状態更新(TaskStatusUpdateEvent)や生成されたアーティファクトの更新(TaskArtifactUpdateEvent)といったメッセージをリアルタイムに受信し、ユーザーに最新の進捗状況を提供できます。

8. 能動的な通知:プッシュ通知

プッシュ通知をサポートするサーバーは、クライアントが tasks/pushNotification/set を通じて設定したWebhook URLに対して、タスクの更新を自発的に送信できます。

これにより、クライアントはポーリング(定期的な問い合わせ)を行うことなく、タスクの状況変化をリアルタイムに把握できます。

A2Aプロトコルの仕組み

A2Aプロトコルは、クライアントエージェントとリモートエージェント間の通信を促進します。クライアントエージェントはタスクの作成と伝達を担当し、リモートエージェントはそれらのタスクを実行して、正しい情報を提供したり、正しいアクションを実行したりします。

A2Aプロトコルの基本的な流れ

A2Aプロトコルを用いたエージェント間の連携は、主に以下のステップで進行します。

  1. 発見 (Discovery): クライアントエージェントは、連携したいリモートエージェントのエージェントカード(/.well-known/agent.json)のURLを知っている必要があります。このURLにアクセスすることで、リモートエージェントの機能、エンドポイント、認証要件などの情報を取得します。
  2. 認証 (Authentication): エージェントカードに認証要件が記述されている場合、クライアントエージェントは、リモートエージェントとの通信に必要な認証情報を提示します。A2Aプロトコルでは、OAuth 2.0などの標準的な認証メカニズムが推奨されています。スコープベースのアクセス制御により、クライアントエージェントは必要な範囲の機能にのみアクセスできます。
  3. タスクの開始 (Task Initiation): クライアントエージェントは、リモートエージェントに実行させたい作業内容を「タスク」として送信します。これは、A2Aプロトコルで定義されたメッセージ形式(通常はJSON)に従い、リモートエージェントのA2Aサーバーのエンドポイント(例: /tasks/send)に対してHTTPリクエスト(POSTなど)を送信することで行われます。このメッセージには、タスクの内容や必要なデータ(メッセージのパートとして記述)、期待される出力形式などが含まれます。
  4. タスクの処理 (Task Processing): リモートエージェントのA2Aサーバーは、受信したタスクリクエストを解析し、タスクの実行を開始します。この際、リモートエージェントは自身の機能やスキルを活用してタスクを処理し、必要に応じて外部のサービスやデータにアクセスすることもあります。
  5. 情報の交換 (Information Exchange): タスクの実行中、クライアントエージェントとリモートエージェントの間で、必要に応じて情報の交換が行われます。これは、メッセージとパートの形式を用いて行われ、テキスト、ファイル、構造化データなど、様々な種類の情報をやり取りできます。input-required 状態になったタスクに対して、クライアントエージェントが追加の入力情報を提供することなどが考えられます。
  6. 結果の報告 (Result Reporting): タスクが完了すると、リモートエージェントは、その結果を「アーティファクト」としてクライアントエージェントに報告します。このアーティファクトも、メッセージのパートとして送信されます。
  7. 状態の追跡 (State Tracking): タスクは、submittedworkinginput-requiredcompletedfailedcanceled など、複数の状態を経て進行します。クライアントエージェントは、タスクIDを用いて、リモートエージェントに現在のタスクの状態を問い合わせることができます。また、ストリーミングやプッシュ通知機能をサポートしている場合は、リアルタイムに状態の変化を受け取ることができます。

A2Aプロトコルの活用例

  • 人材採用: 採用担当者がA2Aエージェントに求人条件を伝え、複数のエージェントが連携して候補者の選定、面接調整、バックグラウンドチェックまでを自動化
  • 顧客対応: 複数のAIエージェントが連携し、顧客からの問い合わせ内容を解析し、最適な回答を生成したり、関連部署への連携をスムーズに行う
  • サプライチェーン管理: 複数のAIエージェントが連携し、需要予測、在庫管理、物流最適化などを自動化

今回は、Googleが提唱しているA2Aプロトコルについて、ざっくりと解説しました。A2Aプロトコルは、発見、認証、タスクの開始と処理、情報の交換、結果の報告、状態の追跡といった基本的な流れに加え、ストリーミングやプッシュ通知といった高度な仕組みを提供することで、異なるAIエージェント間の柔軟かつ効率的な連携を実現します。

このプロトコルを活用することで、開発者は様々なプラットフォームやアプリケーションを横断する、よりインテリジェントで協調的なマルチエージェントシステムを構築できるでしょう。

貴社のAI戦略の加速をお考えでしたら、ぜひAPPSWINGBYまでご相談ください。最先端のA2Aプロトコルをはじめ、お客様のニーズに合わせた最適なAI連携ソリューションをご提案します。ご相談・お見積もり依頼はお問い合わせフォームよりご依頼ください。

システム開発にお困りではありませんか?

この記事を書いた人
株式会社APPSWINGBY
株式会社APPSWINGBY マーケティング

APPSWINGBY(アップスイングバイ)は、アプリケーション開発事業を通して、お客様のビジネスの加速に貢献することを目指すITソリューションを提供する会社です。

ご支援業種

情報・通信、医療、製造、金融(銀行・証券・保険・決済)、メディア、流通・EC・運輸 など多数

株式会社APPSWINGBY
株式会社APPSWINGBY マーケティング

APPSWINGBY(アップスイングバイ)は、アプリケーション開発事業を通して、お客様のビジネスの加速に貢献することを目指すITソリューションを提供する会社です。

ご支援業種

情報・通信、医療、製造、金融(銀行・証券・保険・決済)、メディア、流通・EC・運輸 など多数

監修
APPSWINGBY CTO川嶋秀一
株式会社APPSWINGBY  CTO 川嶋秀一

動画系スタートアップ、東証プライム R&D部門を経験した後に2019年5月に株式会社APPSWINGBY 取締役兼CTOに就任。
Webシステム開発からアプリ開発、AI、リアーキテクチャ、リファクタリングプロジェクトを担当。C,C++,C#,JavaScript,TypeScript,Go,Python,PHP,Vue.js,React,Angular,Flutter,Ember,Backboneを中心に開発。お気に入りはGo。

APPSWINGBY CTO川嶋秀一
株式会社APPSWINGBY  CTO 川嶋秀一

動画系スタートアップ、東証プライム R&D部門を経験した後に2019年5月に株式会社APPSWINGBY 取締役兼CTOに就任。
Webシステム開発からアプリ開発、AI、リアーキテクチャ、リファクタリングプロジェクトを担当。C,C++,C#,JavaScript,TypeScript,Go,Python,PHP,Vue.js,React,Angular,Flutter,Ember,Backboneを中心に開発。お気に入りはGo。