Цифровой ландшафт выходит за рамки ориентированного на человека просмотра веб-страниц и переходит в сферу автономных агентов, беспрепятственно сотрудничающих в различных системах. Этот сдвиг требует новой инфраструктуры, и формируется убедительное решение, состоящее из четырех ключевых компонентов с открытым исходным кодом.
- Agent2Agent (A2A) от Google: Протокол, предназначенный для облегчения обнаружения и взаимодействия агентов.
- Model Context Protocol (MCP) от Anthropic: Стандарт, определяющий, как агенты используют инструменты и внешние контекстные данные.
- Apache Kafka: Надежная, управляемая событиями коммуникационная основа, обеспечивающая надежную и развязанную координацию.
- Apache Flink: Движок обработки в реальном времени, жизненно важный для обогащения, мониторинга и реагирования на потоки активности агентов.
Эта статья исследует синергетические отношения между этими технологиями, подчеркивая ограничения, связанные с полагаться исключительно на протоколы, и демонстрируя, как эта архитектура закладывает основу для перехода от изолированных ботов к динамичным, интеллектуальным экосистемам агентов.
Ожидаемое распространение AI агентов внутри организаций предполагает, что большинство компаний будут развертывать множество специализированных агентов, а не один всеобъемлющий. Эти агенты будут автоматизировать такие задачи, как генерация кода, управление заявками в службу поддержки, анализ данных клиентов, адаптация сотрудников и мониторинг инфраструктуры.
Однако текущие инструменты не подходят для поддержки такого будущего.
Задача выходит за рамки проблемы ‘острова агентов’, когда агенты функционируют изолированно и не имеют возможностей для связи. Она охватывает более обширную фрагментацию экосистемы:
- Отсутствие меж-агентной коммуникации: Агенты обычно работают в изолированных средах. Агент управления взаимоотношениями с клиентами (CRM) не знает о выводах, полученных агентом хранилища данных. Агент поддержки не может реагировать на аномалии, обнаруженные агентом мониторинга.
- Хрупкое и настроенное использование инструментов: Без стандартизированных методов доступа к инструментам или внешним интерфейсам прикладного программирования (API) агенты полагаются на жестко закодированные интеграции и не используемую повторно логику.
- Несогласованные фреймворки: Различные среды выполнения агентов используют разнообразные модели, рассматривая агентов как чат-ботов, ориентированные ациклические графы (DAG) или рекурсивные планировщики. Это приводит к отсутствию переносимого уровня выполнения или общего состояния.
- Дизайн, ориентированный на среды Notebook: Многие агенты разрабатываются как одноразовые прототипы, характеризующиеся линейными, синхронными и эфемерными операциями. Однако реальные системы требуют надежной обработки повторных попыток, сбоев, координации, ведения журналов и масштабирования, что требует поддерживающей инфраструктуры.
- Отсутствие совместной основы: Нет ни шины событий, ни общей памяти, ни отслеживаемой истории действий агентов и обоснований. Информация ограничивается прямыми HTTP-вызовами или погребена в журналах.
Как подчеркивается в проекте 12-Factor Agents, агенты должны придерживаться облачных принципов, демонстрируя наблюдаемость, слабую связанность, воспроизводимость и осведомленность об инфраструктуре. К сожалению, большинство из них построены как хрупкие скрипты, собранные вручную и предполагаемые для работы независимо.
Это приводит к неэффективности, дублированию усилий и хрупкости.
Agent2Agent частично решает эту проблему, предоставляя агентам стандартизированный протокол для обнаружения и связи. Однако переход за пределы поверхностных демонстраций к масштабируемости и надежности, требуемым производственными системами, требует больше, чем просто протоколы. Это требует комплексной инфраструктуры.
Текущая экосистема агентов отражает ранние этапы развития Интернета, характеризующиеся мощными, но изолированными и несовместимыми системами. Подобно ранним проблемам, с которыми сталкивались браузеры, взаимодействующие с серверами без стандартного протокола, AI агенты сегодня испытывают трудности с обнаружением, связью и эффективным сотрудничеством друг с другом.
Google’s Agent2Agent (A2A): Универсальный протокол для связи между агентами
Протокол A2A от Google является значительной попыткой решить эту проблему. Он отличается тем, что не является еще одним фреймворком для агентов, а скорее универсальным протоколом, предназначенным для подключения любого агента, независимо от его происхождения или среды развертывания.
Подобно тому, как HTTP стандартизировал связь веб-сайтов, A2A определяет общий язык для агентов, позволяя им:
- Объявлять о возможностях: Через
AgentCard
, дескриптор JSON, который описывает возможности агента и методы взаимодействия. - Отправлять и получать задачи: Через структурированные взаимодействия с использованием JSON-RPC, где один агент запрашивает помощь, а другой отвечает результатами или ‘артефактами’.
- Передавать обновления с помощью Server-Sent Events (SSEs): Облегчение обратной связи в режиме реального времени во время длительных или совместных задач.
- Обмениваться богатым контентом: Поддержка обмена файлами, структурированными данными и формами, помимо простого текста.
- Поддерживать безопасность по умолчанию: Встроенная поддержка HTTPS, аутентификации и разрешений.
Сила A2A заключается в том, что он избегает переизобретения устоявшихся решений. Он использует хорошо зарекомендовавшие себя веб-стандарты, аналогичные HTTP и SMTP, что облегчает принятие и ускоряет интеграцию.
Однако A2A представляет собой лишь один аспект общего решения.
Anthropic’s Model Context Protocol (MCP): Стандартизация использования инструментов и доступа к контексту
MCP от Anthropic решает важный аспект того, как агенты используют инструменты и получают доступ к контекстной информации. MCP стандартизирует процесс, посредством которого агенты вызывают API, вызывают функции и интегрируются с внешними системами, по сути определяя, как они работают в своей среде. В то время как A2A управляет меж-агентной связью, MCP фокусируется на взаимодействии агента с внешним миром.
По сути:
- MCP расширяет возможности индивидуального интеллекта агента.
- A2A обеспечивает коллективный интеллект.
Подобно тому, как HTTP и SMTP требовали широкого внедрения, инфраструктуры и инструментов для разработчиков для достижения широкого успеха, A2A и MCP потребуют надежной экосистемы для полной реализации своего потенциала.
Даже при наличии усилий по стандартизации, таких как A2A и MCP, остается важный вопрос: как можно эффективно масштабировать коммуникации агентов в сложных и динамичных корпоративных средах? Простое полагание на прямые, двухточечные соединения, определенные этими протоколами, создает проблемы, связанные с масштабируемостью, устойчивостью и наблюдаемостью. Это подчеркивает необходимость надежной базовой коммуникационной инфраструктуры.
Представьте себе компанию, где сотрудники могут общаться только через прямые, индивидуальные сообщения. Чтобы поделиться обновлением, потребовалось бы отправить сообщение каждому человеку отдельно. Координация проекта между несколькими командами включала бы ручную передачу информации между каждой группой.
Масштабирование такой системы до сотен сотрудников привело бы к хаосу.
Этот сценарий отражает проблемы, с которыми сталкиваются экосистемы агентов, построенные на прямых соединениях. Каждый агент должен знать, с какими агентами связаться, как с ними связаться и их доступность. По мере увеличения числа агентов количество необходимых соединений растет в геометрической прогрессии, что приводит к хрупкой, трудной в управлении и немасштабируемой системе.
A2A и MCP предоставляют агентам язык и структуру для связи и действий. Однако одного языка недостаточно. Для координации многочисленных агентов в масштабах предприятия требуется инфраструктура для управления потоком сообщений и ответами агентов.
Kafka и Flink: Основа для масштабируемого сотрудничества между агентами
Apache Kafka и Apache Flink обеспечивают эту решающую инфраструктуру.
Kafka и Flink: Объяснение
Apache Kafka, первоначально разработанная в LinkedIn и теперь проект Apache Software Foundation, представляет собой распределенную платформу потоковой передачи событий. Она функционирует как надежная, высокопроизводительная шина сообщений, позволяющая системам публиковать и подписываться на потоки событий в реальном времени. Kafka широко используется в различных приложениях, включая финансовые системы, обнаружение мошенничества и конвейеры телеметрии, благодаря своей способности отделять производителей от потребителей и обеспечивать долговечность, возможность повторного воспроизведения и масштабируемость данных.
Flink, еще один проект Apache, представляет собой движок обработки потоков в реальном времени, предназначенный для обработки событий с отслеживанием состояния, высокой пропускной способностью и низкой задержкой. В то время как Kafka управляет перемещением данных, Flink обрабатывает преобразование, обогащение, мониторинг и оркестровку данных, когда они проходят через систему.
Вместе Kafka и Flink образуют мощную комбинацию. Kafka служит кровотоком, а Flink действует как рефлекторная система.
Аналогично роли A2A как HTTP мира агентов, Kafka и Flink обеспечивают основу, управляемую событиями, для масштабируемой связи и вычислений агентов, решая проблемы, которые прямая, двухточечная связь не может:
- Развязка: С Kafka агентам не нужно знать потребителей своих выходных данных. Они публикуют события (например,
"TaskCompleted"
,"InsightGenerated"
) в тему, позволяя любому заинтересованному агенту или системе подписаться. - Наблюдаемость и возможность повторного воспроизведения: Kafka ведет надежный, упорядоченный по времени журнал всех событий, гарантируя, что поведение агента полностью отслеживается, поддается аудиту и может быть воспроизведено.
- Принятие решений в реальном времени: Flink позволяет агентам реагировать в реальном времени на потоки событий, фильтруя, обогащая, объединяя или вызывая действия на основе динамических условий.
- Устойчивость и масштабирование: Задания Flink могут масштабироваться независимо, восстанавливаться после сбоев и поддерживать состояние в течение длительных рабочих процессов, что необходимо для агентов, выполняющих сложные многоэтапные задачи.
- Координация на основе потоков: Вместо ожидания синхронных ответов агенты могут координировать свои действия через потоки событий, публикуя обновления, подписываясь на рабочие процессы и совместно продвигая состояние.
В итоге:
- A2A определяет, как общаются агенты.
- MCP определяет, как они взаимодействуют с внешними инструментами.
- Kafka определяет, как циркулируют их сообщения.
- Flink определяет, как эти потоки обрабатываются, преобразуются и используются для принятия решений.
Протоколы, такие как A2A и MCP, имеют решающее значение для стандартизации поведения и связи агентов. Однако без подложки, управляемой событиями, как Kafka, и среды выполнения, ориентированной на потоки, как Flink, агенты остаются изолированными, неспособными эффективно координировать свои действия, масштабироваться или рассуждать во времени.
Четырехуровневая архитектура для AI агентов корпоративного уровня
Для полной реализации видения AI агентов корпоративного уровня, совместимых друг с другом, требуется четырехуровневая архитектура:
- Протоколы: A2A, MCP – определяющие что.
- Фреймворки: LangGraph, CrewAI, ADK – определяющие как.
- Инфраструктура обмена сообщениями: Apache Kafka – поддерживающая поток.
- Вычисления в реальном времени: Apache Flink – поддерживающие мышление.
Вместе эти уровни образуют новый интернет-стек для AI агентов, обеспечивая основу для построения систем, которые не только интеллектуальны, но и способны к совместной работе, наблюдаемы и готовы к производству.
В настоящее время мы находимся в поворотной точке эволюции программного обеспечения.
Подобно тому, как исходный интернет-стек, состоящий из протоколов, таких как HTTP и SMTP, и инфраструктуры, такой как TCP/IP, открыл эру глобальной связи, для AI агентов появляется новый стек. Однако вместо людей, перемещающихся по веб-страницам или отправляющих электронные письма, этот стек предназначен для автономных систем, сотрудничающих для рассуждений, принятия решений и действий.
A2A и MCP предоставляют протоколы для связи между агентами и использования инструментов, в то время как Kafka и Flink предоставляют инфраструктуру для координации, наблюдаемости и отказоустойчивости в реальном времени. Вместе они обеспечивают переход от разрозненных демонстраций агентов к масштабируемым, интеллектуальным производственным экосистемам.
Эта эволюция касается не только решения инженерных задач. Речь идет о создании новой парадигмы программного обеспечения, в которой агенты сотрудничают, не зная границ, предоставляя аналитические данные и управляя действиями в режиме реального времени, тем самым позволяя интеллекту стать распределенной системой.
Однако это видение требует активной разработки, подчеркивая открытость, совместимость и использование уроков, извлеченных из предыдущей интернет-революции.
Поэтому при разработке агента крайне важно учитывать его интеграцию в более широкую систему. Может ли он эффективно общаться? Может ли он координировать свои действия с другими агентами? Может ли он развиваться и адаптироваться к меняющимся условиям?
Будущее не просто приводится в действие агентами; оно связано с агентами.