Нова история

Google A2A - първи поглед към друг протокол за агент-агент

от Bruce Li5m2025/04/10
Read on Terminal Reader

Твърде дълго; Чета

Google A2A – първи поглед към друг протокол агент-агент и сравнение с MCP на Anthropic. Ами много си приличат.
featured image - Google A2A - първи поглед към друг протокол за агент-агент
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


Не съм толкова сигурен, затова реших да погледна по-дълбоко и да проверя какво ще бъде позицията на A2A в агентичната вселена.

Тестово задвижване A2A

Използването на A2A е изненадващо подобно на MCP. Можете да стартирате няколко A2A агента / сървъра, а след това A2A клиентът може да се свърже с всички тях.

Изпълнение на A2A агенти (сървъри)

Всички три примерни агенти се въртяха локално


  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


    Начинът, по който A2A сървър позволява на света да знае своите възможности, е чрез "Агентна карта" в JSON формат.


    { "име": "Reimbursement Agent", "описание": "Този агент се занимава с процеса на възстановяване за служителите, като се има предвид сумата и целта на възстановяването.", "url": "http://localhost:10002/", "версия": "1.0.0", "способности": { "streaming": вярно, "pushNotifications": фалшив, "stateTransitionHistory": фалшив }, "defaultInputModes": [ "текст", "text/plain" ], "defaultOutputModes": [ "текст", "text/plain" ], "умения": { "id": "process_reimbursement", "name: "Process Reimbursement Tool{
    
    	"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?"
    
    			]
    
    		}
    
    	]
    
    }
    


    Започнете A2A клиент демо приложение

    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


    Когато уеб приложението се изпълнява, можете да получите достъп до него от браузъра си.Клиентът изглежда малко като Gemini AI Studio с дизайн на Google Material.


    URL: localhost12000

    URL: localhost:12000


    Първо, трябва да добавим всички агенти към клиента, като посочим техния базов URL. Тъй като в моя случай изпълних всички агенти локално, техният базов 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
      • Местоположение:10000
    • Локален хост:10000

    • Следваща бележка: В рамките на протокола окончателният URL изглежда малко по този начин:

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

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


      Сега можете да видите всички три агента, които са свързани:

      всички трима агенти

      A2A agents

      A2A agents


      Можете да видите историята на чата тук

      Чат история

      A2A chats

      A2A chats


      All the event list

      Събития и събития

      A2A event list

      A2A event list


      И всички задачи

      списък със задачи

      A2A task list

      A2A task list


      Настройки е доста основен

      Настройки

      A2A settings

      A2A settings

      Тестване на Google ADK агент за претенции за разходи

      Google ADK Agent - expense claim

      Google ADK Agent - expense claim

      Тест LangGraph за Forex курс

      LangGraph Agent - forex rate

      LangGraph Agent - forex rate


      Тест CrewAI агент за генериране на изображения

      CrewAI Agent - image generation

      CrewAI Agent - image generation

      Комбо тест за множество агенти

      Искам да видя дали клиентът A2A може да използва множество агенти, за да постигне една цел.използва множество агенти за постигане на една цел


      Моята задача беше да “заявяване на разходи за бира в Германия по време на бизнес пътуване, 5 евро, 4 април 2025“. Разговорът премина през няколко кръга назад и напред и в крайна сметка получи правилния размер на щатски долари във формата за искане за разходи.

      Искане за разходи за бира в Германия по време на бизнес пътуване, 5 евро, 4 април 2025 г.



      Първи наблюдения на A2A

      Харесва ми, че A2A е чист клиент-сървър модел, който може да се изпълнява и хоства от разстояние.


      Конфигурацията на агента е доста проста с простото посочване на основния 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 articlethis article


      Докато както A2A, така и MCP имат за цел да подобрят развитието на системи за АИ агенти, те теоретично отговарят на различни нужди.A2A работи на ниво агент към агент, като се фокусира върху взаимодействието между независими субекти, докато MCP работи на ниво LLM, като се фокусира върху обогатяването на контекста и възможностите на отделните езикови модели.


      И да се даде представа за основните им сходства и различия според тяхната протоколна документация:


      Функция

      A2A

      MCP

      Feature

      Фигура

      <п> <п>А2А

      А2А



      ППП

      ПППП

      Първичен случай на употреба

      Коммуникация и сътрудничество между агенти

      Осигуряване на контекст и инструменти (външен API/SDK) за LLMs

      Първичен случай на използване

      Първичен случай на използване

      Коммуникация и сътрудничество между агенти

      Коммуникация и сътрудничество между агенти и агенти

      Осигуряване на контекст и инструменти (външен API/SDK) за LLMs

      Осигуряване на контекст и инструменти (външен API / SDK) за LLMs

      Core Architecture

      Client-server (agent-to-agent)

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

      Основна архитектура

      Основна архитектура

      Клиент-сървър (агент към агент)

      Клиент-сървър (агент към агент)

      Client-host-server (приложение-LLM-външен ресурс)

      Client-host-server (приложение-LLM-външен ресурс)

      Standard Interface

      JSON спецификация, Агентна карта, Задачи, Съобщения, Артефакти

      JSON-RPC 2.0, Ресурси, Инструменти, Памет, Промпти

      Стандартен интерфейс

      Стандартен интерфейс

      JSON спецификация, карта на агента, задачи, съобщения, артефакти

      JSON спецификация, Агентна карта, Задачи, Съобщения, Артефакти

      JSON-RPC 2.0, Ресурси, инструменти, памет, съобщения

      JSON-RPC 2.0, Ресурси, инструменти, памет, бутони

      Key Features

      Мултимодално, динамично, сигурно сътрудничество, управление на задачи, откриване на възможности

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

      Ключови функции

      Ключови функции

      Мултимодално, динамично, безопасно сътрудничество, управление на задачи, откриване на възможности

      Мултимодално, динамично, безопасно сътрудничество, управление на задачи, откриване на възможности

      Модулност, граници на сигурността, повторно използване на съединители, SDK, откриване на инструменти

      Модулност, граници на сигурността, повторно използване на съединители, SDK, откриване на инструменти

      Комуникационен протокол

      HTTP, JSON-RPC, SSE

      JSON-RPC 2.0 over stdio, HTTP with SSE (или streamable HTTP)

      Протокол за комуникация

      Протокол за комуникация

      HTTP, JSON-RPC, SSE

      HTTP, JSON-RPC, SSE

      JSON-RPC 2.0 over stdio, HTTP с SSE (или стрийминг HTTP)

      JSON-RPC 2.0 over stdio, HTTP с SSE (или стрийминг HTTP)

      Концентрация на производителността

      Асинхронна комуникация за обработка на товара

      Ефективно управление на контекста, паралелна обработка, кеширане за висока производителност

      Оценка на ефективността

      Оценка на ефективността

      Асинхронна комуникация за управление на товара

      Асинхронна комуникация за управление на товара

      Ефективно управление на контекста, паралелна обработка, кеширане за висока производителност

      Ефективно управление на контекста, паралелна обработка, кеширане за висока производителност

      Приемане & Общност

      Добра начална подкрепа на индустрията, възникваща екосистема

      Съществено приемане от цялата индустрия, бързо развиваща се общност

      Усвояване & Общност

      Adoption & Community

      Добра начална подкрепа на индустрията, възникваща екосистема

      Добра начална подкрепа на индустрията, възникваща екосистема

      Съществено приемане от цялата индустрия, бързо развиваща се общност

      Съществено приемане от цялата индустрия, бързо развиваща се общност

      Заключения

      Въпреки че Google направи звука, че A2A е безплатен протокол за MCP, първият ми тест показва, че те са преобладаващо се припокриват по отношение на целта и функциите.Те и двете отговарят на нуждите на разработчиците на приложения за AI да използват множество агенти и инструменти за постигане на сложни цели.преобладаващо се припокрива с цел и характеристики


      MCP започна рано и вече получи огромна подкрепа както от общността на разработчиците, така и от големите предприятия.A2A е много млад, но вече се похвали със силна първоначална подкрепа от много корпоративни клиенти на Google Cloud.


      Смятам, че това е страхотна новина за разработчиците, тъй като те ще имат повече възможности за избор в отворени и стандартни протоколи за агенти-агенти.отворени и стандартни протоколи агент-агент

    L O A D I N G
    . . . comments & more!

    About Author

    Bruce Li HackerNoon profile picture
    Bruce Li@zbruceli
    Co-Founder of nkn.org

    ЗАКАЧВАЙТЕ ЕТИКЕТИ

    ТАЗИ СТАТИЯ Е ПРЕДСТАВЕНА В...

    Trending Topics

    blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks