(Кликните на слику изнад да бисте погледали видео овој лекцији)
Чим почнете да радите на пројекту који укључује више агената, мораћете да размотрите образац дизајна вишеструких агената. Међутим, можда неће бити одмах јасно када прелазити на више агената и које предности то доноси.
У овој лекцији ћемо покушати да одговоримо на следећа питања:
Након ове лекције, требало би да будете у стању да:
Која је шира слика?
Вишеструки агенти су образац дизајна који омогућава више агената да заједно раде на постизању заједничког циља.
Овај образац се широко користи у различитим областима, укључујући роботатику, аутономне системе и дистрибуирано рачунарство.
Који су добри сценарији за коришћење вишеструких агената? Одговор је да постоје многи сценарији где се коришћење више агената показује корисним, посебно у следећим случајевима:
Један агенат може добро функционисати за једноставне задатке, али за комплексније задатке, коришћење више агената може пружити бројне предности:
Узмимо пример, да резервацију путовања за корисника. Један агент би морао управљати свим аспектима процеса резервације, од проналажења летова, преко резервације хотела и изнајмљивања аутомобила. Да би то постигао, агент би морао имати алате за све те задатке. То би могло довести до сложеног и монолитног система који је тешко одржавати и проширивати. С друге стране, систем с више агената могао би имати различите агенте специјализоване за проналажење летова, резервацију хотела и возила. Ово би учинило систем модуларнијим, лакшим за одржавање и скалабилним.
Упоредите ово са туристичком агенцијом као породичним предузећем у односу на туристичку агенцију као франшизу. Породична агенција има једног агента који управља свим аспектима резервације путовања, док франшиза има различите агенте који покривају различите делове процеса.
Пре него што имплементирате образац дизајна вишеструких агената, потребно је да разумете градивне јединице које га сачињавају.
Хајде да ово учинимо конкретнијим поновним освртом на пример резервације путовања за корисника. У овом случају, градивне јединице укључују:
Важно је имати видљивост у то како више агената међусобно комуницирају. Та видљивост је неопходна за дебаговање, оптимизацију и обезбеђивање ефикасности целокупног система. Да бисте постигли ово, требају вам алати и технике за праћење активности и интеракција агената. То може бити у виду алата за логовање и мониторинг, алата за визуелизацију и метрика перформанси.
На пример, у случају резервације путовања за корисника, могао би постојати контролни панел који приказује статус сваког агента, корисничке преференце и ограничења, и интеракције између агената. Тај панел може приказивати датуме путовања, летове које препоручује агент за летове, хотеле које препоручује хотелски агент и возила које препоручује агент за изнајмљивање аутомобила. Ово би пружило јасан преглед како агенти комуницирају и да ли су испуњене корисничке преференце и ограничења.
Погледајмо сваки од ових аспеката детаљније.
Алатке за логовање и мониторинг: Желите да се за сваку акцију агента води евиденција. Запис у дневнику може садржати информације о агенту који је извршио акцију, акцији која је предузета, времену извршења и резултату акције. Ове информације могу бити коришћене за дебаговање, оптимизацију и друге сврхе.
Алатке за визуелизацију: Алатке за визуелизацију вам могу помоћи да боље видите интеракције између агената. На пример, могли бисте имати графикон који приказује ток информација између агената. Ово вам може помоћи да идентификујете уске грла, неефикасности и друге проблеме у систему.
Метрике перформанси: Метрике перформанси могу помоћи у праћењу ефикасности система вишеструких агената. На пример, могли бисте пратити време потребно за извршавање задатка, број завршених задатака у јединици времена и прецизност препорука које дају агенти. Ове информације помажу у идентификовању области за побољшање и оптимизацију система.
Поглавимо неке конкретне обрасце које можемо користити за креирање апликација са вишеструким агентима. Ево неких занимљивих образаца које треба размотрити:
Овај образац је користан када желите да направите апликацију за групно ћаскање у којој више агената може комуницирати међусобно. Типичне примене укључују тимску сарадњу, корисничку подршку и друштвене мреже.
У овом образцу, сваки агент представља корисника у групном ћаскању, а поруке се размењују између агената коришћењем протокола за слање порука. Агенти могу слати поруке у групни ћаскање, примати поруке и одговарати на поруке других агената.
Овај образац може бити имплементиран коришћењем централизоване архитектуре где се све поруке усмеравају преко централизованог сервера, или децентрализоване архитектуре где се поруке размењују директно.

Овај образац је користан када желите да направите апликацију у којој више агената може један другом преносити задатке.
Типичне примене овог образца укључују корисничку подршку, управљање задацима и аутоматизацију радних токова.
У овом образцу, сваки агент представља задатак или корак у радном току, а задаци се могу преносити између агената на основу унапред дефинисаних правила.

Овај образац је користан када желите да направите апликацију у којој више агената сарађује у препорукама корисницима.
Разлог зашто желите више агената да сарађује је јер сваки агент може имати различиту експертизу која доприноси процесу препорука на различите начине.
Узмимо пример где корисник жели препоруку за најбољу акцију за куповину на берзи.

Размотрите сценарио где купац покушава да добије повраћај новца за производ. У том процесу може бити укључено доста агената, али хајде да их поделимо на оне који су специфични за овај процес и оне опште агенте који се могу користити и у другим процесима.
Агенти специфични за процес повраћаја новца:
Следе неки агенти који могу бити укључени у процес повраћаја:
Општи агенти:
Ови агенти се могу користити у другим деловима вашег пословања.
Навели смо доста агената, како специфичних за процес повраћаја, тако и општих који се могу користити у другим деловима вашег пословања. Надамо се да вам ово даје идеју како да одлучите које агенте користити у вашем систему вишеструких агената.
Дизајнирајте систем вишеструких агената за процес корисничке подршке. Идентификујте агенте укључене у процес, њихове улоге и одговорности, као и како међусобно интерагују. Размотрите и специфичне агенте за процес корисничке подршке и опште агенте који се могу користити у другим деловима вашег пословања.
Размислите пре читања следећег решења, можда ће вам требати више агената него што мислите.
САВЕТ: Размислите о различитим фазама процеса корисничке подршке и такође узмите у обзир агенте потребне за било који систем.
Који сценарио најбоље одговара систему са више агената?
Када је обично боље изабрати једног агента?
У овом часу смо погледали образац дизајна са више агената, укључујући сценарије где је применљив, предности коришћења више вођених агената у односу на једног агента, основне елементе имплементације овог образца и како имати видљивост у начине на који више агената међусобно интерагује.
Придружите се Microsoft Foundry Discord да упознате друге ученике, присуствујете радним сатима и добијете одговоре на питања о вашим AI агентима.
Изјава о одрицању одговорности: Овај документ је преведен коришћењем услуге за аутоматски превод Co-op Translator. Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.