
(Кликнете на снимката по-горе, за да гледате видеото на този урок)
Многоагентни дизайн модели
Веднага щом започнете да работите по проект, който включва множество агенти, ще трябва да обмислите многоагентния дизайн модел. Въпреки това, може да не е веднага ясно кога да се премине към многоагенти и какви са предимствата.
Въведение
В този урок ще се опитаме да отговорим на следните въпроси:
- В какви сценарии се прилагат многоагентните системи?
- Какви са предимствата на използването на многоагенти спрямо един единствен агент, изпълняващ множество задачи?
- Какви са основните компоненти за реализиране на многоагентния дизайн модел?
- Как да имаме видимост как множеството агенти взаимодействат помежду си?
Цели на обучението
След този урок трябва да можете:
- Да идентифицирате сценарии, в които се прилагат многоагенти
- Да разпознавате предимствата на използването на многоагенти спрямо един единствен агент.
- Да разберете основните компоненти за реализиране на многоагентния дизайн модел.
Каква е по-голямата картина?
Многоагентите са дизайн модел, който позволява на множество агенти да работят заедно за постигане на обща цел.
Този модел се използва широко в различни области, включително роботика, автономни системи и разпределени изчисления.
Сценарии, при които са приложими многоагентните системи
Кои сценарии са подходящи за използване на многоагенти? Отговорът е, че има много ситуации, в които използването на множество агенти е полезно, особено в следните случаи:
- Големи натоварвания: Големите натоварвания могат да бъдат разделени на по-малки задачи и възложени на различни агенти, което позволява паралелна обработка и по-бързо завършване. Пример за това е при голяма задача за обработка на данни.
- Сложни задачи: Подобно на големите натоварвания, сложните задачи могат да бъдат разбити на по-малки подзадачи и възложени на различни агенти, като всеки се специализира в конкретен аспект на задачата. Добър пример са автономните превозни средства, където различни агенти управляват навигацията, откриването на препятствия и комуникацията с други превозни средства.
- Разнообразни експертизи: Различните агенти могат да притежават разнообразни експертизи, което им позволява да се справят по-ефективно с различни аспекти на задачата, отколкото един единствен агент. В този случай добър пример е здравеопазването, където агентите могат да управляват диагностика, планове за лечение и наблюдение на пациента.
Предимства на използването на многоагенти спрямо един агент
Един единствен агент може да се справя добре с прости задачи, но за по-сложни задачи използването на множество агенти може да осигури няколко предимства:
- Специализация: Всеки агент може да бъде специализиран за конкретна задача. Липсата на специализация в един агент означава, че имате агент, който може да прави всичко, но може да се обърка и да не знае как да постъпи при сложна задача. Например може да се окаже, че извършва задача, за която не е най-подходящ.
- Мащабируемост: По-лесно е системата да се мащабира чрез добавяне на повече агенти, отколкото да се претоварва един агент.
- Устойчивост на грешки: Ако един агент се срине, другите могат да продължат да функционират, осигурявайки надеждността на системата.
Нека вземем пример: да резервираме пътуване за потребител. Една система с един агент трябва да се справя с всички аспекти на процеса на резервиране - от намиране на полети до резервиране на хотели и коли под наем. За да се постигне това с един агент, той трябва да разполага с инструменти за управление на всички тези задачи. Това може да доведе до сложна и монолитна система, която е трудна за поддръжка и мащабиране. От друга страна, многоагентна система може да има различни агенти, специализирани в намиране на полети, резервиране на хотели и коли под наем. Това прави системата по-модулна, по-лесна за поддръжка и мащабируема.
Сравнете това с туристическа агенция, управлявана като малък семеен бизнес, срещу туристическа агенция-верига. Малкият семеен бизнес би имал един агент, който се грижи за всички аспекти на резервацията, докато веригата би имала различни агенти, отговарящи за различни аспекти.
Основни компоненти за реализиране на многоагентния дизайн модел
Преди да можете да реализирате многоагентния дизайн модел, трябва да разберете основните компоненти, които съставляват модела.
Нека го направим по-конкретно, като отново разгледаме примера с резервирането на пътуване за потребител. В този случай основните компоненти ще включват:
- Комуникация между агенти: Агентите за намиране на полети, резервиране на хотели и коли под наем трябва да комуникират и споделят информация за предпочитанията и ограниченията на потребителя. Трябва да решите протоколите и методите за тази комуникация. Това означава, че агентът за намиране на полети трябва да комуникира с агента за резервиране на хотели, за да осигури хотел за същите дати като полета. Това значи, че агентите трябва да споделят информация за датите на пътуване на потребителя, т.е. трябва да решите кои агенти споделят информация и как.
- Механизми за координация: Агентите трябва да координират действията си, за да осигурят, че предпочитанията и ограниченията на потребителя се спазват. Например, предпочитание на потребителя може да е хотел близо до летището, а ограничение - коли под наем да са налични само на летището. Това означава, че агентът за резервиране на хотели трябва да координира с агента за коли под наем. Следователно, трябва да решите как агенти координират действията си.
- Архитектура на агента: Агентите трябва да имат вътрешна структура за вземане на решения и учене от взаимодействията си с потребителя. Например агентът за намиране на полети трябва да има структура, която да взема решения кои полети да препоръча на потребителя. Това значи, че трябва да решите как агентите вземат решения и учат от взаимодействието си с потребителя. Пример за учене и усъвършенстване е агентът за полети да използва машинно обучение за препоръчване въз основа на предпочитанията на потребителя.
- Видимост в многоагентните взаимодействия: Трябва да имате видимост как множеството агенти взаимодействат помежду си. Това изисква инструменти и техники за проследяване на активностите и взаимодействията на агентите. Това може да са инструменти за логиране и мониторинг, инструменти за визуализация и показатели за изпълнение.
- Многоагентни модели: Съществуват различни модели за реализиране на многоагентни системи, като централизирана, децентрализирана и хибридна архитектура. Трябва да решите кой модел най-добре отговаря на вашия случай.
- Човек в контролната верига: В повечето случаи има човек във веригата и трябва да инструктирате агентите кога да поискат човешка намеса. Това може да е потребител, който иска конкретен хотел или полет, които агентите не са препоръчали, или да иска потвърждение преди резервация.
Видимост в многоагентните взаимодействия
Важно е да имате видимост как множеството агенти взаимодействат помежду си. Тази видимост е съществена за отстраняване на грешки, оптимизация и осигуряване на ефективността на системата като цяло. За да постигнете това, трябва да разполагате с инструменти и техники за проследяване на активностите и взаимодействията на агенти. Това може да бъде чрез инструменти за логиране и мониторинг, визуализация и показатели за изпълнение.
Например, при резервиране на пътуване за потребител, можете да имате табло, което показва статуса на всеки агент, предпочитанията и ограниченията на потребителя и взаимодействията между агентите. Това табло може да показва датите на пътуване, полетите, препоръчани от агента за полети, хотелите, препоръчани от агента за хотели, и колите под наем, препоръчани от агента за коли. Това ще ви даде ясен поглед как агентите си взаимодействат и дали предпочитанията и ограниченията на потребителя са изпълнени.
Нека разгледаме всеки от тези аспекти по-подробно.
- Инструменти за логиране и мониторинг: Искате да логвате всяко действие, предприето от агент. Запис в лога може да съдържа информация за агента, който е извършил действието, самото действие, времето на извършване и резултат от действието. Тази информация може да се използва за отстраняване на грешки, оптимизация и други.
- Инструменти за визуализация: Те могат да помогнат да видите взаимодействията между агентите по-интуитивно. Например, можете да имате графика, показваща потока на информация между агентите. Това може да помогне да откриете тесни места, неефективности и други проблеми.
- Показатели за изпълнение: Могат да ви помогнат да проследявате ефективността на многоагентната система. Например, време за изпълнение на задача, брой задачи на единица време и точността на препоръките от агентите. Тази информация ви помага да идентифицирате области за подобрение и оптимизация.
Многоагентни модели
Нека разгледаме някои конкретни модели, които можем да използваме за създаване на многоагентни приложения. Ето някои интересни модели, които си струва да обмислите:
Групов чат
Този модел е полезен, когато искате да създадете групов чат, в който множество агенти могат да комуникират помежду си. Типични случаи за използване са екипна колаборация, клиентска поддръжка и социални мрежи.
В този модел всеки агент представлява потребител в групата и съобщенията се обменят между агентите чрез протокол за съобщения. Агентите могат да изпращат съобщения в груповия чат, да получават съобщения от него и да отговарят на съобщения от други агенти.
Този модел може да бъде реализиран с централизиран модел, където всички съобщения минават през централен сървър, или децентрализиран модел, където съобщенията се обменят директно.

Прехвърляне на задачи (Hand-off)
Този модел е полезен, когато искате да създадете приложение, в което множество агенти могат да прехвърлят задачи един на друг.
Типични случаи са клиентска поддръжка, управление на задачи и автоматизация на работния поток.
В този модел всеки агент представлява задача или стъпка в работния процес, и агентите могат да прехвърлят задачи на други агенти според предварително определени правила.

Съвместна филтрация (Collaborative filtering)
Този модел е полезен, когато искате да създадете приложение, в което множество агенти сътрудничат за правене на препоръки към потребители.
Защо бихте искали множество агенти да си сътрудничат? Защото всеки агент може да притежава различна експертиза и да допринася за процеса на препоръчване по различни начини.
Нека вземем пример, в който потребител иска препоръка за най-добрата акция за покупка на фондовия пазар.
- Експерт по индустрията: Един агент може да бъде експерт в конкретна индустрия.
- Технически анализ: Друг агент може да е експерт в техническия анализ.
- Фундаментален анализ: Трети агент може да е експерт във фундаменталния анализ. Чрез сътрудничество тези агенти могат да предоставят по-комплексна препоръка на потребителя.

Сценарий: Процес на възстановяване на сума (Refund process)
Разгледайте сценарий, при който клиент се опитва да получи възстановяване на сума за продукт. В този процес могат да участват доста агенти, но нека ги разделим на агенти специализирани за този процес и общи агенти, които могат да се използват в други процеси.
Агенти специализирани за процеса на възстановяване:
Следват някои агенти, които могат да участват:
- Агент клиент: Представлява клиента и отговаря за инициирането на процеса на възстановяване.
- Агент продавач: Представлява продавача и обработва възстановяването.
- Агент плащане: Отговаря за обработката на плащането и възстановяването на сумата на клиента.
- Агент разрешение: Отговаря за решаването на всякакви проблеми по време на процеса.
- Агент съответствие: Осигурява, че процесът съответства на регулациите и политиките.
Общи агенти:
Тези агенти могат да се използват в други части на бизнеса.
- Агент доставка: Отговаря за връщането на продукта на продавача. Този агент може да се използва както за възстановяването, така и за общата доставка на продукти по поръчка.
- Агент обратна връзка: Събира обратна връзка от клиента. Това може да стане във всеки момент, не само по време на възстановяване.
- Агент ескалация: Отговаря за ескалиране на проблеми на по-високо ниво на поддръжка. Този агент може да се използва във всеки процес, когато се налага ескалация.
- Агент известия: Изпраща известия към клиента на различни етапи от процеса на възстановяване.
- Агент аналитика: Анализира данни, свързани с процеса.
- Агент одит: Провежда одит, за да гарантира правилното изпълнение на процеса.
- Агент отчетност: Генерира отчети за процеса.
- Агент знания: Поддържа база от знания, свързана с процеса на възстановяване. Този агент може да разполага с информация и за други аспекти на бизнеса.
- Агент сигурност: Гарантира сигурността на процеса.
- Агент качество: Осигурява качеството на процеса.
Вече са изброени много агенти, както за конкретния процес на възстановяване, така и за общите агенти, които могат да се използват в други части на бизнеса. Надявам се това да ви даде представа как да изберете кои агенти да използвате във вашата многоагентна система.
Задача
Проектирайте многоагентна система за процес на клиентска поддръжка. Идентифицирайте агентите, участващи в процеса, техните роли и отговорности, и как те взаимодействат. Обмислете както агенти, специфични за процеса на клиентска поддръжка, така и общи агенти, които могат да се използват в други части на бизнеса.
Помислете преди да прочетете следното решение, може да се нуждаете от повече агенти, отколкото си мислите.
СЪВЕТ: Помислете за различните етапи на процеса на поддръжка на клиенти и също така обмислете агенти, необходими за всяка система.
Решение
Решение
Проверка на знанията
Въпрос: Кога трябва да обмислите използването на многобройни агенти?
Решение на тест
Обобщение
В този урок разгледахме модела на многобройни агенти, включително сценарии, в които е приложим, предимствата на използването на многобройни агенти вместо един агент, основните компоненти за реализиране на модела на многобройни агенти и как да имаме видимост върху взаимодействията между множеството агенти.
Имaте ли още въпроси относно модела на многобройни агенти?
Присъединете се към Microsoft Foundry Discord, за да се срещнете с други учащи, да присъствате на работни часове и да получите отговори на въпросите си за AI агентите.
Допълнителни ресурси
Предишен урок
Планиране на дизайна
Следващ урок
Метакогниция в AI агенти
Отказ от отговорност:
Този документ е преведен с помощта на AI преводаческа услуга Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален превод от човек. Ние не носим отговорност за никакви недоразумения или неправилни тълкувания, възникнали от използването на този превод.