Today Google released its open source agent to agent protocol, imaginatively named
私はそれほど確信していないので、もっと深く見てA2Aのエージェント宇宙における位置を確認することにしたので、A2Aが実際の生活でどのように機能するか、そしてMCPとの比較について説明します。
テストドライブ A2A
A2Aを使用することは、MCPと驚くほど似ています。あなたはいくつかのA2Aエージェント/サーバーを実行することができ、その後、A2Aクライアントはそれらすべてに接続することができます。
A2Aエージェント(サーバー)
I spinned up all three example agents locally
Google ADK agent that can submit expenses reports for youCrewAI agent that can find out generate an imageLangGraph agent that can find out the latest foreign exchange rate
A2Aサーバが世界にその機能を知らせる方法は、JSON形式の「エージェントカード」を通してです。
{"name": "Reimbursement Agent", "description": "This agent handles the reimbursement process for the employees given the amount and purpose of the reimbursement.", "url": "http://localhost:10002/", "version": "1.0.0", "capabilities": { "streaming": true, "pushNotifications": false, "stateTransitionHistory": false }, "defaultInputModes": [ "text", "text/plain" ], "defaultOutputModes": [ "text", "text/plain" ], "スキル": { "id": "process_reimbursement", "name: "Process Reimbursement Tool", "description": "ユーザーに与えられた金額と目的のための{
"name": "Reimbursement Agent",
"description": "This agent handles the reimbursement process for the employees given the amount and purpose of the reimbursement.",
"url": "http://localhost:10002/",
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": false,
"stateTransitionHistory": false
},
"defaultInputModes": [
"text",
"text/plain"
],
"defaultOutputModes": [
"text",
"text/plain"
],
"skills": [
{
"id": "process_reimbursement",
"name": "Process Reimbursement Tool",
"description": "Helps with the reimbursement process for users given the amount and purpose of the reimbursement.",
"tags": [
"reimbursement"
],
"examples": [
"Can you reimburse me $20 for my lunch with the clients?"
]
}
]
}
Launch A2A Client デモアプリケーション
Let’s continue with the client. The instructions to get the demo web app working are here. https://github.com/google/A2A/tree/main/demo
https://github.com/google/A2A/tree/main/demo https://github.com/google/A2A/tree/main/demo
Webアプリが実行されると、ブラウザからアクセスできます。クライアントは、Google マテリアルデザインの署名を持つ Gemini AI Studio に似ています。
URL: localhost:12000
URL: localhost:12000
まず、すべてのエージェントを地元で実行したので、そのベースURLは以下の通りでした
- Google ADK
- localhost:10002
- crewAI
- localhost:10001
- LangGraph
- Localhost:10000
Google ADK - localhost:10002
- localhost:10002
localhost:10002 crewAI - localhost:10001
- localhost:10001
localhost:10001 LangGraph - Localhost:10000
- Localhost:10000
Localhost:10000
Side note: within the protocol, the final URL looks a bit like this:
https://localhost:10002/.well-known/agent.json
https://localhost:10002/.well-known/agent.json
Now you can see all three agents that are connected:
all three agents すべてのエージェント
You can see the chat history here
チャットの歴史
All the event list
イベントリスト
And all the task list
タスクリスト
Settings はかなり基本的な
です。 Settings
Google ADKエージェントの費用請求のテスト
Test LangGraph for forex rate
画像生成用のCrewAIエージェントテスト
複数のエージェントの組み合わせテスト
I want to see if the A2A client can use multiple agents to a single goal. So I tested if it can combine the expenditure claim agent with the forex rate agent. そしてそれは働いた。 複数のエージェントを使用して、単一の目標を達成する
私の任務は「ドイツでのビジネス旅行でビールの費用を請求すること、5ユーロ、2025年4月4日」でした。ビジネス旅行中のドイツでのビールの費用に対する請求、5ユーロ、2025年4月4日
A2Aの初期観察
I like that A2A is a pure Client-Server model that both can be run and hosted remotely. クライアントは、エージェント/サーバーを指定し、起動することに負担を負わない。
エージェントの構成は、ベースURLを指定するだけでかなりシンプルで、「エージェントカード」はコンテキスト交換を担当します。
At the current demo format, it is a bit difficult to understand how agents communicate with each other and accomplish complex tasks. The client calls each agent separately for different tasks, thus very much like multiple tool calling.
A2AとMCPの比較
Now I have tried out A2A, it is time to compare it with MCP which I wrote about earlier in this article .
this article this article
A2AとMCPの両方がAIエージェントシステムの開発を改善することを目指しているが、理論的には、A2Aはエージェント対エージェントレベルで活動し、独立したエンティティ間の相互作用に焦点を当て、MCPはLLMレベルで活動し、個々の言語モデルの文脈と能力を豊かにすることに焦点を当てている。
およびプロトコル文書に従って、その主要な類似性と違いを確認するために:
トップページ > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション > コミュニケーション >コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュニケーション コミュ
機能
機能
A2A
A2A
MCP
MCP
Primary Use Case
Agent-to-agent communication and collaboration
LLMs
Primary Use Case
PRIMARY USE CASE
Agent-to-agent コミュニケーションとコラボレーション
Agent-to-agent コミュニケーションとコラボレーション
LLMsに文脈とツール(外部API/SDK)を提供する
LLMsに文脈とツール(外部API/SDK)を提供する
コアアーキテクチャ
クライアント・サーバー(エージェント・オブ・エージェント)
クライアント・ホスト・サーバー(アプリケーション・LLM・外部リソース)
コアアーキテクチャ
コアアーキテクチャ
クライアントサーバー(エージェント対エージェント)
クライアントサーバー(エージェント対エージェント)
Client-host-server (application-LLM-external resource)
Client-host-server (application-LLM-external resource)
標準インターフェイス
JSON仕様、エージェントカード、タスク、メッセージ、アーティファクト
JSON-RPC 2.0、リソース、ツール、メモリ、プロンプト
標準インターフェイス
標準インターフェイス
JSON仕様、エージェントカード、タスク、メッセージ、アーティファクト
JSON仕様、エージェントカード、タスク、メッセージ、アーティファクト
JSON-RPC 2.0、リソース、ツール、メモリ、プロンプト
JSON-RPC 2.0、リソース、ツール、メモリ、プロンプト
Key Features
Multimodal, dynamic, secure collaboration, task management, capability discovery
Modularity, security boundaries, reusability of connectors, SDKs, tool discovery
キー機能
キー機能
Multimodal、ダイナミック、セキュアなコラボレーション、タスク管理、機能発見
Multimodal、ダイナミック、セキュアなコラボレーション、タスク管理、能力発見
Modularity, security boundaries, reusability of connectors, SDKs, tool discovery
Modularity, security boundaries, reusability of connectors, SDKs, tool discovery
コミュニケーションプロトコル
HTTP, JSON-RPC, SSE
JSON-RPC 2.0 over stdio, HTTP with SSE (or streamable HTTP)
コミュニケーションプロトコル
通信プロトコル
HTTP、JSON-RPC、SSE
HTTP、JSON-RPC、SSE
JSON-RPC 2.0 over stdio, HTTP with SSE (or streamable HTTP)
JSON-RPC 2.0 over stdio, HTTP with SSE (or streamable HTTP)
Performance Focus
Asynchronous communication for load handling
Efficient context management, parallel processing, caching for high throughput
パフォーマンス・フォーカス
パフォーマンス・フォーカス
負荷処理のための非同期通信
負荷処理のための非同期通信
Efficient context management, parallel processing, caching for high throughput
Efficient context management, parallel processing, caching for high throughput
Adoption & Community
Good initial industry support, nascent ecosystem
Substantial adoption from the entire industry, fast growing community
Adoption & コミュニティ
アフィリエイト & コミュニティ
Good initial industry support, nascent ecosystem
Good initial industry support, nascent ecosystem
業界全体の大幅な採用、急速に成長するコミュニティ
業界全体の大幅な採用、急速に成長するコミュニティ
結論
GoogleがA2AがMCPへの無料プロトコルであるように聞こえたにもかかわらず、私の最初のテストでは、彼らは目的と機能で圧倒的に重なっていることを示しています
. They both address the needs of AI application developers to utilize multiple agents and tools to complex goals. Right now, they both lack a good mechanism to register and discover other agents and tools without manual configuration.
overwhelmingly overlapping in purpose and features 目的と機能で圧倒的に重なり合う
MCPは早期にスタートし、既に開発者コミュニティと大企業の両方から莫大なサポートを得ています。
I believe this is great news for developers, since they will have more choices in open and standard agent-agent protocols. Only time can tell which will reign supreme, or they might even merge into a single standard.
これは、開発者にとって大きなニュースです。オープンおよび標準エージェント・エージェント・プロトコル