Питат ни това на приблизително всяка втора discovery среща: „Да стандартизираме ли на A2A или MCP?“
Предпоставката на въпроса е грешна. Те не са конкуренти. Решават различни проблеми на различни слоеве и здравата агентна система използва и двете.
За какво е MCP
MCP (Model Context Protocol) е стандарт за tool surfaces. Той отговаря на: как LLM-базиран агент открива и извиква tools, които не са част от тренировката му? Document retrieval, database queries, calendar APIs, вътрешни услуги — всеки tool публикува MCP сървър, агентът се свързва, изброява capabilities, извиква.
Формата е: един агент ↔ много tools. Tool-ът е пасивен; агентът решава кога да го извика.
MCP ви дава: schema discovery, типизирани параметри, структурирани отговори, граници за автентикация, sandboxing. По същество е RPC стандарт, настроен за агентни клиенти.
За какво е A2A
A2A (Agent-to-Agent протоколи, от които има няколко — A2A на Google, AGNTCY, други) е стандарт за колаборация между агенти. Той отговаря на: как множество полу-автономни агенти координират, прехвърлят подзадачи и агрегират резултати?
Формата е: агент ↔ агент, със състояние. И двете страни имат собствени reasoning loops. Handoffs включват контекст, междинни резултати, понякога собственост над подзадача.
A2A ви дава: agent cards (реклами на capabilities), task lifecycles, message passing, опционален streaming и human-in-the-loop. Не е RPC — по-близо е до типизирана actor система.
Защо объркването
И двете включват агенти, говорещи с нещо по протокол със структурирани payloads. И двете произвеждат JSON. И двете имат client и server роли. От 30 000 фута изглеждат като едно и също нещо.
Но нивото на автономност от всяка страна е реалната разлика:
- MCP сървър: пасивен. Отговаря на извиквания. Няма собствен reasoning loop.
- A2A агент: активен. Може да отказва задачи, да предлага алтернативи, да прехвърля на други агенти, да иска уточнения.
Ако другата страна е „вземи този ред от база данни“, това е MCP. Ако другата страна е „разследвай тази аномалия и ми кажи какво откриваш“, това е A2A.
Архитектурата, която реално работи
Във всяка multi-agent система, която сме доставяли, разпределението изглежда така:
- Върхът на stack-а: orchestrator (често самият той агент) маршрутизира потребителски заявки към специализирани агенти.
- Специализираните агенти комуникират по A2A. Handoffs запазват контекст; supervisors проследяват task state.
- Специалистите използват tools по MCP. Retrieval агентът има MCP връзка към vector DB и MCP връзка към fulltext search service. „Ops агентът“ има MCP връзка към ticket система.
A2A е как агентите координират. MCP е как всеки агент действа.
Прагматичният поглед
Приемете MCP първо — той решава най-непосредствения проблем (говоренето с tools), има по-широка екосистема днес (повечето LLM доставчици доставят native MCP support) и пътят от „ad-hoc tool calls“ до MCP е прост.
Приемете A2A, когато имате повече от един агент, който трябва да прехвърля работа. Ако системата ви има един агент + много tools, A2A е прекалено — не координирате никого. В мига, в който добавите втори специалист агент, който трябва да говори с първия, A2A започва да се отплаща.
Не избирайте. Сложете ги един върху друг.