
A2A изнутри: как AI-агенты из разных сервисов договариваются друг с другом
vvlrff 13 минут назад A2A изнутри: как AI-агенты из разных сервисов договариваются друг с другом Простой 13 мин 495 Python * Open source * Искусственный интеллект Машинное обучение * Обзор У вас работает AI-агент. У...
Вот важная новость с фронта ИИ: vvlrff 13 минут назад A2A изнутри: как AI-агенты из разных сервисов договариваются друг с другом Простой 13 мин 495 Python * Open source * Искусственный интеллект Машинное обучение * Обзор У вас работает AI-агент. У соседней команды — свой, на другом фреймворке, в другом сервисе. Рано или поздно вашему агенту понадобится позвать их агента: "Сходи найди факты, я подожду, дальше сам"Казалось бы — обычный HTTP-запрос, и дело с концом.
Чужой агент — это не ручка, которая отдаёт число за 50 мс: он думает минутами, иногда переспрашивает посреди работы, иногда отваливается по таймауту. Натянуть такое на голый HTTP — отдельная боль. Чтобы не изобретать, и придумали A2A (Agent2Agent) — открытый протокол Google для вызовов «агент ↔ агент».
Технические детали
Сначала — что такое агентChatGPT умеет только сказать: на входе промпт, на выходе текст. Агент — следующий шаг: модель не просто отвечает, а действует. Даёшь ей:"Посчитай выручку за квартал"— и она сама решает, сходить в базу, дёрнуть API, запустить расчёт, и только потом ответить.
Сама LLM при этом по-прежнему ничего не делает руками — она лишь говорит"вызовите calc_add с такими аргументами"Превращает эти слова в реальные действия вокруг модели: набор инструментов плюс цикл "вызвал модель → выполнил инструмент → вернул результат". Этот обвес называют harness, отсюда и формула: агент = LLM + harness. Как собрать harness с нуля — отдельная тема, подробно разобранная у Никиты Пастухова, нам дальше хватит самой формулы.
Пока агент живёт в вашем процессе, позвать его — обычный вызов функции: просто и предсказуемо. И кажется, что соседнего агента, из другого сервиса, можно подключить так же легко. Когда агентов становится двоеПриходит соседняя команда.
Отраслевые последствия
У них свой агент — ищет факты во внешних источниках, написан на LangGraph, крутится отдельным сервисом в их кластере. Вам нужно из своего агента позвать их агента: отправить запрос, дождаться ответа, использовать результат. Проблема в том, что агент — не ручка GET /price, которая мгновенно отдаёт число.
Он ведёт себя не как "один запрос — один ответ", и контракт между сервисами обязан это учитывать:- Ответ бывает долгим — секунды, иногда минуты: агент ходит в LLM, дёргает свои инструменты. Держите всё это в одном HTTP-запросе — и работа висит на живом соединении. Таймаут на прокси, обрыв сети — и задача, которая уже выполняется, потеряна, переподключиться к ней нечем.
- Результат хочется стримить. Одному агенту удобно вернуть всё разом, другому — отдавать по мере готовности: частичный текст, догружаемые файлы. Контракт должен уметь оба режима.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





