теория
Агентных протоколов сейчас несколько, и проще всего разложить их по осям: кто с кем говорит.
Агент ↔ инструменты и данные: (Model Context Protocol). Клиент-серверная вертикаль: публикует инструменты, ресурсы и промпты-заготовки; агент-клиент подключается и проходит знакомый ритуал — спросил список инструментов, получил схемы (имя, параметры, описание), начал звать. Это стандартная розетка, в которую втыкается любой агент любого фреймворка, — своего рода «OpenAPI для агентов». Заметь: внутри шлюза — те же инструменты-контракты, что мы строили для своего ассистента; MCP лишь стандартизует, как их обнаруживают и зовут снаружи.
Агент ↔ агент: . Горизонталь: два автономных агента из разных экосистем договариваются о задаче. У каждого — , машиночитаемая визитка: кто я, что умею, как со мной говорить. Поверх — задачи с жизненным циклом: поставил, ушёл, вернулся за результатом — так наш агент мог бы днями договариваться со складским агентом логистической компании о слоте.
Агент ↔ человек: . Стриминг состояния агента в пользовательский интерфейс: не просто финальный текст, а шаги, промежуточные результаты, кнопки подтверждения. То, что наш оператор видит при HITL-подтверждении возврата, — идея ровно этого слоя.
Матрица выбора получается короткой. Дать чужим агентам свои данные и действия — MCP. Связать двух автономных агентов в долгую задачу — A2A. Показать работу агента человеку — AG-UI. Для «Ярмарки» сегодня нужен первый: партнёрские агенты хотят наши инструменты, а не переписку с нашим ассистентом.
И трезвая оговорка: этой карте меньше лет, чем нашему монолиту. Протоколы молоды, границы между ними ещё плывут, что-то сольётся, что-то умрёт. Но принцип, ради которого они существуют, старше их всех, и ты его уже знаешь: контракт плюс discovery вместо кастомного клея. Именно поэтому выбор стандарта — даже несовершенного — почти всегда бьёт собственный диалект.