Bagong kasaysayan

Google A2A - isang unang tingin sa isang iba pang Agent-Agent Protocol

sa pamamagitan ng Bruce Li5m2025/04/10
Read on Terminal Reader

Masyadong mahaba; Upang basahin

Google A2A - isang unang pagtingin sa isa pang protocol ng ahente-agent at inihambing sa MCP ng Anthropic. Well, magkahawig sila.
featured image - Google A2A - isang unang tingin sa isang iba pang Agent-Agent Protocol
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


Hindi ako sigurado, kaya nagsisimula ako upang makikita ng mas mataas at tingnan kung ano ang posisyon ng A2A sa agensikong universe.

Test drive A2A

Ang paggamit ng A2A ay nangangahulugan tulad ng MCP. Maaari mong i-execute ang ilang mga A2A agent/server, at pagkatapos ay ang A2A client ay maaaring i-connect sa lahat ng mga ito. Ang magandang balita ay na karaniwang hindi mo na kailangan upang i-execute ang A2A agents kasama ang A2A client.

Pumunta sa mga A2A na mga agens (server)

I spinned up ang lahat ng tatlong sample agents locally


  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


    Ang paraan na ang isang A2A server ay nagpapakita sa mundo ng kanyang mga kapasidad ay sa pamamagitan ng isang "Agent Card" sa JSON format.


    { "name": "Reimbursement Agent", "description": "Ang agent na ito ay nagtatrabaho ang proseso ng pagbabayad para sa mga empleyado na ibinigay ang halaga at layunin ng pagbabayad.", "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{
    
    	"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?"
    
    			]
    
    		}
    
    	]
    
    }
    


    I-launch ang A2A Client demo app

    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


    Kapag bumalik ang web app, maaari mong i-access ito mula sa iyong browser. Ang client ay mataas ng isang bit tulad ng Gemini AI Studio na may signature Google Material design.


    URL: localhost12000

    URL: localhost:12000


    Ang unang bagay, kailangan naming magdagdag ng lahat ng mga agente sa client sa pamamagitan ng pag-specify ang kanilang base URL. Dahil sa aking kaso ako ay nag-execute ang lahat ng mga agente locally, ang kanilang base URL ay:


    • 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
    • sa loob ng taon na ang nakalipas


      Side note: sa loob ng protocol, ang katapusan na URL ay nakikita ng isang bit na ito:

      https://localhost:10002/.well-known/agent.json

      https://localhost:10002/.well-known/agent.json


      Ngayon maaari mong makita ang ang lahat ng tatlong mga agens na may koneksyon:

      ang napili ng mga taga-hanga: All Three Agents

      A2A agents

      A2A agents


      You can see the chat history dito

      Mga pahinang tumuturo sa chat history

      A2A chats

      A2A chats


      ang napili ng mga taga-hanga: All the event list


      ang napili ng mga taga-hanga:

      A2A event list

      A2A event list


      At ang lahat ng task list

      ang napili ng mga taga-hanga:

      A2A task list

      A2A task list


      Settings ay isang mahusay na pagsusuri

      ang napili ng mga taga-hanga: Settings

      A2A settings

      A2A settings

      Test Google ADK agent para sa mga claim sa gastos

      Google ADK Agent - expense claim

      Google ADK Agent - expense claim

      Test LangGraph para sa forex rate

      LangGraph Agent - forex rate

      LangGraph Agent - forex rate


      Test CrewAI agent para sa paggawa ng imahe

      CrewAI Agent - image generation

      CrewAI Agent - image generation

      A combo test para sa ilang mga agens

      I want to see if the A2A client can use multiple agents to a single goal. Kaya ako tested kung ito ay maaaring mag-combine ang expense claim agent sa forex rate agent. at ito ay gumagana.

      gamitin ang ilang mga agens upang makakuha ng isang single goal


      Ang aking trabaho ay ang “kumpleto para sa isang gastos para sa isang beer sa Alemanya habang sa isang negosyo trip, 5 euros, Abril 4, 2025”. Ang pag-uusap ay naglalakbay sa loob ng ilang round ng back and forth, at sa katapusan ay nakuha ang parehong halaga ng US dollars sa form ng claim.

      Tulungan para sa isang gastos para sa isang beer sa Germany sa panahon ng isang negosyo, 5 euros, Abril 4, 2025



      Initial Observations ng A2A

      Gustung-gusto ko na ang A2A ay isang purong Client-Server modelo na ang parehong maaaring i-run at i-host remotely.


      Ang configuration ng mga agente ay malaki na simpleng sa lamang na itakda ang pangunahing URL, at ang "Agent Card" ay nagtatrabaho sa konteksto exchange. at maaari mong i-add at i-remove ang mga agente pagkatapos ng client ay na-launched.


      Sa kasalukuyang format ng demo, ito ay medyo mahirap na malaman kung paano makipag-ugnayan ang mga agente sa ibang tao at bumuo ng mga kompleksong mga gawain.

      Ang kliyente ay nag-aalok ng bawat agente para sa iba't ibang mga gawain, kaya ito ay tulad ng pag-aalok ng ilang mga tool.


      Kumpara ang A2A sa 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


      Kapag ang parehong A2A at MCP ay nangangahulugan upang mapabuti ang pag-unlad ng sistema ng agens ng AI, sa teorya, ang mga ito ay tumutulong sa mga natagpuan na pangangailangan. A2A ay gumagana sa antas ng agens-to-agent, na nagkakahalaga sa pag-interaksyon sa pagitan ng mga independiyenteng entities, habang ang MCP ay gumagana sa antas ng LLM, na nagkakahalaga sa pag-aralan ng konteksto at mga kapasidad ng mga individual na modelo ng wika.


      At magbigay ng isang pag-iisip sa kanilang pangunahing kasangkapan at mga pagkakaiba ayon sa kanilang mga protocol na dokumento:

      P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P

      P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P>P

      Feature

      A2A

      MCP

      Mga pahinang tumuturo sa


      Mga pahinang tumuturo sa

      A2A

      Mga pahinang tumuturo sa

      A2A

      Mga pahinang tumuturo sa



      ang napili ng mga taga-hanga:

      Primary Use Case

      Agent-to-agent na komunikasyon at kolaborasyon

      Magbigay ng konteksto at mga tool (external API/SDK) sa LLMs

      Mga pahinang tumuturo sa

      Primary Use Case

      Ang pangunahing kaso ng paggamit

      Agent-to-agent komunikasyon at kolaborasyon

      Agent-to-agent komunikasyon at kolaborasyon

      Magbibigay ng konteksto at mga tool (external API/SDK) sa LLMs

      Magbigay ng konteksto at mga tool (external API / SDK) sa LLMs

      Core Architecture

      Client-server (agent-to-agent)

      Client-host-server (application-LLM-external resource)

      Mga pahinang tumuturo sa pagitan ng


      Mga pahinang tumuturo sa

      Core Architecture

      Client-server (agent-to-agent)

      Client-server (Agent-to-Agent) sa pamamagitan ng

      Client-host-server (application-LLM-external resource)

      Client-host-server (application-LLM-external resource)

      ang pinakahuling ito

      Standard Interface

      JSON specification, Agent Card, Tasks, Messages, Artifacts

      JSON-RPC 2.0, Resources, Tools, Memory, Prompts

      Mga pahinang tumuturo sa


      Mga pahinang tumuturo sa


      Specification ng JSON, Agent Card, Tasks, Messages, Artifacts

      Specification ng JSON, Agent Card, Tasks, Messages, Artifacts

      JSON-RPC 2.0, Mga Resources, Tools, Memory, Prompts

      JSON-RPC 2.0, Mga Resources, Tools, Memory, Prompts

      Key Features

      Multimodal, dynamic, secure collaboration, task management, capability discovery

      Modularity, security limits, reusability ng connectors, SDKs, tool discovery

      Mga pahinang tumuturo sa


      Mga pahinang tumuturo sa

      Multimodal, dynamic, secure collaboration, task management, capability discovery

      Multimodal, dynamic, safe collaboration, task management, capability discovery

      Modularity, security boundaries, reusability ng connectors, SDKs, tool discovery

      Modularity, security boundaries, reusability ng connectors, SDKs, tool discovery

      Communication Protocol

      HTTP, JSON-RPC, SSE

      JSON-RPC 2.0 sa pamamagitan ng stdio, HTTP sa pamamagitan ng SSE (o streamable HTTP)

      Protokol ng Komunikasyon

      Mga pahinang tumuturo sa

      Communication Protocol

      HTTP, JSON-RPC, SSE

      HTTP, JSON-RPC, SSE

      JSON-RPC 2.0 over stdio, HTTP na may SSE (o streamable HTTP)

      JSON-RPC 2.0 over stdio, HTTP na may SSE (o streamable HTTP)

      Performance Focus

      Asynchronous communication for load handling

      Efficient context management, parallel processing, caching para sa high throughput

      Mga pahinang tumuturo sa pagitan ng



      Mga pahinang tumuturo sa

      Asynchronous communication para sa load handling

      Asynchronous communication para sa load handling

      Efficient context management, parallel processing, caching para sa high throughput

      Efficient context management, parallel processing, caching para sa high throughput

      Adoption & Community

      Good initial industry support, nascent ecosystem

      Substantial adoption mula sa buong industriya, mabilis na tumutulong komunidad

      Mga pahinang tumuturo sa pag-ibig at kapayapaan

      Ang pag-iisip ng mga tao & Community

      Good initial industry support, nascent ecosystem

      Good initial industry support, nascent ecosystem

      Substantial adoption mula sa buong industriya, mabilis na lumaki ng komunidad

      Substantial adoption mula sa buong industriya, mabilis na lumaki ng komunidad

      Mga pahinang tumuturo sa

      Kapag ang Google ay nagpapakita na ang A2A ay isang free-to-charge protocol sa MCP, ang aking unang pagsubok ay nagpapakita na ang mga ito ay maapektuhan na naglalaro sa mga propesyonal at mga tampok. Ang parehong mga ito ay tumutulong sa mga pangangailangan ng mga developer ng application ng AI upang gamitin ang ilang mga agens at mga tool upang makakuha ng mga kompleksong mga target. Ngayon, ang parehong mga ito ay walang isang mahusay na mekanismo upang i-register at makikita ang iba pang mga agens at mga tool nang walang manual na pagkonfigurasyon.

      pagkakaiba-iba sa propesyonal at mga tampok


      Ang MCP ay nagsisimula nang mas tumatagal at nagkakaroon ng ganap na suporta mula sa parehong komunidad ng developer at mga malaking enterprise. A2A ay napaka-mahal, ngunit ngayon ay may malakas na pagsusuri mula sa maraming mga customer ng Google Cloud enterprise.


      Alam ko na ito ay isang mahusay na balita para sa mga developer, dahil magkaroon sila ng higit pa ng mga pagpipilian sa open at standard na mga protocol ng agent-agent

      . Only time can tell which will reign supreme, or they might even merge into a single standard.


      open at standard na mga protocol ng agent-agent

    Trending Topics

    blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks