Today Google released its open source agent to agent protocol, imaginatively named
Не съм толкова сигурен, затова реших да погледна по-дълбоко и да проверя какво ще бъде позицията на A2A в агентичната вселена.
Тестово задвижване A2A
Използването на A2A е изненадващо подобно на MCP. Можете да стартирате няколко A2A агента / сървъра, а след това A2A клиентът може да се свърже с всички тях.
Изпълнение на A2A агенти (сървъри)
Всички три примерни агенти се въртяха локално
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
Начинът, по който 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/demo https://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
Сега можете да видите всички три агента, които са свързани:
всички трима агенти
Можете да видите историята на чата тук
Чат история
All the event list
Събития и събития
И всички задачи
списък със задачи
Настройки е доста основен
Настройки
Тестване на Google ADK агент за претенции за разходи
Тест LangGraph за Forex курс
Тест CrewAI агент за генериране на изображения
Комбо тест за множество агенти
Искам да видя дали клиентът 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 article this 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.
Смятам, че това е страхотна новина за разработчиците, тъй като те ще имат повече възможности за избор в отворени и стандартни протоколи за агенти-агенти.отворени и стандартни протоколи агент-агент