Днес Google пусна своя протокол за агент с отворен код, въображаемо наречен
Не съм толкова сигурен, така че реших да погледна по-дълбоко и да проверя какво ще бъде позицията на A2A в агентическата вселена.
Двигател A2A
Използването на A2A е изненадващо подобно на MCP. Можете да стартирате няколко A2A агента / сървъра, а след това A2A клиентът може да се свърже с всички тях.
Изпълнение на A2A агенти (сървъри)
Намерих и трите примера на местните агенти.
- на
- Google ADK агент, който може да подаде отчети за разходите за вас на
- CrewAI агент, който може да открие генериране на изображение на
- LangGraph агент, който може да разбере най-новия валутен курс на
Начинът, по който 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"
],
"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 Client Demo App
Нека продължим с клиента. Инструкциите за работа на демо уеб приложението са тук.
След като уеб приложението се изпълнява, можете да получите достъп до него от браузъра си. Клиентът изглежда малко като Gemini AI Studio с дизайн на Google Material.
URL: localhost:12000
Първото нещо, което трябва да направим, е да добавим всички агенти към клиента, като посочим основния им URL адрес. Тъй като в моя случай изпълних всички агенти локално, основният им URL адрес беше:
- на
- Google ADK локален хост: 10002 на
- crewAI
- localhost:10001
на - Локален хост: 10 000 на
Странична забележка: В рамките на протокола окончателният URL изглежда малко по този начин:
https://localhost:10002/.well-known/agent.json
Сега можете да видитеall three agentsТе са свързани:
Можете да видите наchat historyтук
Всички тезиevent list
И всичкитеtask list
SettingsДоста основни са
Изпробвайте Google ADK агент за претенции за разходи
Тест LangGraph за Forex курс
Тест на CrewAI агент за генериране на изображения
Комбиниран тест за множество агенти
Искам да видя дали клиентът на A2A може даuse multiple agents to achieve a single goalТака че тествах дали може да комбинира агента за претенции за разходи с агента за валутни курсове.
Задачата ми е да "претенция за разход за бира в Германия по време на бизнес пътуване, 5 евро, 4 април 2025 г.Разговорът премина през няколко кръга напред и назад и в крайна сметка получи правилния размер на щатските долари във формата на претенция за разходи.
Първоначални наблюдения на A2A
Харесва ми, че A2A е чист клиент-сървър модел, който може да се изпълнява и хоства от разстояние.
Конфигурацията на агента е доста проста, като просто посочвате основния URL адрес, а "Агентна карта" се грижи за контекстния обмен и можете да добавяте и премахвате агенти след като клиентът вече е стартиран.
В сегашния демо формат е малко трудно да се разбере как агентите комуникират помежду си и изпълняват сложни задачи.Клиентът се обажда на всеки агент поотделно за различни задачи, така че много прилича на повикване на множество инструменти.
Сравнение на A2A с MCP
Сега, когато опитах A2A, е време да го сравня с MCP, за който писах по-рано в
Докато A2A и MCP имат за цел да подобрят развитието на системи за АИ агенти, те теоретично отговарят на различни нужди.A2A работи на ниво агент към агент, като се фокусира върху взаимодействието между независими субекти, докато MCP работи на ниво LLM, като се фокусира върху обогатяването на контекста и възможностите на отделните езикови модели.
И да дадем поглед върху основните им сходства и различия според тяхната протоколна документация:
наФункция A2A MCP Първично използване Случаен случай Агент-до-агент комуникация и сътрудничество Предоставяне на контекст и инструменти (външен API/SDK) за LLMs Core Architecture Клиент-сървър (агент-до-агент) Клиент-хост-сървър (приложение-LLM-външен ресурс) Стандарт интерфейс JSON спецификация, Агент карта, Задачи, Съобщения, Артефакти JSON-RPC 2.0, Ресурси, Инструменти, Памет, Prompts Ключови функции Мултимодален, динамичен, безопасно сътрудничество, управление на задачи, откриване на възможности Модулност, граници на сигурността, повторна употреба на съединители, SDKs,Характеристики
Характеристики
наА2А
А2А
МЦПМЦП
Първично използване Случаен агент-на-агент комуникация и сътрудничество Предоставяне на контекст и инструменти (външен API / SDK) за LLMsПървичен случай на употребаПървичен случай на употреба
наКомуникация и сътрудничество между агенти
Комуникация и сътрудничество между агенти
наПредоставяне на контекст и инструменти (външен API / SDK) за LLMs
Предоставяне на контекст и инструменти (външен API / SDK) за LLMs
наОсновна архитектуранаКлиент-сървър (от агент към агент)наКлиент-хост-сървър (приложение-LLM-външен ресурс)нанаОсновна архитектура
Основна архитектура
наКлиент-сървър (от агент към агент)
Клиент-сървър (от агент към агент)
Клиент-хост-сървър (приложение-LLM-външен ресурс)Клиент-хост-сървър (приложение-LLM-външен ресурс)
наСтандартен интерфейснаJSON спецификация, карта на агента, задачи, съобщения, артефактинаJSON-RPC 2.0, ресурси, инструменти, памет, бутонинаСтандартен интерфейсСтандартен интерфейс
JSON спецификация, карта на агента, задачи, съобщения, артефактиJSON спецификация, карта на агента, задачи, съобщения, артефакти
JSON-RPC 2.0, ресурси, инструменти, памет, бутониJSON-RPC 2.0, ресурси, инструменти, памет, бутони
Ключови характеристики Мултимодално, динамично, сигурно сътрудничество, управление на задачи, откриване на възможности Модулност, граници на сигурността, повторно използване на съединители, SDK, откриване на инструментиКлючови характеристикиКлючови характеристики
Мултимодално, динамично, безопасно сътрудничество, управление на задачи, откриване на възможностиМултимодално, динамично, безопасно сътрудничество, управление на задачи, откриване на възможности
Модулност, граници на сигурността, повторно използване на съединители, SDK, откриване на инструментиМодулност, граници на сигурността, повторно използване на съединители, SDK, откриване на инструменти
наПротокол за комуникациянаHTTP, JSON-RPC и SSEнаJSON-RPC 2.0 over stdio, HTTP с SSE (или стрийминг HTTP)наПротокол за комуникацияПротокол за комуникация
HTTP, JSON-RPC и SSEHTTP, JSON-RPC и SSE
JSON-RPC 2.0 over stdio, HTTP с SSE (или стрийминг HTTP)JSON-RPC 2.0 over stdio, HTTP с SSE (или стрийминг HTTP)
Ефективно управление на контекста, паралелна обработка, кеширане за висока производителностнаФокус на изпълнението
Фокус на изпълнението
наАсинхронна комуникация за управление на товара
Асинхронна комуникация за управление на товара
наЕфективно управление на контекста, паралелна обработка, кеширане за висока производителност
Ефективно управление на контекста, паралелна обработка, кеширане за висока производителност
Приемане и общност Добра начална подкрепа на индустрията, възникваща екосистема Значително приемане от цялата индустрия, бързо развиваща се общностОсиновяване и общностОсиновяване и общност
наДобра начална подкрепа на индустрията, възникваща екосистема
Добра начална подкрепа на индустрията, възникваща екосистема
Значително приемане от цялата индустрия, бързо развиваща се общностЗначително приемане от цялата индустрия, бързо развиваща се общност
Заключения
Въпреки че Google го направи да звучи като A2A е безплатен протокол за MCP, първият ми тест показва, че те саoverwhelmingly overlapping in purpose and featuresИ двете отговарят на нуждите на разработчиците на приложения за ИИ да използват множество агенти и инструменти за постигане на сложни цели.В момента и на двете им липсва добър механизъм за регистриране и откриване на други агенти и инструменти без ръчна конфигурация.
MCP имаше ранно начало и вече спечели огромна подкрепа както от общността на разработчиците, така и от големите предприятия. A2A е много млад, но вече се похвали със силна първоначална подкрепа от много корпоративни клиенти на Google Cloud.
Смятам, че това е страхотна новина за разработчиците, тъй като те ще имат повече възможности за избор.open and standard agent-agent protocolsСамо времето може да каже кой ще царува върховен, или те дори могат да се обединят в един стандарт.