A2A - AI Agentの協業
はじめに
2025年4月9日、GoogleからAgent2Agent Protocol(A2A)が発表されました。
MCP(Model Context Protocol)との違いも合わせて見ていけたらと思います。
A2Aとは?
(https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/)から引用
A2Aプロトコルは、AI同士が直接やり取りするための共通ルール(オープンプロトコル)です。オープンプロトコルとは特定の企業に閉じず公開された通信規格のことで、誰でもその仕様に従ってシステムを作ることができます。A2Aは50以上のテクノロジー企業やサービス企業が協力して策定した標準であり
、異なるベンダー(開発企業)や異なる仕組みで作られたAI同士でもこのルールに従えば互いに情報交換やタスクの依頼ができるようになります。つまり、A2A対応のAIエージェントであれば、別の会社のA2A対応エージェントとも共通の言語で「会話」し、一緒に作業を進めることが可能になります。
従来、企業内ではそれぞれ独立したAIツールが個別の仕事をこなしていました。しかしA2Aプロトコルによってエージェント同士が直接連携できるようになると、複数のAIがチームのように協働してより複雑な仕事を自動化できるようになります。例えば、一つのエージェントが他のエージェントにサブタスクを依頼し、結果を受け取って最終結果をまとめる、というような連携が可能になります。このようにA2AはAIエージェント間のコミュニケーションと協調作業を標準化することで、企業内の様々な業務フローを自動化・効率化することを目指しています。セキュリティ面でも企業向けに考慮されており、認証や権限管理を含め安全に情報交換できる仕組みになっています。また、メッセージのやり取りだけでなく、長時間かかる処理の進捗共有や音声・動画といった非テキスト情報のやり取りにも対応する柔軟性があります。
では、MCPとは?
(https://modelcontextprotocol.io/introduction)から引用
MCPはModel Context Protocolの略で、Anthropicが開発した、AIモデルと外部ツールやデータを接続するためのオープン標準です。2024年11月に公開されました。
MCPの基本的な仕組み:
MCPはAIモデルが外部のデータソースやツールと安全に接続するための仕組みを提供します。
- MCP Host:Claude DesktopなどのAIアプリケーション
- MCP Client:MCP Serverとの接続を維持するクライアント
- MCP Server:特定の機能やデータソースへのアクセスを提供するサーバー
A2AとMCPとの違い
概念の違い
A2AとMCPは競合するものではなく、AIエコシステムの異なる課題を解決する補完的なプロトコルと言われています。主な違いは以下の通りです。
- 主な目的の違い
- A2A:異なるAIエージェント同士の対話・協力に焦点
- MCP:単一のAIモデルが外部ツールやデータにアクセスするための標準
- 接続の方向性
- A2A:「横方向の統合」(異なるエージェント間)
- MCP:「縦方向の統合」(AIモデルと外部ツール/データ間)
- 実際の使われ方
- A2A:複数のエージェントが協力して複雑なタスクを実行する場合
例:採用プロセスで、求人検索エージェント、面接スケジューリングエージェント、身元調査エージェントが連携して候補者を採用 - MCP:単一のAIが外部データやツールを使ってタスクを実行する場合
例:コーディングアシスタントがローカルファイルを読み取り、GitHubから情報を取得して、コード解析を実行
表で違いを整理
いくつかの観点で違いを表にまとめました。
項目 | A2A | MCP |
---|---|---|
目的 | AIエージェント間の通信とコラボレーションを促進 | AIアシスタントがデータソースやツールに接続し、コンテキストを取得 |
焦点 | エージェント間の相互作用(例:予定管理とメール管理の協力) | 個々のエージェントがデータにアクセス(例:カレンダーから会議時間取得) |
主な機能 | Agent Card、タスク管理、ストリーミング、ユーザー体験交渉 | クライアント-サーバー接続、JSON-RPC、Stdio/HTTPトランスポート |
技術的基盤 | HTTP、JSON、Server-Sent Events | JSON-RPC 2.0、Stdio、HTTP with SSE |
開発者 | Google(2025年4月発表) | Anthropic(2024年11月発表) |
使用例 | 異なるエージェントが協力して複雑なタスクを完了 | AIがデータソースから情報を取得し、応答を生成 |
違いのイメージ
(https://x.com/maledorak/status/1910274144521928882)から引用
A2Aは会社の部門間の連携のようなものです。人事部、IT部、総務部などの異なる専門チームが情報を共有し、協力して新入社員の受け入れ準備をするイメージです。各部門は独自のスキルを持ち、他の部門に頼むことで効率的に作業を進めます。
MCPは従業員がツールボックスを使うようなものです。一人の従業員がプロジェクトを完了するために、必要に応じて様々なツールや資料にアクセスします。ドキュメントを検索したり、データベースに問い合わせたり、計算機を使ったりと、その場で必要なツールを使いこなします。
A2AとMCPの共存
A2AとMCPが共存する例
(https://google.github.io/A2A/#/topics/a2a_and_mcp)から引用
A2AとMCPは今後共存されていくと考えられています。
- ユーザーが複雑なリクエストを送信
- メインのAIエージェントがA2Aを使って専門的なエージェントに作業を分配
- 各専門エージェントはMCPを使って、必要なツールやデータにアクセス
- 結果が集約され、ユーザーに提供される
考え得る具体例: 高齢者ケアのための連携型スマートホーム支援
具体例を見ていきましょう。
独立して生活する高齢者に対し、非侵入的な監視とプロアクティブな支援を提供し、安全性、日常習慣の遵守、異常や緊急事態発生時のタイムリーな対応ができるような仕組みです。
概要
エージェント名 | 主要な役割 | 主要なA2Aインタラクション(相手エージェントと目的) | 主要なMCP接続(ツール/データと目的) |
---|---|---|---|
AMA | 活動監視、パターン逸脱検出 | HSA(活動異常アラート)、RMA(現在の状況確認)、ERA(重大な活動異常通知) | 環境センサー(モーション、ドア等)(活動データ取得) |
HSA | 健康状態監視、リスク評価 | AMA(活動データ受信)、ERA(健康リスク/アラート通知) | ウェアラブル健康モニター(バイタル取得)、スマートピルディスペンサー(服薬遵守確認)、(オプション)遠隔医療API |
RMA | 日常管理、リマインダー、デバイス制御 | AMA(居住者の状況確認)、ULA-C(スケジュール/設定関連) | カレンダー/スケジュールアプリ(予定管理)、スマートホームデバイスAPI(照明、サーモスタット制御)、スマートピルディスペンサー(リマインダー連携) |
ERA | 緊急事態評価と対応 | AMA(重大異常受信)、HSA(健康アラート受信)、ULA-C(状況報告) | 緊急連絡先DB(連絡先取得)、コミュニケーションAPI(SMS/通話発信)、(場合により)スマートロックAPI(ドア解錠) |
ULA-C | (オプション)介護者向けインターフェース、状況報告 | AMA, HSA, RMA, ERA(状況問い合わせ、要約受信) | (主に表示用)コミュニケーションAPI(アプリ通知等) |
A2A
-
活動監視エージェント(AMA):
センサーからのデータを解釈し、居住者の現在の活動(例:睡眠中、調理中、テレビ視聴中、外出中)を理解する。通常のパターンからの逸脱を検出する。(センサーデータ用にMCPを使用。HSA、RMA、ERAとA2A通信) -
健康状態エージェント(HSA):
ウェアラブルデバイスからのバイタルサイン、服薬遵守(スマートピルディスペンサー)、潜在的な遠隔医療入力を監視する。統合データに基づき健康リスクを評価する。(健康デバイス/API用にMCPを使用。AMA、ERAとA2A通信) -
日常管理エージェント(RMA):
スケジュール、リマインダー(服薬、予定、食事)を管理し、スマートホームデバイスを制御して日常のルーチンをサポートする(例:照明、サーモスタットの調整)。(カレンダー、デバイスAPI用にMCPを使用。AMA、ULA-CaregiverとA2A通信) -
緊急対応エージェント(ERA):
AMAおよびHSAからの入力(例:転倒検知、バイタルサインアラート)に基づき、危機的状況を評価する。緊急プロトコルを開始し、介護者や緊急サービスに連絡する。(AMA、HSAとA2A通信。連絡先DB、通信API用にMCPを使用) -
(オプション)ユーザーリエゾンエージェント - 介護者(ULA-C):
指定された介護者に対して、要約、アラートを提供し、場合によってはリモート設定/確認を可能にする。(他のエージェントとA2A通信)
MCP
-
環境センサー(モーション、ドア/窓、家電使用状況):
AMAがMCP経由でアクセス(例:スマートホームハブAPI、直接センサーAPI)。 -
ウェアラブル健康モニター(心拍数、活動量計、転倒検知):
HSAがMCP経由でアクセス(Bluetooth、デバイスクラウドAPI)。 -
スマートピルディスペンサー:
HSA/RMAがMCP経由でアクセス(API)し、服薬遵守追跡とリマインダーを実行。 -
スマートホームデバイス(照明、サーモスタット、鍵、スマートスピーカー):
RMAがMCP経由でアクセス(API)し、日常サポートや緊急時対応(例:救助隊員のためにドア解錠)を実行。 -
カレンダー/スケジュールアプリ:
RMAがMCP経由でアクセス(API)し、予定とルーチン計画を管理。 -
緊急連絡先データベース:
ERAがMCP経由でアクセス。 -
コミュニケーションAPI(SMS、自動通話、アプリ通知):
ERA/ULA-CがMCP経由でアクセス。 -
遠隔医療サービスAPI(オプション):
HSAがMCP経由でアクセスし、データ共有や診察開始を実行。
フロー例
-
ベースライン監視:
AMAはMCP経由で継続的にセンサーデータを受信し、通常の活動パターンを学習。HSAはMCP経由でバイタルサインを受信。RMAはMCP経由でカレンダーを監視。 -
日常サポート:
RMAはMCP(カレンダー)経由で次の服薬時間を検出。A2Aを使用してAMAに、居住者が起きていて適切な場所にいるか(例:シャワー中でないか)を確認。条件が満たされれば、RMAはMCPを使用してスマートスピーカーでリマインダーをトリガーするか照明を点滅させ、場合によってはスマートピルディスペンサーに信号を送る。HSAはMCP経由でディスペンサーの使用状況を監視。 -
異常検知:
AMAはMCP(モーションセンサー)経由で、予想される活動時間中の長時間の無活動を検出。この異常をフラグ付け。 -
エージェント間相関:
AMAは「無活動異常」アラートをA2A経由でHSAに送信。HSAはMCP経由で最近のバイタルサインを確認。バイタルも異常(例:低い心拍数)であれば、HSAは懸念レベルを上げる。 -
緊急事態へのエスカレーション:
HSAは高リスク状況(無活動と異常バイタルの組み合わせ)をA2A経由でERAに伝達。 -
緊急プロトコル:
ERAは統合された入力を評価。緊急プロトコルの開始を決定。MCPを使用して緊急連絡先データベースにアクセスし、MCP経由でアラート(SMS/通話)を介護者に送信。設定されておりリスクが重大な場合、MCPを使用して緊急サービスに連絡する場合がある。また、A2Aを使用してRMAに指示し、MCPを使用して玄関の鍵を開け、救助隊員のために照明をつけるよう指示する場合もある。 -
介護者への通知:
ERAは状況と取られた措置についてA2A経由でULA-Cに通知。ULA-CはMCPを使用してこの情報を介護者ダッシュボード/アプリに表示。
おわりに
A2Aは、AIエージェント間の相互運用性がもたらす可能性を大きく広げると考えています。まず、エンタープライズ分野では部門横断的な業務の効率化が進み、異なるベンダーのAIツールが連携して複雑なワークフローを自動化していきそうです。開発者エコシステムでは、専門化されたエージェントのマーケットプレイスが発展し、組み合わせによる新たな価値創出がなされるのではないでしょうか。
また、私個人的には、個人個人のパーソナライズされたAIエージェントが登場し、各個人のAIエージェント間でのやりとりが行われる世界観も期待しています。
Discussion