A2A(Agent2Agent)プロトコル入門|MCPとの違いと活用メリット

こんにちは、サイオステクノロジーの遠藤です。

最近、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というパスで公開され、以下の情報を含みます:

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が提供されています。プロジェクトに合った言語を選びましょう。

言語リポジトリ特徴
Pythona2a-python最も人気。サンプルコードも豊富
JavaScript/TypeScripta2a-jsNode.js/ブラウザ両対応。型安全
Javaa2a-javaエンタープライズ向け
.NETa2a-dotnetASP.NET Core対応

まとめ

A2Aプロトコルのポイント

  • AIエージェント間通信の標準プロトコル:異なるフレームワーク・言語のエージェントが連携可能
  • MCPとは補完関係:MCPがツール接続、A2Aがエージェント間連携
  • Agent Cardで動的発見:エージェントの能力を公開し、自動的に発見・連携
  • 既存Web技術との親和性:JSON-RPC、HTTP(S)、SSEなど標準技術を活用

次のステップ

A2Aの概念は理解できましたか?次回の記事では、実際にA2Aプロトコルを使ってマルチエージェントアプリを作ってみます

具体的には、「ライターエージェント」と「校閲者エージェント」を連携させて、ブログ記事の執筆→校閲を自動化するデモを構築します。

実際に動くものを見ると理解がグッと深まるので、次回もお見逃しなく!

次回ブログ:

A2Aプロトコルでマルチエージェントアプリを作ってみた|ライター×校閲者ワークフロー


参考リンク

公式ドキュメント

関連記事

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です