Noua istorie

Google A2A - o primă privire la un alt protocol agent-agent

de Bruce Li5m2025/04/10
Read on Terminal Reader

Prea lung; A citi

Google A2A - o primă privire asupra unui alt protocol agent-agent și comparat cu MCP de la Anthropic. Ei bine, sunt foarte asemănătoare.
featured image - Google A2A - o primă privire la un alt protocol agent-agent
Bruce Li HackerNoon profile picture
0-item
1-item

Today Google released its open source agent to agent protocol, imaginatively named A2A or Agent to Agent. Since we already see a lot of momentum behind Anthropic’s MCP (Model Context Protocol), Google claimed that A2A is complementary to MCP. They even used a heart emoji to drive home the point.

A2AA2AMCPMCPA2A is complementary to MCPA2A is complementary to MCP


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


  1. Google ADK agent that can submit expenses reports for you
  2. CrewAI agent that can find out generate an image
  3. LangGraph agent that can find out the latest foreign exchange rate
  • Google ADK agent that can submit expenses reports for you
  • Google ADK agentGoogle ADK agent
  • CrewAI agent that can find out generate an image
  • CrewAI agentCrewAI agent
  • LangGraph agent that can find out the latest foreign exchange rate
  • LangGraph agentLangGraph agent


    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/demohttps://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

      A2A agents

      A2A agents


      Puteți vedea istoria chatului aici

      istorie de chat

      A2A chats

      A2A chats


      Toată lista evenimentelor

      Lista evenimentelor

      A2A event list

      A2A event list


      Și toate activitățile

      Lista de sarcini

      A2A task list

      A2A task list


      Settings is quite basic

      Setări

      A2A settings

      A2A settings

      Testarea agentului Google ADK pentru cererea de cheltuieli

      Google ADK Agent - expense claim

      Google ADK Agent - expense claim

      Test LangGraph pentru rata forex

      LangGraph Agent - forex rate

      LangGraph Agent - forex rate


      Testarea agentului CrewAI pentru generarea de imagini

      CrewAI Agent - image generation

      CrewAI Agent - image generation

      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 articlethis 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

    Trending Topics

    blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks