A2A と MCP の違いは「どちらが上位か」ではなく、誰と仕事するかの違いだ
このノートは原文の代替ではありません。読むべきポイントと実装上の意味を整理し、原典への入口を示します。
要点まとめ
- この公式比較は、A2A と MCP を競合規格としてではなく、別の相手に話しかけるための別プロトコルとして整理している。
- MCP は agent が道具やデータ源を呼ぶための仕組みで、入力と出力が比較的はっきりしている仕事に向く。
- A2A は agent 同士が役割分担し、会話しながら task を進めるための仕組みで、より長い文脈と状態を持つ仕事に向く。
- 読者が今やるべき判断は、remote worker を tool として押し込むか、delegation 先の remote agent として扱うかを分けることだ。
読み終えたら次へ
この1本で終わらせず、同じ目的・同じテーマ・近い原典へ進めます。
何が変わったのか
この文書の価値は、MCP を「agent の標準」と雑に広げず、tool / resource exposure の範囲へ戻している点です。MCP は database、API、scanner のような比較的定型の capability を呼ぶ前提で説明されます。対して A2A は、peer としての agent を見つけ、やり取りし、共通 task を進める前提で説明されます。 つまり変わるのは用語ではなく設計判断です。remote service を全部 MCP tool にする設計は、状態管理、途中確認、役割分担、責任の切れ目を見えにくくします。逆に、単発処理まで全部 A2A に寄せると大げさになります。
なぜ重要か
日本語圏では MCP が広く知られ始めた一方で、「agent 連携は全部 MCP でよい」と平板化されやすい。この誤解のままだと、subagent、remote worker、社内 API、検索 connector の違いが崩れ、権限設計も失敗しやすいです。開発者だけでなく PM や創業者にとっても、どこからが delegation で、どこまでが tool invocation かを切ることは、責任分界と障害切り分けの前提になります。
技術的ポイント
- MCP は agent が tool や resource を使うための protocol です。比較的決まった入力を渡し、構造化された出力を受ける仕事に向いています。
- A2A は agent 同士が peer として協調するための protocol です。multi-turn の相談、task の分担、状態を持った進行を扱いやすいのが違いです。
- 文書の例では、修理工場の manager agent が mechanic agent や supplier agent と A2A で連携し、その内部で scanner や manual database を MCP で使います。つまり A2A の中に MCP が入る形です。
- A2A agent の一部 skill を MCP resource 的に見せることは可能ですが、文書自体はそれを主用途にしていません。stateless な skill だけを切り出せる時の補助線と読むのが妥当です。
英日キーワード
| 英語 | 日本語 | 補足 |
|---|---|---|
| A2A | Agent2Agent / agent 間連携 | agent 同士が協調して task を進めるための protocol。tool 呼び出しより長い状態共有や handoff に向く。 |
| MCP | Model Context Protocol | AI アプリが外部ツールやデータ源に接続するためのプロトコル。ツールだけでなく resources / prompts も含む。 |
| tool use | ツール使用 | モデルが検索、DB、コード実行、外部 API などを呼び出す設計。便利さより権限と監査が重要になる。 |
| delegation | 委譲 | 自分で全部処理せず、別 agent に仕事を任せること。単発の tool 呼び出しとは責任の切れ目が違う。 |
| handoff | 引き継ぎ | task の主担当を別 agent に渡すこと。resume や責任者の扱いまで含めて設計が必要。 |
| remote agent | リモート agent | 別 process や別 service として動く agent。local tool と同じ抽象で押し込むと state と責任が見えにくくなる。 |
試すなら
- 今の agent 設計で使っている外部先を並べ、tool、data source、remote worker に三分する。
- 途中確認や長い会話が必要な相手を、単純な function call と同じ抽象で扱っていないか見直す。
- remote worker を MCP tool 扱いしているなら、状態、失敗時の戻し方、責任者が見えなくなっていないか確認する。
注意点
- この文書は比較ガイドであり、A2A を採用すれば自動で安全になるとは言っていません。認証、discovery、公開範囲は別途設計が必要です。
- A2A と MCP の境界は実装でにじむことがあります。どちらでも表現できる場面では、監査しやすさと責任分界を優先して選ぶべきです。
この記事は役に立ちましたか
公益的に続けるため、役に立った点や読みづらかった点だけを短く送れます。メールアドレスは不要です。