Сегодня 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
Давайте продолжим с клиентом. Инструкции для работы демо-веб-приложения находятся здесь.
Как только веб-приложение запускается, вы можете получить доступ к нему из своего браузера.Клиент выглядит немного как Gemini AI Studio с подписью Google Material дизайн.
URL: localhost:12000
Прежде всего, мы должны добавить всех агентов к клиенту, указав их базовый URL. Поскольку в моем случае я запустил всех агентов локально, их базовый URL был:
- →
- Google ADK localhost: 10002 →
- экипаж localhost:10001 →
- LangGraph LocalHost: 10 000 →
Внутри протокола конечный URL выглядит немного так:
https://localhost:10002/.well-known/agent.json
Теперь вы можете увидетьall three agentsОни связаны между собой:
Вы можете увидетьchat historyздесь
Все этиevent list
И все этиtask list
SettingsДовольно базовый
Тестирование Google ADK агента для оплаты расходов
Тест LangGraph для валютного курса
Тест агента CrewAI для генерации изображений
Комбо-тест для нескольких агентов
Хочу проверить, может ли клиент A2Ause multiple agents to achieve a single goalТак что я проверил, может ли он совместить агента расходов с агентом валютного курса.
Моей задачей было «требование о расходе на пиво в Германии во время деловой поездки, 5 евро, 4 апреля 2025 годаБеседа прошла через несколько раундов назад и вперед, и в конечном итоге получила правильную сумму долларов США в форме претензии на расходы.
Первоначальные наблюдения A2A
Мне нравится, что A2A является чистой моделью Client-Server, которая может быть как запущена, так и размещена удаленно.
Конфигурация агента довольно проста, просто указывая базовый URL, а «карта агента» заботится о контекстном обмене, и вы можете добавлять и удалять агентов после того, как клиент уже запущен.
В нынешнем демо-формате немного сложно понять, как агенты общаются друг с другом и выполняют сложные задачи.Клиент вызывает каждого агента отдельно для разных задач, таким образом, очень похоже на вызов нескольких инструментов.
Сравнение A2A с MCP
Теперь я попробовал A2A, пришло время сравнить его с MCP, о котором я писал ранее в
В то время как A2A и MCP направлены на улучшение развития системы агентов ИИ, в теории они отвечают разным потребностям.A2A работает на уровне агента-агента, ориентируясь на взаимодействие между независимыми субъектами, в то время как MCP работает на уровне LLM, ориентируясь на обогащение контекста и возможностей отдельных языковых моделей.
И дать представление об их основных сходствах и различиях в соответствии с их протокольной документацией:
Особенности
А2А
МЦП
МЦП
Первичный случай использования
Агент-агент коммуникация и сотрудничество
Предоставление контекста и инструментов (внешние API / SDK) для LLM
Основная архитектура
Основная архитектура
Клиент-сервер (от агента к агенту)
Клиент-хост-сервер (приложение-LLM - внешний ресурс)
Стандартный интерфейс
Спецификация JSON, карта агента, задачи, сообщения, артефакты
Спецификация JSON, карта агента, задачи, сообщения, артефакты
JSON-RPC 2.0, ресурсы, инструменты, память, промпты
JSON-RPC 2.0, ресурсы, инструменты, память, промпты
Ключевые особенности
Ключевые особенности
Мультимодальное, динамичное, безопасное сотрудничество, управление задачами, открытие возможностей
Модульность, границы безопасности, возможность повторного использования разъемов, SDK, открытие инструментов
Протокол связи
HTTP, JSON-RPC и SSE
JSON-RPC 2.0 over stdio, HTTP с SSE (или потоковый HTTP)
Фокус на производительность
Асинхронная коммуникация для управления нагрузками
Эффективное управление контекстом, параллельная обработка, кеширование для высокой пропускной способности
Усыновление и сообщество
Хорошая начальная поддержка отрасли, зарождающаяся экосистема
Хорошая начальная поддержка отрасли, зарождающаяся экосистема
Значительное внедрение со стороны всей отрасли, быстрорастущее сообщество
Выводы
Even though Google made it sound like A2A is a complimentary protocol to MCP, my first test shows they are overwhelmingly overlapping in purpose and featuresОни оба отвечают потребностям разработчиков приложений ИИ для использования нескольких агентов и инструментов для достижения сложных целей.В настоящее время им не хватает хорошего механизма для регистрации и обнаружения других агентов и инструментов без ручной конфигурации.
MCP имел ранний старт и уже получил огромную поддержку как со стороны сообщества разработчиков, так и крупных предприятий.A2A очень молодая, но уже может похвастаться сильной первоначальной поддержкой со стороны многих корпоративных клиентов Google Cloud.
Я считаю, что это хорошая новость для разработчиков, так как у них будет больше выбора.open and standard agent-agent protocolsТолько время может сказать, какие из них будут верховными, или они могут даже объединиться в единый стандарт.