Today Google released its open source agent to agent protocol, imaginatively named
Nu sunt atât de sigur, așa că am decis să arunc o privire mai profundă și să verific care va fi poziția A2A în universul agentic.
Drive de testare A2A
Utilizarea A2A este surprinzător de similară cu MCP. Puteți rula câțiva agenți / servere A2A, iar apoi clientul A2A se poate conecta la toți.
Executarea agenților A2A (serveți)
Am învârtit toți cei trei agenți de exemplu local
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
Modul în care un server A2A permite lumii să-și cunoască capacitățile este prin intermediul unei „cărți de agent” în format JSON.
{ "nume": "Agent de rambursare", "descriere": "Acest agent se ocupă de procesul de rambursare pentru angajații dat suma și scopul rambursării.", "url": "http://localhost:10002/", "versiune": "1.0.0", "capacități": { "streaming": adevărat, "pushNotifications": fals, "stateTransitionHistory": false }, "defaultInputModes": [ "text", "text/plain" ], "defaultOutputModes": [ "text", "text/plain" ], "aptitudini": [ "id": "proces_reimbursement", "namă: "Procesul Remunerare Instrument", "descriere":{
"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?"
]
}
]
}
Lansarea aplicației demo 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
Odată ce aplicația web este în funcțiune, o puteți accesa din browserul dvs. Clientul arată un pic ca Gemini AI Studio cu design Google Material.
URL: localhost12000
URL: localhost:12000
În primul rând, trebuie să adăugăm toți agenții la client prin specificarea URL-ului lor de bază.
- 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
- Local:10000
- Localizare:10000
Nota laterală: în cadrul protocolului, adresa URL finală arată cam așa:
https://localhost:10002/. bine-cunoscut/agent.json
https://localhost:10002/.well-known/agent.json
Acum puteți vedea toți cei trei agenți care sunt conectați:
toți cei trei agenți
Puteți vedea istoria chatului aici
istorie de chat
Toată lista evenimentelor
Lista evenimentelor
Și toate activitățile
Lista de sarcini
Settings is quite basic
Setări
Testarea agentului Google ADK pentru cererea de cheltuieli
Test LangGraph pentru rata forex
Testarea agentului CrewAI pentru generarea de imagini
Un test combo pentru mai mulți agenți
Vreau să văd dacă clientul A2A poate folosi mai mulți agenți pentru a atinge un singur obiectiv.folosește mai mulți agenți pentru a atinge un singur obiectiv
Misiunea mea a fost de a „reclama o cheltuială pentru o bere în Germania în timp ce pe o călătorie de afaceri, 5 euro, 4 aprilie 2025“. Conversația a trecut prin câteva runde înapoi și înapoi, și în cele din urmă a primit suma corectă de dolari americani în formularul de cerere de cheltuieli.
Cerere pentru o cheltuială pentru o bere în Germania în timpul unei călătorii de afaceri, 5 euro, 4 aprilie 2025
Observații inițiale ale A2A
Îmi place că A2A este un model client-server pur care poate fi rulat și găzduit de la distanță.
Configurarea agentului este destul de simplă, cu doar specificarea URL-ului de bază, iar „Agent Card” se ocupă de schimbul de context.
În formatul demo actual, este puțin dificil să se înțeleagă modul în care agenții comunică între ei și îndeplinesc sarcini complexe.
Compare A2A cu 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
În timp ce atât A2A, cât și MCP au ca scop îmbunătățirea dezvoltării sistemului de agenți AI, în teorie se adresează nevoilor distincte. A2A operează la nivelul agent-agent, concentrându-se pe interacțiunea dintre entități independente, în timp ce MCP operează la nivelul LLM, concentrându-se pe îmbogățirea contextului și capacităților modelelor lingvistice individuale.
Și pentru a da o privire asupra principalelor lor asemănări și diferențe în funcție de documentația lor de protocol:
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Activitatea
Feature
A2A
MCP
Funcție
Funcție
A2A
A2A
A2A și
MCP
Mcp
Caz de utilizare primară
Comunicarea și colaborarea agent-agent
Furnizarea de contexte și instrumente (API/SDK externe) pentru LLMs
Caz de utilizare primară
Caz de utilizare primară
Comunicarea și colaborarea dintre agenți
Comunicarea agent-agent și colaborarea
Furnizarea de contexte și instrumente (API / SDK extern) pentru LLMs
Furnizarea de contexte și instrumente (API externe / SDK) pentru LLMs
Core Architecture
Client-server (agent-to-agent)
Client-host-server (aplicație-LLM-resurse externe)
Arhitectură de bază
Arhitectură de bază
Client-server (agent către agent)
Client-server (agent către agent)
Client-gazdă-server (aplicație-LLM-resurse externe)
Client-gazdă-server (aplicație-LLM-resurse externe)
Interfață standard
Specificația JSON, cardul de agent, sarcini, mesaje, artefacte
JSON-RPC 2.0, Resurse, instrumente, memorie, prompt
Interfață standard
Interfață standard
Specificația JSON, cardul agentului, sarcinile, mesajele, artefactele
Specificația JSON, cardul agentului, sarcinile, mesajele, artefactele
JSON-RPC 2.0, Resurse, Instrumente, Memorie, Prompte
JSON-RPC 2.0, Resurse, Instrumente, Memorie, Prompte
Funcții cheie
Colaborare multi-modală, dinamică, securizată, gestionarea sarcinilor, descoperirea capacităților
Modularitatea, limitele de securitate, reutilizabilitatea conectorilor, SDK-urile, descoperirea instrumentelor
Funcții cheie
Funcții cheie
Colaborare multi-modală, dinamică, sigură, gestionarea sarcinilor, descoperirea capacităților
Colaborare multi-modală, dinamică, sigură, gestionarea sarcinilor, descoperirea capacităților
Modularitatea, limitele de securitate, reutilizabilitatea conectorilor, SDK-urile, descoperirea instrumentelor
Modularitatea, limitele de securitate, reutilizabilitatea conectorilor, SDK-urile, descoperirea instrumentelor
Protocol de comunicare
HTTP, JSON-RPC, SSE
JSON-RPC 2.0 peste studio, HTTP cu SSE (sau HTTP streaming)
Protocolul de comunicare
Protocolul de comunicare
HTTP, JSON-RPC, SSE
HTTP, JSON-RPC, SSE
JSON-RPC 2.0 over stdio, HTTP cu SSE (sau HTTP streaming)
JSON-RPC 2.0 over stdio, HTTP cu SSE (sau HTTP streaming)
Focalizare performanță
Comunicare asimetrică pentru manipularea încărcăturii
Gestionare contextuală eficientă, procesare paralelă, cache pentru debit ridicat
Focalizarea performanței
Focalizarea performanței
Comunicare asimetrică pentru manipularea încărcăturii
Comunicarea asimetrică pentru manipularea încărcăturii
Gestionarea eficientă a contextului, prelucrarea paralelă, cache-ul pentru randament ridicat
Gestionarea eficientă a contextului, prelucrarea paralelă, cache-ul pentru randament ridicat
Adopție & Comunitate
Bună susținere inițială a industriei, ecosistem nou-născut
Adopție substanțială din partea întregii industrii, comunitate în creștere rapidă
Adopție & Comunitate
Adopție & Comunitate
Bună susținere inițială a industriei, ecosistem în curs de dezvoltare
Bună susținere inițială a industriei, ecosistem nou-născut
Adopție substanțială din întreaga industrie, comunitate în creștere rapidă
Adopție substanțială din întreaga industrie, comunitate în creștere rapidă
Concluzii
Chiar dacă Google a făcut să pară că A2A este un protocol gratuit pentru MCP, primul meu test arată că acestea se suprapun în mod copleșitor în scop și caracteristici. Ambele abordează nevoile dezvoltatorilor de aplicații AI pentru a utiliza mai mulți agenți și instrumente pentru a atinge obiective complexe.suprapuse în scopuri și caracteristici
MCP a avut un început timpuriu și a câștigat deja un sprijin enorm atât din partea comunității de dezvoltatori, cât și din partea întreprinderilor mari. A2A este foarte tânără, dar se mândrește deja cu un sprijin inițial puternic din partea multor clienți de afaceri Google Cloud.
Cred că aceasta este o veste bună pentru dezvoltatori, deoarece vor avea mai multe opțiuni în protocoalele deschise și standard agent-agent.protocoale deschise și standard agent-agent