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

Multi-Agent Design

(Натисніть на зображення вище, щоб переглянути відео цього уроку)

Шаблони дизайну для багатозадачних агентів

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

Вступ

У цьому уроці ми прагнемо відповісти на такі запитання:

  • У яких сценаріях доцільно використовувати багатозадачних агентів?
  • Які переваги використання кількох агентів порівняно з одним агентом, що виконує кілька завдань?
  • Які основні елементи реалізації шаблону дизайну для багатозадачних агентів?
  • Як забезпечити прозорість взаємодії між кількома агентами?

Цілі навчання

Після цього уроку ви зможете:

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

Яка загальна картина?

Багатозадачні агенти — це шаблон дизайну, який дозволяє кільком агентам працювати разом для досягнення спільної мети.

Цей шаблон широко використовується в різних галузях, включаючи робототехніку, автономні системи та розподілені обчислення.

Сценарії, де доцільно використовувати багатозадачних агентів

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

  • Великі обсяги роботи: Великі обсяги роботи можна розділити на менші завдання та призначити різним агентам, що дозволяє виконувати їх паралельно та швидше завершувати. Наприклад, це може бути обробка великих обсягів даних.
  • Складні завдання: Складні завдання, як і великі обсяги роботи, можна розбити на менші підзадачі та призначити різним агентам, кожен з яких спеціалізується на певному аспекті завдання. Наприклад, у випадку з автономними транспортними засобами різні агенти можуть відповідати за навігацію, виявлення перешкод і комунікацію з іншими транспортними засобами.
  • Різноманітна експертиза: Різні агенти можуть мати різну експертизу, що дозволяє їм ефективніше виконувати різні аспекти завдання, ніж один агент. Наприклад, у сфері охорони здоров'я агенти можуть відповідати за діагностику, розробку планів лікування та моніторинг пацієнтів.

Переваги використання багатозадачних агентів порівняно з одним агентом

Система з одним агентом може добре працювати для простих завдань, але для більш складних завдань використання кількох агентів має кілька переваг:

  • Спеціалізація: Кожен агент може бути спеціалізованим для виконання конкретного завдання. Відсутність спеціалізації в одного агента означає, що він може виконувати все, але може заплутатися, коли стикається зі складним завданням. Наприклад, він може виконувати завдання, для якого він не найкраще підходить.
  • Масштабованість: Легше масштабувати системи, додаючи більше агентів, ніж перевантажувати одного.
  • Стійкість до збоїв: Якщо один агент виходить з ладу, інші можуть продовжувати працювати, забезпечуючи надійність системи.

Розглянемо приклад бронювання подорожі для користувача. Система з одним агентом повинна була б обробляти всі аспекти процесу бронювання, від пошуку рейсів до бронювання готелів і оренди автомобілів. Для цього агенту потрібно було б мати інструменти для виконання всіх цих завдань. Це могло б призвести до складної та монолітної системи, яку важко підтримувати та масштабувати. Система з кількома агентами, навпаки, могла б мати різних агентів, спеціалізованих на пошуку рейсів, бронюванні готелів і оренді автомобілів. Це зробило б систему більш модульною, легкою в обслуговуванні та масштабованою.

Порівняйте це з туристичним бюро, яке працює як сімейний бізнес, і туристичним бюро, яке працює як франшиза. У сімейному бізнесі один агент обробляє всі аспекти процесу бронювання, тоді як у франшизі різні агенти відповідають за різні аспекти процесу.

Основні елементи реалізації шаблону дизайну для багатозадачних агентів

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

Розглянемо це на прикладі бронювання подорожі для користувача. У цьому випадку основними елементами будуть:

  • Комунікація між агентами: Агенти, які відповідають за пошук рейсів, бронювання готелів і оренду автомобілів, повинні спілкуватися та обмінюватися інформацією про вподобання та обмеження користувача. Потрібно визначити протоколи та методи для цієї комунікації. Наприклад, агент, який шукає рейси, повинен спілкуватися з агентом, який бронює готелі, щоб переконатися, що готель заброньовано на ті ж дати, що й рейс. Це означає, що агенти повинні обмінюватися інформацією про дати подорожі користувача, тобто потрібно вирішити, які агенти обмінюються інформацією і як вони це роблять.
  • Механізми координації: Агенти повинні координувати свої дії, щоб забезпечити відповідність вподобань і обмежень користувача. Наприклад, користувач може віддати перевагу готелю поблизу аеропорту, а обмеженням може бути те, що автомобілі для оренди доступні лише в аеропорту. Це означає, що агент, який бронює готелі, повинен координувати свої дії з агентом, який бронює автомобілі, щоб забезпечити відповідність вподобань і обмежень користувача. Це означає, що потрібно вирішити, як агенти координують свої дії.
  • Архітектура агентів: Агенти повинні мати внутрішню структуру для прийняття рішень і навчання на основі взаємодії з користувачем. Наприклад, агент, який шукає рейси, повинен мати внутрішню структуру для прийняття рішень про те, які рейси рекомендувати користувачеві. Це означає, що потрібно вирішити, як агенти приймають рішення та навчаються на основі взаємодії з користувачем. Наприклад, агент, який шукає рейси, може використовувати модель машинного навчання для рекомендацій рейсів на основі попередніх вподобань користувача.
  • Прозорість взаємодії між агентами: Потрібно забезпечити прозорість того, як кілька агентів взаємодіють один з одним. Це означає, що потрібно мати інструменти та методи для відстеження дій і взаємодій агентів. Це можуть бути інструменти для ведення журналів і моніторингу, інструменти візуалізації та показники продуктивності.
  • Шаблони для багатозадачних агентів: Існують різні шаблони для реалізації систем багатозадачних агентів, такі як централізовані, децентралізовані та гібридні архітектури. Потрібно вибрати шаблон, який найкраще відповідає вашому випадку.
  • Людина в процесі: У більшості випадків у процесі буде задіяна людина, і потрібно визначити, коли агенти повинні звертатися за втручанням людини. Наприклад, це може бути ситуація, коли користувач просить забронювати конкретний готель або рейс, який агенти не рекомендували, або просить підтвердити бронювання перед його завершенням.

Прозорість взаємодії між агентами

Важливо забезпечити прозорість того, як кілька агентів взаємодіють один з одним. Це необхідно для налагодження, оптимізації та забезпечення ефективності всієї системи. Для цього потрібно мати інструменти та методи для відстеження дій і взаємодій агентів. Це можуть бути інструменти для ведення журналів і моніторингу, інструменти візуалізації та показники продуктивності.

Наприклад, у випадку бронювання подорожі для користувача можна створити інформаційну панель, яка показує статус кожного агента, вподобання та обмеження користувача, а також взаємодії між агентами. Ця панель може показувати дати подорожі користувача, рейси, рекомендовані агентом з пошуку рейсів, готелі, рекомендовані агентом з бронювання готелів, і автомобілі, рекомендовані агентом з оренди автомобілів. Це дасть чітке уявлення про те, як агенти взаємодіють один з одним і чи відповідають вподобання та обмеження користувача.

Розглянемо кожен із цих аспектів детальніше.

  • Інструменти для ведення журналів і моніторингу: Потрібно вести журнал кожної дії, виконаної агентом. Запис у журналі може містити інформацію про агента, який виконав дію, саму дію, час її виконання та результат. Ця інформація може бути використана для налагодження, оптимізації тощо.

  • Інструменти візуалізації: Інструменти візуалізації можуть допомогти побачити взаємодії між агентами більш інтуїтивно. Наприклад, можна створити графік, який показує потік інформації між агентами. Це може допомогти виявити вузькі місця, неефективність та інші проблеми в системі.

  • Показники продуктивності: Показники продуктивності можуть допомогти відстежувати ефективність системи багатозадачних агентів. Наприклад, можна відстежувати час, необхідний для виконання завдання, кількість завдань, виконаних за одиницю часу, і точність рекомендацій, зроблених агентами. Ця інформація може допомогти виявити області для покращення та оптимізації системи.

Шаблони для багатозадачних агентів

Розглянемо деякі конкретні шаблони, які можна використовувати для створення додатків із багатозадачними агентами. Ось кілька цікавих шаблонів, які варто розглянути:

Груповий чат

Цей шаблон корисний, коли потрібно створити додаток для групового чату, де кілька агентів можуть спілкуватися один з одним. Типові випадки використання цього шаблону включають командну співпрацю, підтримку клієнтів і соціальні мережі.

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

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

Груповий чат

Передача завдань

Цей шаблон корисний, коли потрібно створити додаток, де кілька агентів можуть передавати завдання один одному.

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

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

Передача завдань

Спільна фільтрація

Цей шаблон корисний, коли потрібно створити додаток, де кілька агентів можуть співпрацювати для надання рекомендацій користувачам.

Чому варто залучати кількох агентів до співпраці? Тому що кожен агент може мати різну експертизу та робити свій внесок у процес рекомендацій по-різному.

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

  • Експерт з галузі: Один агент може бути експертом у певній галузі.
  • Технічний аналіз: Інший агент може бути експертом із технічного аналізу.
  • Фундаментальний аналіз: Ще один агент може бути експертом із фундаментального аналізу. Співпрацюючи, ці агенти можуть надати користувачеві більш комплексну рекомендацію.

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

Сценарій: Процес повернення коштів

Розглянемо сценарій, коли клієнт намагається отримати повернення коштів за продукт. У цьому процесі може бути задіяно чимало агентів, але давайте розділимо їх на агентів, специфічних для цього процесу, і загальних агентів, які можуть бути використані в інших процесах.

Агенти, специфічні для процесу повернення коштів:

Ось кілька агентів, які можуть бути задіяні в процесі повернення коштів:

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

Загальні агенти:

Ці агенти можуть бути використані в інших частинах вашого бізнесу.

  • Агент доставки: Цей агент представляє процес доставки та відповідає за повернення продукту продавцю. Цей агент може бути використаний як для процесу повернення коштів, так і для загальної доставки продукту, наприклад, під час покупки.
  • Агент зворотного зв'язку: Цей агент представляє процес зворотного зв'язку та відповідає за збір відгуків від клієнта. Зворотний зв'язок може бути отриманий у будь-який час, а не лише під час процесу повернення коштів.
  • Агент ескалації: Цей агент представляє процес ескалації та відповідає за передачу питань на вищий рівень підтримки. Цей тип агента можна використовувати в будь-якому процесі, де потрібно ескалювати проблему.
  • Агент сповіщень: Цей агент представляє процес сповіщень і відповідає за надсилання сповіщень клієнту на різних етапах процесу повернення коштів.
  • Агент аналітики: Цей агент представляє процес аналітики та відповідає за аналіз даних, пов'язаних із процесом повернення коштів.
  • **Агент аудиту

Розробка багатокомпонентної системи для процесу підтримки клієнтів

Визначте агентів, які беруть участь у процесі, їхні ролі та обов’язки, а також те, як вони взаємодіють один з одним. Розгляньте як агентів, специфічних для процесу підтримки клієнтів, так і загальних агентів, які можна використовувати в інших частинах вашого бізнесу.

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

TIP: Подумайте про різні етапи процесу підтримки клієнтів, а також врахуйте агентів, необхідних для будь-якої системи.

Рішення

Рішення

Перевірка знань

Питання: Коли слід розглядати використання багатокомпонентних агентів?

  • A1: Коли у вас невелике навантаження та проста задача.
  • A2: Коли у вас велике навантаження.
  • A3: Коли у вас проста задача.

Рішення тесту

Підсумок

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

Маєте більше запитань щодо шаблону багатокомпонентного дизайну?

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

Додаткові ресурси

Попередній урок

Дизайн планування

Наступний урок

Метакогніція в AI-агентах


Відмова від відповідальності:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.