A2A(Agent2Agent プロトコル)とはAIエージェント同士をつなぐ公開仕様。MCPとの違い、Agent Card・Taskの仕組み、仕様1.0、公式SDK 6言語を公式資料で整理
A2A(Agent2Agent)は、別々の会社・フレームワークで作られたAIエージェントどうしが会話し、仕事を依頼し合うための公開仕様。Googleが2025年4月9日に発表し、2025年6月23日にLinux Foundationが運営するプロジェクトになった。公式サイトの仕様ページは「Latest Released Version 1.0.0」、GitHubの最新リリースはv1.0.1、スターは10月2日11時50分時点で25,987、ライセンスはApache 2.0。MCPが「エージェントと道具・データ」をつなぐのに対し、A2Aは「エージェントとエージェント」をつなぐ、という公式の整理と、Agent Card・Task・Messageなどの用語、公式SDK、仕様が定める安全面の要件をまとめる。

目次
2026年10月2日・日本時間時点の情報です。 A2A(Agent2Agent プロトコル)は、別々の会社やフレームワークで作られたAIエージェントどうしが、共通の決まりで会話し、仕事を頼み合うための公開仕様だ。公式サイトは「An open protocol enabling communication and interoperability between opaque agentic applications.」(中身が見えないエージェント型アプリケーションの間の通信と相互運用を可能にするオープンなプロトコル)と自らを説明する。材料は公式サイト・公式仕様・GoogleとLinux Foundationの発表・公式GitHubに限った。
3行まとめ
- A2Aは「エージェントとエージェント」をつなぐ公開仕様。 Googleが2025年4月9日に発表し、2025年6月23日にLinux Foundationのプロジェクトになった。公式サイトの仕様ページは「Latest Released Version 1.0.0」、GitHubの最新リリースはv1.0.1、ライセンスはApache 2.0。
- MCPとは役割が違い、公式は「競合ではなく補完」と書く。 MCPはエージェントを道具・データにつなぎ、A2Aは別のエージェントにつなぐ。部品は Agent Card(自己紹介のJSON)・Task(状態を持つ仕事の単位)・Message・Part・Artifact。
- 公式SDKは Python・JavaScript・Java・C#/.NET・Go・Rust の6言語。 筆者が10月2日11時50分に確かめた公式リポジトリは、スター25,987、フォーク2,639。仕様が定めるのは認証・TLS・SSRF対策などの要件で、本記事が読んだ範囲に、相手のエージェントが返す内容の正しさを保証する規定はない。
A2Aとは何か:誰が作り、いまどこが管理しているか
公式サイトのトップの言葉では、A2Aは「an open standard for seamless communication and collaboration between AI agents」(AIエージェント間のシームレスな通信と協働のためのオープンな標準)だ。発表と管理主体の経緯は、一次の発表の原文で次のとおり。
| 日付 | 出来事(発表の原文) | 出どころ |
|---|---|---|
| 2025年4月9日 | Googleが「Agent2Agent (A2A)」を発表。「with support and contributions from more than 50 technology partners」(50を超える技術パートナーの支持と貢献を得て)と書く | Google Developers Blog |
| 2025年6月23日 | Linux Foundationがプロジェクトの立ち上げを発表。A2Aを「an open protocol created by Google」(Googleが作ったオープンなプロトコル)と呼び、「growing support from more than 100 leading technology companies」(100を超える主要テクノロジー企業からの広がる支持)があると書く | Linux Foundation |
| 2026年4月9日 | 1年目の発表。「more than 150 organizations supporting the standard」(この標準を支持する150を超える組織)と書く | Linux Foundation |
| 公式サイト(10月2日時点) | 「originally developed by Google and donated to the Linux Foundation」(Googleが開発し、Linux Foundationに寄贈した)。技術運営委員会に AWS、Cisco、Google、IBM Research、Microsoft、Salesforce、SAP、ServiceNow の代表が入る | A2A公式サイト |
作ったのはGoogleで、いまの運営の枠はLinux Foundationだ。ライセンスは、公式サイトの「License」の節によると Apache License 2.0。
何ができるのか:旅行の手配を例にした公式の説明
公式の「What is A2A?」は、国際旅行の計画を頼まれたAIアシスタントを例にする。航空券・ホテル・現地ツアー・通貨換算の専門エージェントが別々に作られていると、共通の決まりがない限り、互いに何ができるかも分からず孤立する。A2Aはエージェントが話すための「標準的な方法とデータ構造」を与え、AIアシスタントが各エージェントの結果を1つの旅行計画にまとめられるようにする、という筋立てだ。
同じページは設計原則として、HTTP・JSON-RPC・SSEなど既存の標準を使うこと(Simplicity)、長時間の仕事を前提にすること(Asynchronous)、内部のロジック・記憶・独自の道具を見せずに協働すること(Opaque Execution)など5つを挙げる。
MCPとの違いは何か
MCP(Model Context Protocol)との関係は、A2Aの公式サイトのトップページと専用の比較ページが説明している(MCP自体はMCP(Model Context Protocol)とはを参照)。トップページはこう書く。
The Model Context Protocol (MCP) and the A2A Protocol are not competitors — they are highly complementary.
(訳:MCPとA2Aは競合ではなく、強く補い合う関係にある。)
続けて、MCPを「agent-to-tool communication」(エージェントと道具の通信)、A2Aを「agent-to-agent communication」(エージェント同士の通信)のためのものと書き分け、使い分けを次の2文で示す。
Use MCP to equip an individual agent with the specific tools it needs to do its job (e.g., access to a GitHub repository or a SQL database). Use A2A to let that specialized agent securely collaborate with other agents across different frameworks.
(訳:個々のエージェントが仕事に必要な特定の道具(例:GitHubリポジトリやSQLデータベースへのアクセス)を持たせるのにMCPを使う。その専門化されたエージェントが、別のフレームワークの他のエージェントと安全に協働できるようにするのにA2Aを使う。)
比較ページ「A2A and MCP: Detailed Comparison」は、方向で説明する。MCPは「vertical」(縦)で、1つのエージェントを深くする。A2Aは「horizontal」(横)で、1つのアプリケーションの境界を越えて、別のチーム・部署・提携先の組織のエージェントにつなぐ。次の表は、この2ページの記述を筆者が並べたものだ。
| MCP | A2A | |
|---|---|---|
| トップページの言い方 | agent-to-tool(エージェントと道具) | agent-to-agent(エージェント同士) |
| つなぐ相手(比較ページ) | 入出力が決まった、多くは状態を持たない機能(計算機、データベース検索、天気照会など) | 推論・計画をし、複数の道具を使い、長いやり取りで状態を保つ、より自律的なシステム |
比較ページは「A2A connects the agents to each other; MCP connects each agent to its own tools.」(A2Aはエージェントを互いにつなぎ、MCPは各エージェントをそれぞれの道具につなぐ)とも書き、自動車修理工場の例で、エージェント同士の会話や部品商への問い合わせはA2A、整備士エージェントが診断スキャナーを使うところはMCP、と分けて見せる。
公式サイトの「What A2A Is Not」は、A2Aは開発キット(LangGraph・CrewAI・ADKなど)でも、サブエージェントや道具の呼び方の決まりでも、MCPの置き換えでも、メッセージアプリでもない、と書く。エージェントそのものの説明はAIエージェントとはにある。
仕組みの基本:公式の用語を5つだけ
公式の「Core Concepts」は、通信の部品を次の5つとする(説明は公式の表の要約)。
| 用語 | 公式の説明の要点 |
|---|---|
| Agent Card | エージェントの身元・能力・接続先・スキル・認証の要件を書いたJSON。公式は「digital business card」(デジタルの名刺)と呼ぶ |
| Task | 一意のIDと決まったライフサイクルを持つ、状態のある仕事の単位。長い作業や複数回のやり取りを追える |
| Message | クライアントとエージェントの間の1回分の発話。role は "user" か "agent" |
| Part | MessageやArtifactの中身の容器。テキスト・ファイル(URLか直接のバイト列)・構造化データのどれか1つを持つ |
| Artifact | Taskの中でエージェントが作る成果物(文書、画像、構造化データなど) |
エージェントの返事は、すぐ答えられるなら Message、時間のかかる仕事なら新しい Task になる。仕様の TaskState(値は TASK_STATE_ で始まる)は、SUBMITTED・WORKING・INPUT_REQUIRED(利用者の追加入力待ち)・AUTH_REQUIRED(認証待ち)と、終わりの状態の COMPLETED・FAILED・CANCELED・REJECTED などで、仕様は終わりの状態の Task に送った Message を受け付けないと定める。
Agent Card の見つけ方として、公式の「Agent Discovery」は決まった場所 https://{agent-server-domain}/.well-known/agent-card.json に置く方式を挙げる(ほかにレジストリと直接の設定)。通信の方式は、仕様1.0が JSON-RPC・gRPC・HTTP+JSON/REST の3つに章を分けている。
対応している製品・企業はどこか
以下は、公式の発表に名前が載っているものだけだ。
- 2025年4月の発表(Google):技術パートナーとして Atlassian、Box、Cohere、Intuit、Langchain、MongoDB、PayPal、Salesforce、SAP、ServiceNow、UKG、Workday、サービス事業者として Accenture、BCG、Capgemini、Cognizant、Deloitte、HCLTech、Infosys、KPMG、McKinsey、PwC、TCS、Wipro。
- 2025年6月の発表(Linux Foundation):AWS、Cisco(Outshift)、Salesforce、SAP、Microsoft(Azure AI Foundry)、ServiceNow の担当者の談話。
- 2026年4月の発表(Linux Foundation):「Microsoft integrated A2A into Azure AI Foundry and Copilot Studio and AWS added support through Amazon Bedrock AgentCore Runtime」(MicrosoftはA2AをAzure AI FoundryとCopilot Studioに統合し、AWSはAmazon Bedrock AgentCore Runtimeを通じて対応を加えた)。
2026年4月の発表は「active production deployments across multiple industries」(複数の業界での稼働中の本番導入)があると書くが、導入の件数や利用量は示していない。
使い方の入口:公式SDKとサンプル
公式の「A2A SDK」ページが挙げる6言語の公式SDKと、GitHub APIで10月2日11時50分に取ったスター数(多い順)は次のとおり。
| 言語 | リポジトリ | スター数(10月2日11時50分) |
|---|---|---|
| Python | a2a-python | 2,170 |
| JavaScript | a2a-js | 631 |
| Java | a2a-java | 504 |
| Go | a2a-go | 477 |
| C#/.NET | a2a-dotnet | 264 |
| Rust | a2a-rs | 88 |
サンプルは別リポジトリ a2a-samples にある。Python SDKのREADMEが書く前提は「Python 3.10+」と「uv(推奨)または pip」で、導入のコマンドはREADMEの表にある次の1行だ。
pip install a2a-sdk
READMEのHelloworld例は、次の手順でエージェントを起動し、
git clone https://github.com/a2aproject/a2a-samples.git
cd a2a-samples/samples/python/agents/helloworld
uv run .
別の端末でクライアントを動かす。
cd a2a-samples/samples/python/agents/helloworld
uv run test_client.py
上の2つのコードはREADMEの写しで、筆者はHelloworldの手順を手元で実行していない(実行したのは次の節の pip install と import の確認まで)。
このMacでa2a-sdkを入れ、公式リポジトリの数字を取った
10月2日11時50分ごろ、このMacで次の3つを行った。
- 公式サイトの仕様ページ、トップ、MCP比較、SDK一覧などを
curlで取り、原文を手元に保存した。仕様ページの冒頭は「Latest Released Version 1.0.0」で、「Previous Versions」に 0.3.0、0.2.6、0.1.0 が並ぶ。 - GitHub APIで公式リポジトリ a2aproject/A2A を取った。スター25,987、フォーク2,639、ライセンス Apache-2.0、最後の push は 2026年10月1日 18:08(UTC)。最新のリリースは v1.0.1(2026年5月28日公開)で、リリースノートは「Bug Fixes」の3件を挙げる。
- 空の仮想環境に
pip install a2a-sdkを実行した。入ったのは a2a-sdk 1.2.1(ライセンス表示は Apache-2.0、Python 3.14.7 の環境)で、import a2aと、AgentCard・AgentSkill・Task・Message・Part・Artifact・TaskStateの型の読み込みはエラーなく通った。サーバーの起動やエージェント間の通信は試していない。
仕様ページは1.0.0、GitHubのリリースは1.0.1で、表記がそろっていない。12時ごろに公式サイトの版の一覧(versions.json)を取ると、本記事が主に読んだ /latest/ は開発版(dev)の別名で、別に v1.0.1 の版があった。その仕様ページの冒頭も「Latest Released Version 1.0.0」のままで、本記事が引いた仕様の文は同じ文面で載っていた。版の数え方は、仕様の3.6 Versioningがこう定める。
The specific version of the A2A protocol in use is identified using the Major.Minor elements (e.g. 1.0) of the corresponding A2A specification version. Patch version numbers used by the specification, do not affect protocol compatibility.
(訳:使われているA2Aプロトコルの版は、対応する仕様の版の Major.Minor の部分(例:1.0)で識別する。仕様が使うパッチ番号は、プロトコルの互換性に影響しない。)
この規則に沿えば、1.0.0も1.0.1もプロトコルの版としては「1.0」にあたる、というのが筆者の読みだ。
なお、A2Aの1年を読んだ記事は、8月29日時点のスターを約25,500、フォークを約2,600と記録している。約5週間で、スターは約490、フォークは約40増えた計算になる。
安全面:仕様が求めていること、求めていないこと
仕様1.0(第7・13・14章)と、公式の「Enterprise Implementation」ページは、次のことを書いている。
- 通信:本番では必ずHTTPS(gRPCはTLS)。仕様の第13.4節は「TLS 1.3+ recommended」(TLS 1.3以上を推奨)とするが、Enterprise Implementationページは「TLS 1.2 or higher is recommended」(TLS 1.2以上を推奨)と書き、2つの公式資料で数字が違う。
- 認証:認証の方式は Agent Card で示し、資格情報はHTTPヘッダーで送り、サーバーは来た要求ごとに認証する(MUST)。身元はJSON-RPCの本体に載せず、通信の層で確かめる(Enterprise Implementationページの「No Identity in Payload」)。
- 認可:第13.1節は、すべての操作で認可を確かめ、結果を呼び出し元に許された範囲に絞ることをMUST(必須)とする。認可の方式は各エージェントが決め、プロトコルは定めない。
- SSRF(サーバー側リクエスト偽造)対策:第13.2節は、Webhookを呼ぶエージェントがURLを検証すべき(SHOULD)とし、私的IPの範囲(127.0.0.0/8、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)やlocalhostの拒否を例に挙げる。第14.1.1節(application/a2a+json の登録)は、メッセージ内のファイル参照の検証と、利用者が与えた内容の無害化(注入攻撃の防止)をMUSTとする。
本記事が読んだ範囲では、仕様が定めるのは通信の枠組みと実装者への要件で、相手のエージェントが返す内容が正しい、あるいは安全だと保証する規定は見当たらなかった。複数のエージェントが協調するときの脆弱性・談合・縄張り争いはエージェンティックAIとはが別の研究を材料に整理している。
A2Aを調べて言い切れなかった点と、読む前提
- 普及の実数:Linux Foundationの言葉は「more than 150 organizations supporting the standard」(この標準を支持する150を超える組織)で、稼働中のA2A接続の数ではない。
- 各社の対応の深さ:MicrosoftやAWSの統合は発表文の記述で確認しただけで、各製品でどの機能が使えるかは見ていない。
- 1.0.0と1.0.1の表記の差:仕様ページが1.0.0の表記のままである理由について、公式の説明は見つけられていない。
- 日本語の公式資料:本記事が参照した範囲では、A2A公式サイトの仕様・解説は英語版だった。日本語の訳は、すべて筆者による。
出典とこの記事の範囲(A2Aの公式資料)
本文の事実は、a2a-protocol.org の各ページ、Google Developers Blog、Linux Foundationの2本の発表、GitHub の a2aproject/A2A と a2a-python から取った。スター数・フォーク数はGitHub APIの2026年10月2日11時50分の値で、時間とともに変わる。エージェントを作る手順全体はAIエージェントの作り方にまとめている。
出典・参照資料
- 一次資料A2A Protocol 公式サイト トップ(What is A2A Protocol? / How A2A Works with MCP / What A2A Is Not / Governance & Open Source / License・2026年10月2日11時50分取得) ↗
- 一次資料What is A2A?(公式・A2Aが解く問題、設計原則・2026年10月2日取得) ↗
- 一次資料A2A and MCP: Detailed Comparison(公式・MCPとの違いの詳細・2026年10月2日取得) ↗
- 一次資料Core Concepts and Components in A2A(公式・Agent Card/Task/Message/Part/Artifact・2026年10月2日取得) ↗
- 一次資料Agent Discovery in A2A(公式・.well-known/agent-card.json など3つの発見方法・2026年10月2日取得) ↗
- 一次資料Enterprise Implementation of A2A(公式・TLS、認証、認可、トレース・2026年10月2日取得) ↗
- 一次資料Agent2Agent (A2A) Protocol Specification(公式仕様・冒頭は「Latest Released Version 1.0.0」。/latest/ は公式サイトの版の一覧で開発版 dev の別名・2026年10月2日取得) ↗
- 一次資料Agent2Agent (A2A) Protocol Specification v1.0.1 版(公式サイトの版の一覧にある v1.0.1 のページ・2026年10月2日11時59分取得) ↗
- 一次資料A2A SDK(公式・対応言語とリポジトリ一覧・2026年10月2日取得) ↗
- 一次資料Announcing the Agent2Agent Protocol (A2A)(Google Developers Blog・2025年4月9日) ↗
- 一次資料Linux Foundation Launches the Agent2Agent Protocol Project(Linux Foundation・2025年6月23日) ↗
- 一次資料A2A Protocol Surpasses 150 Organizations...(Linux Foundation・2026年4月9日) ↗
- 一次資料a2aproject/A2A(公式GitHubリポジトリ・GitHub APIで2026年10月2日11時50分に取得) ↗
- 一次資料a2aproject/A2A Release v1.0.1(2026年5月28日公開・Bug Fixes 3件) ↗
- 一次資料a2aproject/a2a-python README(Python SDKの導入手順とHelloworld例・2026年10月2日取得) ↗
大きいニュースはYouTubeでも解説しています。Xでは新着記事をお知らせしています。
コメント
まだコメントはありません。最初のコメントを書いてみませんか?
AIについて聞きたいことはありますか?
質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。
質問箱を見る →