こんにちは、サイオステクノロジーの遠藤です。
最近、AIエージェントの話題が増えてきましたね。Claude Code、GitHub Copilot、Cursor… 単体で動くAIツールはたくさんありますが、「複数のAIエージェントを連携させたい」と思ったことはありませんか?
そんなニーズに応えるのが、Googleが2025年4月に発表したA2A(Agent2Agent)プロトコルです。今回は、A2Aプロトコルとは何か、MCPとの違い、どんなメリットがあるのかを解説します。
こんな人に読んでほしい
- AIエージェント開発に興味がある人
- マイクロサービスアーキテクチャの経験がある人
- MCPを使っていて、次のステップを探している人
- 複数のAIを連携させたワークフローを構築したい人
A2Aプロトコルとは?
概要
A2A(Agent2Agent)プロトコルは、Googleが2025年4月に発表したAIエージェント間通信のためのオープンプロトコルです。Atlassian、Salesforce、SAP、ServiceNowなど多くのテクノロジーパートナーが参加を表明しており、現在はLinux Foundationに寄贈されています。
簡単に言うと、異なるフレームワークや言語で作られたAIエージェント同士が、標準化された方法で会話できる仕組みです。
なぜA2Aが必要なのか?
従来、AIエージェントを連携させようとすると、こんな問題がありました:
| 問題 | 具体例 |
|---|---|
| フレームワークの壁 | LangChainで作ったエージェントとCrewAIのエージェントが連携できない |
| プロトコルの不統一 | 各社独自の通信方式で互換性がない |
| 発見性の欠如 | 他のエージェントが何ができるか分からない |
A2Aはこれらの問題を解決し、エージェントのマイクロサービス化を実現します。
A2Aの5つの設計原則
A2Aプロトコルは、以下の5つの原則に基づいて設計されています:
1. エージェントの能力を活かす(Embrace agentic capabilities)
エージェント同士がメモリやツールを共有しなくても、自然な形で協調できることを重視しています。各エージェントは独立性を保ちながら連携できます。
2. 既存技術の活用(Build on existing standards)
- JSON-RPC 2.0 over HTTP(S)
- SSE(Server-Sent Events) でストリーミング対応
- OpenAPIと同様の認証スキーム
特別なインフラは不要で、既存のWebスタックにそのまま統合できます。
3. セキュリティ重視(Secure by default)
エンタープライズグレードの認証・認可をサポート。API Key、OAuth2、mTLSなど、OpenAPIと同等のセキュリティスキームに対応しています。
4. 長時間タスクへの対応(Support for long-running tasks)
数秒で終わるタスクから、人間の確認を挟む数時間〜数日のタスクまで柔軟に対応。タスクの状態管理やプッシュ通知もサポートしています。
5. モダリティ非依存(Modality agnostic)
テキストだけでなく、画像、音声、動画など様々なデータ形式を扱えます。
A2Aの主要コンポーネント
Agent Card(エージェントカード)
エージェントの「名刺」のようなものです。.well-known/agent.jsonというパスで公開され、以下の情報を含みます:
{
"name": "Writer Agent",
"description": "技術ブログの初稿を執筆するエージェント",
"url": "http://localhost:10001/",
"version": "1.0.0",
"skills": [
{
"id": "write_article",
"name": "ブログ記事ライター",
"description": "指定されたテーマでブログ記事の初稿を執筆します"
}
],
"capabilities": {
"streaming": false
}
}クライアントはこのAgent Cardを取得することで、エージェントが何をできるかを動的に発見できます。
Task(タスク)
A2Aでは、エージェント間のやり取りは「タスク」として管理されます。タスクには以下の状態があります:
| 状態 | 説明 |
|---|---|
submitted | 受付済み |
working | 処理中 |
input_required | ユーザー入力待ち |
completed | 完了 |
failed | 失敗 |
cancelled | キャンセル |
長時間タスクでも、途中経過の確認や再開が可能です。
Message(メッセージ)
エージェント間でやり取りするメッセージは、複数の「Part」で構成されます:
- TextPart: テキストデータ
- FilePart: ファイル(画像、PDFなど)
- DataPart: 構造化されたJSONデータ
MCPとA2Aの違い
両者は補完関係にあります。
比較表

どう使い分ける?

MCPを使うべき場面:
- エージェントから外部ツール(DB、ファイルシステム、API)にアクセスしたい
- Claude DesktopやCursor等のMCP対応アプリを使っている
A2Aを使うべき場面:
- 複数のAIエージェントを連携させたい
- 専門特化したエージェントを組み合わせたワークフローを構築したい
- エージェントを「サービス」として公開・発見したい
A2Aの活用メリット
1. 専門特化エージェントの組み合わせ
一つの「なんでもできるエージェント」を作るより、専門特化した小さなエージェントを組み合わせる方が効率的です。
例:コンテンツ制作ワークフロー

2. ベンダーロックインの回避
A2Aはオープンプロトコルなので、特定のフレームワークやクラウドベンダーに縛られません。LangChainで作ったエージェント、CrewAIで作ったエージェント、自作エージェントを自由に組み合わせられます。
3. スケーラビリティ
エージェントをマイクロサービスとして独立してデプロイできるため、負荷に応じたスケーリングが容易です。
4. 再利用性
一度作ったエージェントを、別のプロジェクトやチームで再利用できます。Agent Cardで能力を公開しているので、発見も簡単です。
A2Aを始めるには
A2Aプロトコルは複数の言語で公式SDKが提供されています。プロジェクトに合った言語を選びましょう。
| 言語 | リポジトリ | 特徴 |
|---|---|---|
| Python | a2a-python | 最も人気。サンプルコードも豊富 |
| JavaScript/TypeScript | a2a-js | Node.js/ブラウザ両対応。型安全 |
| Java | a2a-java | エンタープライズ向け |
| .NET | a2a-dotnet | ASP.NET Core対応 |
まとめ
A2Aプロトコルのポイント
- AIエージェント間通信の標準プロトコル:異なるフレームワーク・言語のエージェントが連携可能
- MCPとは補完関係:MCPがツール接続、A2Aがエージェント間連携
- Agent Cardで動的発見:エージェントの能力を公開し、自動的に発見・連携
- 既存Web技術との親和性:JSON-RPC、HTTP(S)、SSEなど標準技術を活用
次のステップ
A2Aの概念は理解できましたか?次回の記事では、実際にA2Aプロトコルを使ってマルチエージェントアプリを作ってみます。
具体的には、「ライターエージェント」と「校閲者エージェント」を連携させて、ブログ記事の執筆→校閲を自動化するデモを構築します。
実際に動くものを見ると理解がグッと深まるので、次回もお見逃しなく!
次回ブログ:

