(Нажмите на изображение выше, чтобы посмотреть видео этого урока)
Как только вы начнете работать над проектом, включающим несколько агентов, вам придется учитывать шаблон многоагентного дизайна. Однако может быть не сразу понятно, когда переходить к многоагентной системе и какие преимущества это дает.
В этом уроке мы постараемся ответить на следующие вопросы:
После этого урока вы сможете:
Какова общая картина?
Многоагентные системы — это шаблон дизайна, который позволяет нескольким агентам работать вместе для достижения общей цели.
Этот шаблон широко используется в различных областях, включая робототехнику, автономные системы и распределенные вычисления.
Итак, в каких сценариях использование многоагентных систем является хорошим решением? Ответ заключается в том, что существует множество случаев, когда использование нескольких агентов оказывается полезным, особенно в следующих ситуациях:
Система с одним агентом может хорошо работать для простых задач, но для более сложных задач использование нескольких агентов дает ряд преимуществ:
Рассмотрим пример: бронирование поездки для пользователя. Система с одним агентом должна будет обрабатывать все аспекты процесса бронирования поездки — от поиска рейсов до бронирования отелей и аренды автомобилей. Для этого агенту потребуется инструменты для выполнения всех этих задач, что может привести к созданию сложной и монолитной системы, которую трудно поддерживать и масштабировать. Многоагентная система, напротив, может включать разных агентов, специализирующихся на поиске рейсов, бронировании отелей и аренде автомобилей. Это сделает систему более модульной, удобной в обслуживании и масштабируемой.
Сравните это с туристическим бюро, управляемым как семейный бизнес, и туристическим бюро, работающим по франшизе. В первом случае один агент занимается всеми аспектами бронирования поездки, а во втором — разные агенты отвечают за разные аспекты процесса.
Прежде чем реализовать шаблон многоагентного дизайна, необходимо понять основные элементы, составляющие этот шаблон.
Рассмотрим пример бронирования поездки для пользователя. В этом случае основные элементы включают:
Важно иметь возможность отслеживать, как агенты взаимодействуют друг с другом. Эта видимость необходима для отладки, оптимизации и обеспечения эффективности системы. Для этого нужны инструменты и методы для отслеживания действий и взаимодействий агентов. Это может быть реализовано с помощью инструментов логирования и мониторинга, визуализации и метрик производительности.
Например, в случае бронирования поездки для пользователя можно создать панель управления, отображающую статус каждого агента, предпочтения и ограничения пользователя, а также взаимодействия между агентами. Эта панель может показывать даты поездки пользователя, рейсы, рекомендованные агентом по поиску рейсов, отели, рекомендованные агентом по бронированию отелей, и автомобили, рекомендованные агентом по аренде автомобилей. Это даст четкое представление о том, как агенты взаимодействуют друг с другом и удовлетворяются ли предпочтения и ограничения пользователя.
Рассмотрим каждый из этих аспектов подробнее.
Инструменты логирования и мониторинга: Необходимо вести логирование каждого действия, выполненного агентом. Запись лога может содержать информацию об агенте, который выполнил действие, самом действии, времени выполнения и результате. Эти данные можно использовать для отладки, оптимизации и других целей.
Инструменты визуализации: Инструменты визуализации помогают интуитивно понять взаимодействия между агентами. Например, можно создать график, показывающий поток информации между агентами. Это поможет выявить узкие места, неэффективность и другие проблемы в системе.
Метрики производительности: Метрики производительности помогают отслеживать эффективность многоагентной системы. Например, можно отслеживать время, затраченное на выполнение задачи, количество выполненных задач за единицу времени и точность рекомендаций агентов. Эти данные помогут выявить области для улучшения и оптимизации системы.
Рассмотрим несколько конкретных шаблонов, которые можно использовать для создания многоагентных приложений. Вот несколько интересных шаблонов, которые стоит рассмотреть:
Этот шаблон полезен, если вы хотите создать приложение для группового чата, где несколько агентов могут общаться друг с другом. Типичные случаи использования включают командное сотрудничество, поддержку клиентов и социальные сети.
В этом шаблоне каждый агент представляет пользователя в групповом чате, а сообщения обмениваются между агентами с использованием протокола обмена сообщениями. Агенты могут отправлять сообщения в групповой чат, получать сообщения из чата и отвечать на сообщения других агентов.
Этот шаблон можно реализовать с использованием централизованной архитектуры, где все сообщения проходят через центральный сервер, или децентрализованной архитектуры, где сообщения обмениваются напрямую.
Этот шаблон полезен, если вы хотите создать приложение, где несколько агентов могут передавать задачи друг другу.
Типичные случаи использования включают поддержку клиентов, управление задачами и автоматизацию рабочих процессов.
В этом шаблоне каждый агент представляет задачу или шаг в рабочем процессе, и агенты могут передавать задачи другим агентам на основе заранее определенных правил.
Этот шаблон полезен, если вы хотите создать приложение, где несколько агентов могут сотрудничать для предоставления рекомендаций пользователям.
Причина, по которой стоит использовать несколько агентов для сотрудничества, заключается в том, что каждый агент может обладать разной экспертизой и вносить свой вклад в процесс рекомендаций по-разному.
Рассмотрим пример, когда пользователь хочет получить рекомендацию о лучшей акции для покупки на фондовом рынке.
Рассмотрим сценарий, когда клиент пытается вернуть деньги за товар. В этом процессе может быть задействовано множество агентов, но давайте разделим их на агентов, специфичных для этого процесса, и общих агентов, которые могут использоваться в других процессах.
Агенты, специфичные для процесса возврата средств:
Ниже приведены некоторые агенты, которые могут быть задействованы в процессе возврата средств:
Общие агенты:
Эти агенты могут использоваться в других частях вашего бизнеса.
Как видно, существует множество агентов, как специфичных для процесса возврата средств, так и общих, которые могут быть использованы в других частях вашего бизнеса. Надеемся, это даст вам представление о том, как выбрать агентов для вашей многоагентной системы.
Определите агентов, участвующих в процессе, их роли и обязанности, а также то, как они взаимодействуют друг с другом. Учитывайте как агентов, специфичных для процесса поддержки клиентов, так и общих агентов, которые могут быть использованы в других частях вашего бизнеса.
Подумайте, прежде чем читать следующее решение, возможно, вам потребуется больше агентов, чем вы предполагаете.
TIP: Подумайте о различных этапах процесса поддержки клиентов, а также об агентах, необходимых для любой системы.
Вопрос: Когда следует рассмотреть использование многоагентной системы?
В этом уроке мы рассмотрели шаблон проектирования многоагентных систем, включая сценарии, где они применимы, преимущества использования многоагентных систем по сравнению с одним агентом, основные элементы реализации шаблона проектирования многоагентных систем и способы получения видимости взаимодействия между агентами.
Присоединяйтесь к Azure AI Foundry Discord, чтобы встретиться с другими учащимися, посетить часы консультаций и получить ответы на свои вопросы о AI-агентах.
Отказ от ответственности:
Этот документ был переведен с использованием сервиса автоматического перевода Co-op Translator. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникшие в результате использования данного перевода.