A2Aとは?AIエージェントどうしが仕事を頼み合う仕組み

仕様の版:A2A Protocol Specification 1.0.0
経費の精算、出張の手配、顧客への連絡など、仕事ごとに別々のAIエージェントを使う場面が増えてきました。そうなると、エージェントどうしで仕事を頼み合えると便利です。
そのための取り決めとして作られたのがA2Aになります。本記事では、公式の仕様をもとに、A2Aの仕組みとMCPとの違いを見ていきましょう。
A2Aとは
A2A(Agent2Agent Protocol)は、別々に作られたAIエージェントどうしが互いを見つけ、仕事を頼み、結果を受け取るための公開の取り決めです。
2025年4月9日にGoogleが発表し、50を超える企業が支援を表明しました。同じ年の6月23日には、仕様と開発キットがLinux Foundationに移され、特定の企業から独立したプロジェクトとして運営されています。
仕様によると、A2Aの目的は、中が見えない独立したAIエージェントどうしのやりとりと相互運用です。中が見えないというのは、相手のエージェントがどんなLLMを使い、どんな手順で考えているかを知らなくてよい、ということを指します。エージェントはできることを宣言し、情報を受け渡すだけで協力する仕組みです。内部の考えや計画、使っているツールまでは共有しません。
MCPとの違い
A2AとMCPはどちらもAIエージェントを外部とつなぐ取り決めですが、つなぐ相手が違います。
A2Aの公式サイトは、MCPを縦、A2Aを横のつながりと説明しています。MCPの役目は、1つのエージェントにツールやデータをつないで、そのエージェントができることを増やすことです。A2Aは、チームや会社の境目を越えて、エージェントどうしを協力させます。
公式サイトに挙がっているのは、自動車の修理工場の例です。客と受付のエージェント、整備のエージェントと部品業者のエージェントのやりとりは、A2Aで行います。整備のエージェントが診断機や修理マニュアルのデータベースを使う場面で働くのは、MCPのほうです。
エージェントカードで相手を知る
仕事を頼む前に、相手のエージェントが何をできるかを知っておかなければなりません。そのために、エージェントカードという情報が用意されています。
エージェントカードは、名前や提供元、できること(スキル)、受け付ける窓口と必要な認証の方法などを書いたJSONの名刺のようなものです。仕様では、エージェントを公開する側が、/.well-known/agent-card.json という決まった場所にこのカードを置きます。頼む側はここを読めば、どの窓口に、どう頼めばよいかが分かるわけです。
仕事を頼む流れ
A2Aでは、頼む側をクライアント、頼まれる側をリモートエージェントと呼び、頼んだ仕事はタスクという単位で扱います。
- クライアントが、相手のエージェントカードを読みます
- クライアントが、メッセージで仕事を頼みます
- リモートエージェントがタスクを作り、作業を進めます。追加の情報が要るときは、クライアントに尋ねます
- 作業が終わると、結果を成果物(アーティファクト)として返します
時間のかかる仕事も扱えるように、タスクには「受け付けた」「作業中」「入力待ち」「完了」「失敗」などの状態が決められています。クライアントは、状態を問い合わせるか、途中経過を流し続けてもらうか、終わったときに知らせてもらうかを選べる仕組みです。
やりとりの書式は、JSON-RPC 2.0、gRPC、HTTPとJSONから選びます。認証の方式も、APIキーやOAuth 2.0など、すでに広く使われているものです。
製品での使われ方
A2Aは、複数の会社が作ったエージェントを組み合わせる、企業向けのしくみで使われ始めています。利用者が直接A2Aを設定する場面はまだ少なく、AIエージェントを提供するサービスの裏側で使われることが多い取り決めです。