AI時短ラボ
検索
検証

A2A(Agent2Agent プロトコル)とはAIエージェント同士をつなぐ公開仕様。MCPとの違い、Agent Card・Taskの仕組み、仕様1.0、公式SDK 6言語を公式資料で整理

執筆:約22分で読めます

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、仕様が定める安全面の要件をまとめる。

A2A(Agent2Agent プロトコル)とは──AIエージェント同士をつなぐ公開仕様。MCPとの違い、Agent Card・Taskの仕組み、仕様1.0、公式SDK 6言語を公式資料で整理
目次

2026年10月2日・日本時間時点の情報です。 A2A(Agent2Agent プロトコル)は、別々の会社やフレームワークで作られたAIエージェントどうしが、共通の決まりで会話し、仕事を頼み合うための公開仕様だ。公式サイトは「An open protocol enabling communication and interoperability between opaque agentic applications.」(中身が見えないエージェント型アプリケーションの間の通信と相互運用を可能にするオープンなプロトコル)と自らを説明する。材料は公式サイト・公式仕様・GoogleとLinux Foundationの発表・公式GitHubに限った。

3行まとめ

  1. A2Aは「エージェントとエージェント」をつなぐ公開仕様。 Googleが2025年4月9日に発表し、2025年6月23日にLinux Foundationのプロジェクトになった。公式サイトの仕様ページは「Latest Released Version 1.0.0」、GitHubの最新リリースはv1.0.1、ライセンスはApache 2.0。
  2. MCPとは役割が違い、公式は「競合ではなく補完」と書く。 MCPはエージェントを道具・データにつなぎ、A2Aは別のエージェントにつなぐ。部品は Agent Card(自己紹介のJSON)・Task(状態を持つ仕事の単位)・Message・Part・Artifact。
  3. 公式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つを行った。

  1. 公式サイトの仕様ページ、トップ、MCP比較、SDK一覧などを curl で取り、原文を手元に保存した。仕様ページの冒頭は「Latest Released Version 1.0.0」で、「Previous Versions」に 0.3.0、0.2.6、0.1.0 が並ぶ。
  2. 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件を挙げる。
  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エージェントの作り方にまとめている。

シェア: ポスト はてブ

出典・参照資料

AI時短ラボ

大きいニュースはYouTubeでも解説しています。Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

関連記事

A2Aプロトコルは結局使われているのか──1年後の公式発表を読むの記事画像

A2Aプロトコルは結局使われているのか 1年後の公式発表を読む

研究
MCP(Model Context Protocol)とは──AIとツールをつなぐ共通規格の記事画像

MCP(Model Context Protocol)とは AIとツールをつなぐ共通規格

活用
AIエージェントとは──指示に答えるAIと、仕事を進めるAIの違いをわかりやすく整理するの記事画像

AIエージェントとは 指示に答えるAIと、仕事を進めるAIの違いをわかりやすく整理する

研究
エージェンティックAIとは──AI事業者ガイドライン(第1.2版)の脚注は「複数のAIエージェントにより自律的に意思決定を下しアクションを起こす目標主導型のAIシステム」と書き、本文での定義は「次年度以降」に回した。AIエージェントとの違い、複数エージェントが協調するときに起きる問題(Anthropicの脆弱性266件・談合・縄張り争い)、同じ課題を5回やって全部成功するか(IBMのPass^k)の記事画像

エージェンティックAIとは AI事業者ガイドライン(第1.2版)の脚注は「複数のAIエージェントにより自律的に意思決定を下しアクションを起こす目標主導型のAIシステム」と書き、本文での定義は「次年度以降」に回した。AIエージェントとの違い、複数エージェントが協調するときに起きる問題(Anthropicの脆弱性266件・談合・縄張り争い)、同じ課題を5回やって全部成功するか(IBMのPass^k)

研究
MCPでもA2Aでも──『エージェントを見つける』だけに徹する軽量プロトコルARDPを読むの記事画像

MCPでもA2Aでも 『エージェントを見つける』だけに徹する軽量プロトコルARDPを読む

研究
AIエージェントの作り方【2026年9月版】──ノーコード(Dify・Lindy)、SDK(Claude Agent SDK・OpenAI Agents SDK・Google ADK・LangGraph)、任せる型(OpenAI Agents API・Claude Managed Agents)の3段階と、最初の1本を動かすまでのコード、暴走と課金を止める4つの安全装置の記事画像

AIエージェントの作り方【2026年9月版】 ノーコード(Dify・Lindy)、SDK(Claude Agent SDK・OpenAI Agents SDK・Google ADK・LangGraph)、任せる型(OpenAI Agents API・Claude Managed Agents)の3段階と、最初の1本を動かすまでのコード、暴走と課金を止める4つの安全装置

活用
Google「A2UI+MCP Apps」──エージェントの画面を「宣言的なJSON(A2UI)」で描くか「iframeのWebアプリ(MCP Apps)」で描くかの二択を組み合わせる3つの型。①MCPサーバーがapplication/a2ui+jsonを返しホストがネイティブ描画②MCP AppをA2UI部品に埋めて要点だけ同期③MCP App内にA2UI描画器を入れて旧システムに生成UIの記事画像

Google「A2UI+MCP Apps」 エージェントの画面を「宣言的なJSON(A2UI)」で描くか「iframeのWebアプリ(MCP Apps)」で描くかの二択を組み合わせる3つの型。①MCPサーバーがapplication/a2ui+jsonを返しホストがネイティブ描画②MCP AppをA2UI部品に埋めて要点だけ同期③MCP App内にA2UI描画器を入れて旧システムに生成UI

検証(発表 6月17日)
Gemma 4 12BをMacのローカルで「エージェント用の土台」にする──Google AI Edgeの手順。LiteRT-LM CLIの新コマンド`serve`でOpenAI互換のローカルサーバーを立て、OpenClaw・Hermes・OpenCode・Aiderをそのまま向ける。AI Edge GalleryのmacOS版はPythonを書いて実行、Eloquentは音声で書き換えの記事画像

Gemma 4 12BをMacのローカルで「エージェント用の土台」にする Google AI Edgeの手順。LiteRT-LM CLIの新コマンド`serve`でOpenAI互換のローカルサーバーを立て、OpenClaw・Hermes・OpenCode・Aiderをそのまま向ける。AI Edge GalleryのmacOS版はPythonを書いて実行、Eloquentは音声で書き換え

検証(発表 6月3日)