logo
0
0
WeChat Login
carlotta94c<carlotta94c@users.noreply.github.com>
🌐 Update translations via Co-op Translator

Многоагентный дизайн

(Нажмите на изображение выше, чтобы посмотреть видео этого урока)

Шаблоны многоагентного дизайна

Как только вы начнете работать над проектом, включающим несколько агентов, вам придется учитывать шаблон многоагентного дизайна. Однако может быть не сразу понятно, когда переходить к многоагентной системе и какие преимущества это дает.

Введение

В этом уроке мы постараемся ответить на следующие вопросы:

  • В каких сценариях применимы многоагентные системы?
  • Какие преимущества дает использование многоагентной системы по сравнению с одним агентом, выполняющим несколько задач?
  • Какие основные элементы необходимы для реализации шаблона многоагентного дизайна?
  • Как обеспечить видимость взаимодействия между несколькими агентами?

Цели обучения

После этого урока вы сможете:

  • Определять сценарии, в которых применимы многоагентные системы.
  • Распознавать преимущества использования многоагентной системы по сравнению с одним агентом.
  • Понимать основные элементы реализации шаблона многоагентного дизайна.

Какова общая картина?

Многоагентные системы — это шаблон дизайна, который позволяет нескольким агентам работать вместе для достижения общей цели.

Этот шаблон широко используется в различных областях, включая робототехнику, автономные системы и распределенные вычисления.

Сценарии, в которых применимы многоагентные системы

Итак, в каких сценариях использование многоагентных систем является хорошим решением? Ответ заключается в том, что существует множество случаев, когда использование нескольких агентов оказывается полезным, особенно в следующих ситуациях:

  • Большие объемы работы: Большие объемы работы можно разделить на более мелкие задачи и распределить между разными агентами, что позволяет выполнять их параллельно и быстрее завершать. Примером может служить обработка большого объема данных.
  • Сложные задачи: Сложные задачи, как и большие объемы работы, можно разбить на более мелкие подзадачи и поручить их разным агентам, каждый из которых специализируется на определенном аспекте задачи. Хороший пример — автономные транспортные средства, где разные агенты отвечают за навигацию, обнаружение препятствий и связь с другими транспортными средствами.
  • Разнообразная экспертиза: Разные агенты могут обладать различной экспертизой, что позволяет им более эффективно справляться с разными аспектами задачи, чем один агент. Примером может служить здравоохранение, где агенты занимаются диагностикой, планами лечения и мониторингом пациентов.

Преимущества использования многоагентной системы по сравнению с одним агентом

Система с одним агентом может хорошо работать для простых задач, но для более сложных задач использование нескольких агентов дает ряд преимуществ:

  • Специализация: Каждый агент может быть специализирован для выполнения конкретной задачи. Отсутствие специализации у одного агента может привести к тому, что он будет путаться при выполнении сложной задачи. Например, он может взяться за задачу, для которой он не подходит.
  • Масштабируемость: Легче масштабировать систему, добавляя больше агентов, чем перегружая одного агента.
  • Отказоустойчивость: Если один агент выходит из строя, другие могут продолжать работать, обеспечивая надежность системы.

Рассмотрим пример: бронирование поездки для пользователя. Система с одним агентом должна будет обрабатывать все аспекты процесса бронирования поездки — от поиска рейсов до бронирования отелей и аренды автомобилей. Для этого агенту потребуется инструменты для выполнения всех этих задач, что может привести к созданию сложной и монолитной системы, которую трудно поддерживать и масштабировать. Многоагентная система, напротив, может включать разных агентов, специализирующихся на поиске рейсов, бронировании отелей и аренде автомобилей. Это сделает систему более модульной, удобной в обслуживании и масштабируемой.

Сравните это с туристическим бюро, управляемым как семейный бизнес, и туристическим бюро, работающим по франшизе. В первом случае один агент занимается всеми аспектами бронирования поездки, а во втором — разные агенты отвечают за разные аспекты процесса.

Основные элементы реализации шаблона многоагентного дизайна

Прежде чем реализовать шаблон многоагентного дизайна, необходимо понять основные элементы, составляющие этот шаблон.

Рассмотрим пример бронирования поездки для пользователя. В этом случае основные элементы включают:

  • Коммуникация между агентами: Агенты, отвечающие за поиск рейсов, бронирование отелей и аренду автомобилей, должны обмениваться информацией о предпочтениях и ограничениях пользователя. Необходимо определить протоколы и методы для этой коммуникации. Например, агент, отвечающий за поиск рейсов, должен взаимодействовать с агентом, бронирующим отели, чтобы убедиться, что отель забронирован на те же даты, что и рейс. Это означает, что нужно решить, какие агенты обмениваются информацией и как они это делают.
  • Механизмы координации: Агенты должны координировать свои действия, чтобы удовлетворить предпочтения и ограничения пользователя. Например, предпочтением пользователя может быть отель рядом с аэропортом, а ограничением — доступность аренды автомобилей только в аэропорту. Это означает, что агент, бронирующий отели, должен координировать свои действия с агентом, бронирующим автомобили, чтобы удовлетворить предпочтения и ограничения пользователя. Это требует решения вопроса о том, как агенты координируют свои действия.
  • Архитектура агентов: Агенты должны иметь внутреннюю структуру для принятия решений и обучения на основе взаимодействий с пользователем. Например, агент, отвечающий за поиск рейсов, должен иметь внутреннюю структуру для принятия решений о том, какие рейсы рекомендовать пользователю. Это требует решения вопроса о том, как агенты принимают решения и обучаются на основе взаимодействий с пользователем. Примером обучения и улучшения может быть использование агентом модели машинного обучения для рекомендаций рейсов на основе предыдущих предпочтений пользователя.
  • Видимость взаимодействий между агентами: Необходимо иметь возможность отслеживать, как агенты взаимодействуют друг с другом. Это важно для отладки, оптимизации и обеспечения эффективности системы. Для этого нужны инструменты и методы для отслеживания действий и взаимодействий агентов. Это может быть реализовано с помощью инструментов логирования и мониторинга, визуализации и метрик производительности.
  • Шаблоны многоагентных систем: Существуют различные шаблоны для реализации многоагентных систем, такие как централизованные, децентрализованные и гибридные архитектуры. Необходимо выбрать шаблон, который лучше всего подходит для вашего случая.
  • Человек в процессе: В большинстве случаев человек будет участвовать в процессе, и необходимо определить, когда агенты должны запрашивать вмешательство человека. Например, пользователь может запросить конкретный отель или рейс, который агенты не рекомендовали, или попросить подтверждение перед бронированием.

Видимость взаимодействий между агентами

Важно иметь возможность отслеживать, как агенты взаимодействуют друг с другом. Эта видимость необходима для отладки, оптимизации и обеспечения эффективности системы. Для этого нужны инструменты и методы для отслеживания действий и взаимодействий агентов. Это может быть реализовано с помощью инструментов логирования и мониторинга, визуализации и метрик производительности.

Например, в случае бронирования поездки для пользователя можно создать панель управления, отображающую статус каждого агента, предпочтения и ограничения пользователя, а также взаимодействия между агентами. Эта панель может показывать даты поездки пользователя, рейсы, рекомендованные агентом по поиску рейсов, отели, рекомендованные агентом по бронированию отелей, и автомобили, рекомендованные агентом по аренде автомобилей. Это даст четкое представление о том, как агенты взаимодействуют друг с другом и удовлетворяются ли предпочтения и ограничения пользователя.

Рассмотрим каждый из этих аспектов подробнее.

  • Инструменты логирования и мониторинга: Необходимо вести логирование каждого действия, выполненного агентом. Запись лога может содержать информацию об агенте, который выполнил действие, самом действии, времени выполнения и результате. Эти данные можно использовать для отладки, оптимизации и других целей.

  • Инструменты визуализации: Инструменты визуализации помогают интуитивно понять взаимодействия между агентами. Например, можно создать график, показывающий поток информации между агентами. Это поможет выявить узкие места, неэффективность и другие проблемы в системе.

  • Метрики производительности: Метрики производительности помогают отслеживать эффективность многоагентной системы. Например, можно отслеживать время, затраченное на выполнение задачи, количество выполненных задач за единицу времени и точность рекомендаций агентов. Эти данные помогут выявить области для улучшения и оптимизации системы.

Шаблоны многоагентных систем

Рассмотрим несколько конкретных шаблонов, которые можно использовать для создания многоагентных приложений. Вот несколько интересных шаблонов, которые стоит рассмотреть:

Групповой чат

Этот шаблон полезен, если вы хотите создать приложение для группового чата, где несколько агентов могут общаться друг с другом. Типичные случаи использования включают командное сотрудничество, поддержку клиентов и социальные сети.

В этом шаблоне каждый агент представляет пользователя в групповом чате, а сообщения обмениваются между агентами с использованием протокола обмена сообщениями. Агенты могут отправлять сообщения в групповой чат, получать сообщения из чата и отвечать на сообщения других агентов.

Этот шаблон можно реализовать с использованием централизованной архитектуры, где все сообщения проходят через центральный сервер, или децентрализованной архитектуры, где сообщения обмениваются напрямую.

Групповой чат

Передача задач

Этот шаблон полезен, если вы хотите создать приложение, где несколько агентов могут передавать задачи друг другу.

Типичные случаи использования включают поддержку клиентов, управление задачами и автоматизацию рабочих процессов.

В этом шаблоне каждый агент представляет задачу или шаг в рабочем процессе, и агенты могут передавать задачи другим агентам на основе заранее определенных правил.

Передача задач

Коллаборативная фильтрация

Этот шаблон полезен, если вы хотите создать приложение, где несколько агентов могут сотрудничать для предоставления рекомендаций пользователям.

Причина, по которой стоит использовать несколько агентов для сотрудничества, заключается в том, что каждый агент может обладать разной экспертизой и вносить свой вклад в процесс рекомендаций по-разному.

Рассмотрим пример, когда пользователь хочет получить рекомендацию о лучшей акции для покупки на фондовом рынке.

  • Эксперт по отрасли: Один агент может быть экспертом в определенной отрасли.
  • Технический анализ: Другой агент может быть экспертом в техническом анализе.
  • Фундаментальный анализ: Еще один агент может быть экспертом в фундаментальном анализе. Сотрудничая, эти агенты могут предоставить пользователю более комплексную рекомендацию.

Рекомендация

Сценарий: Процесс возврата средств

Рассмотрим сценарий, когда клиент пытается вернуть деньги за товар. В этом процессе может быть задействовано множество агентов, но давайте разделим их на агентов, специфичных для этого процесса, и общих агентов, которые могут использоваться в других процессах.

Агенты, специфичные для процесса возврата средств:

Ниже приведены некоторые агенты, которые могут быть задействованы в процессе возврата средств:

  • Агент клиента: Этот агент представляет клиента и отвечает за инициацию процесса возврата средств.
  • Агент продавца: Этот агент представляет продавца и отвечает за обработку возврата средств.
  • Агент платежей: Этот агент представляет процесс платежей и отвечает за возврат денег клиенту.
  • Агент разрешения споров: Этот агент отвечает за разрешение любых проблем, возникающих в процессе возврата средств.
  • Агент по соблюдению норм: Этот агент отвечает за обеспечение соответствия процесса возврата средств нормативным требованиям и политике.

Общие агенты:

Эти агенты могут использоваться в других частях вашего бизнеса.

  • Агент доставки: Этот агент представляет процесс доставки и отвечает за возврат товара продавцу. Этот агент может использоваться как в процессе возврата средств, так и для общей доставки товаров, например, при покупке.
  • Агент обратной связи: Этот агент отвечает за сбор обратной связи от клиента. Обратная связь может быть получена в любое время, а не только в процессе возврата средств.
  • Агент эскалации: Этот агент отвечает за эскалацию проблем на более высокий уровень поддержки. Такой агент может использоваться в любом процессе, где требуется эскалация проблемы.
  • Агент уведомлений: Этот агент отвечает за отправку уведомлений клиенту на различных этапах процесса возврата средств.
  • Агент аналитики: Этот агент отвечает за анализ данных, связанных с процессом возврата средств.
  • Агент аудита: Этот агент отвечает за аудит процесса возврата средств, чтобы убедиться, что он выполняется корректно.
  • Агент отчетности: Этот агент отвечает за создание отчетов о процессе возврата средств.
  • Агент знаний: Этот агент отвечает за поддержание базы знаний, связанной с процессом возврата средств. Этот агент может быть полезен как для возвратов, так и для других частей вашего бизнеса.
  • Агент безопасности: Этот агент отвечает за обеспечение безопасности процесса возврата средств.
  • Агент качества: Этот агент отвечает за обеспечение качества процесса возврата средств.

Как видно, существует множество агентов, как специфичных для процесса возврата средств, так и общих, которые могут быть использованы в других частях вашего бизнеса. Надеемся, это даст вам представление о том, как выбрать агентов для вашей многоагентной системы.

Задание

Разработка многоагентной системы для процесса поддержки клиентов

Определите агентов, участвующих в процессе, их роли и обязанности, а также то, как они взаимодействуют друг с другом. Учитывайте как агентов, специфичных для процесса поддержки клиентов, так и общих агентов, которые могут быть использованы в других частях вашего бизнеса.

Подумайте, прежде чем читать следующее решение, возможно, вам потребуется больше агентов, чем вы предполагаете.

TIP: Подумайте о различных этапах процесса поддержки клиентов, а также об агентах, необходимых для любой системы.

Решение

Решение

Проверка знаний

Вопрос: Когда следует рассмотреть использование многоагентной системы?

  • A1: Когда у вас небольшой объем работы и простая задача.
  • A2: Когда у вас большой объем работы.
  • A3: Когда у вас простая задача.

Решение теста

Резюме

В этом уроке мы рассмотрели шаблон проектирования многоагентных систем, включая сценарии, где они применимы, преимущества использования многоагентных систем по сравнению с одним агентом, основные элементы реализации шаблона проектирования многоагентных систем и способы получения видимости взаимодействия между агентами.

Остались вопросы о шаблоне проектирования многоагентных систем?

Присоединяйтесь к Azure AI Foundry Discord, чтобы встретиться с другими учащимися, посетить часы консультаций и получить ответы на свои вопросы о AI-агентах.

Дополнительные ресурсы

Предыдущий урок

Проектирование планирования

Следующий урок

Метапознание в AI-агентах


Отказ от ответственности:
Этот документ был переведен с использованием сервиса автоматического перевода Co-op Translator. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникшие в результате использования данного перевода.