(Кликните на слику изнад да бисте погледали видео овог часа)
Чим почнете да радите на пројекту који укључује више агената, мораћете да размотрите шаблон дизајна за више агената. Међутим, можда неће бити одмах јасно када прећи на више агената и које су предности.
У овом часу ћемо покушати да одговоримо на следећа питања:
- У којим сценаријима је примена више агената прикладна?
- Које су предности коришћења више агената у односу на једног агента који обавља више задатака?
- Који су основни елементи за имплементацију шаблона дизајна за више агената?
- Како можемо имати увид у то како више агената међусобно интерагују?
Након овог часа, требало би да будете у стању да:
- Идентификујете сценарије у којима је примена више агената прикладна.
- Препознате предности коришћења више агената у односу на једног агента.
- Разумете основне елементе имплементације шаблона дизајна за више агената.
Шта је шира слика?
Више агената представља шаблон дизајна који омогућава више агената да раде заједно како би постигли заједнички циљ.
Овај шаблон се широко користи у различитим областима, укључујући роботику, аутономне системе и дистрибуирано рачунарство.
Који су то сценарији у којима је коришћење више агената добро решење? Одговор је да постоји много сценарија у којима је примена више агената корисна, посебно у следећим случајевима:
- Велики обим посла: Велики обим посла може се поделити на мање задатке и доделити различитим агентима, што омогућава паралелну обраду и брже завршавање. Пример за ово је обрада великих количина података.
- Комплексни задаци: Комплексни задаци, као и велики обим посла, могу се разбити на мање подзадатке и доделити различитим агентима, од којих је сваки специјализован за одређени аспект задатка. Добар пример за ово су аутономна возила где различити агенти управљају навигацијом, детекцијом препрека и комуникацијом са другим возилима.
- Разноврсна експертиза: Различити агенти могу имати разноврсну експертизу, што им омогућава да ефикасније обрађују различите аспекте задатка него један агент. Пример за ово је здравство где агенти могу управљати дијагностиком, плановима лечења и праћењем пацијената.
Систем са једним агентом може добро функционисати за једноставне задатке, али за сложеније задатке коришћење више агената може донети неколико предности:
- Специјализација: Сваки агент може бити специјализован за одређени задатак. Недостатак специјализације код једног агента значи да имате агента који може радити све, али може бити збуњен када се суочи са сложеним задатком. На пример, може завршити радећи задатак за који није најбоље прилагођен.
- Скалабилност: Лакше је скалирати системе додавањем више агената него преоптерећивањем једног агента.
- Толеранција на грешке: Ако један агент откаже, други могу наставити да функционишу, обезбеђујући поузданост система.
Узмимо пример: резервисање путовања за корисника. Систем са једним агентом би морао да обрађује све аспекте процеса резервисања путовања, од проналажења летова до резервисања хотела и изнајмљивања аутомобила. Да би то постигао, један агент би морао да има алате за обраду свих ових задатака. Ово би могло довести до сложеног и монолитног система који је тешко одржавати и скалирати. Систем са више агената, с друге стране, могао би имати различите агенте специјализоване за проналажење летова, резервисање хотела и изнајмљивање аутомобила. Ово би учинило систем модуларнијим, лакшим за одржавање и скалабилним.
Упоредите ово са туристичком агенцијом коју води породична фирма у односу на туристичку агенцију која функционише као франшиза. Породична фирма би имала једног агента који обрађује све аспекте процеса резервисања путовања, док би франшиза имала различите агенте који обрађују различите аспекте процеса резервисања путовања.
Пре него што можете имплементирати шаблон дизајна за више агената, потребно је да разумете основне елементе који чине овај шаблон.
Хајде да ово учинимо конкретнијим поново гледајући пример резервисања путовања за корисника. У овом случају, основни елементи би укључивали:
- Комуникација агената: Агенти за проналажење летова, резервисање хотела и изнајмљивање аутомобила морају комуницирати и делити информације о корисниковим преференцијама и ограничењима. Потребно је одлучити о протоколима и методама за ову комуникацију. Конкретно, то значи да агент за проналажење летова мора комуницирати са агентом за резервисање хотела како би осигурао да је хотел резервисан за исте датуме као и лет. То значи да агенти морају делити информације о датумима путовања корисника, што значи да морате одлучити који агенти деле информације и како их деле.
- Механизми координације: Агенти морају координирати своје акције како би осигурали да су корисникове преференције и ограничења испуњени. Преференција корисника може бити да жели хотел близу аеродрома, док ограничење може бити да су изнајмљивање аутомобила доступно само на аеродрому. То значи да агент за резервисање хотела мора координирати са агентом за изнајмљивање аутомобила како би осигурао да су корисникове преференције и ограничења испуњени. То значи да морате одлучити како агенти координирају своје акције.
- Архитектура агената: Агенти морају имати унутрашњу структуру за доношење одлука и учење из интеракција са корисником. То значи да агент за проналажење летова мора имати унутрашњу структуру за доношење одлука о томе које летове препоручити кориснику. То значи да морате одлучити како агенти доносе одлуке и уче из интеракција са корисником. Примери како агент учи и побољшава се могу бити да агент за проналажење летова користи модел машинског учења за препоруку летова кориснику на основу његових претходних преференција.
- Увид у интеракције више агената: Потребно је имати увид у то како више агената међусобно интерагују. То значи да морате имати алате и технике за праћење активности и интеракција агената. Ово може бити у облику алата за логовање и праћење, алата за визуализацију и метрика перформанси.
- Шаблони за више агената: Постоје различити шаблони за имплементацију система са више агената, као што су централизоване, децентрализоване и хибридне архитектуре. Потребно је одлучити о шаблону који најбоље одговара вашем случају употребе.
- Човек у петљи: У већини случајева, имаћете човека у петљи и потребно је да инструишете агенте када да траже људску интервенцију. Ово може бити у облику корисника који тражи одређени хотел или лет који агенти нису препоручили или траже потврду пре резервисања лета или хотела.
Важно је да имате увид у то како више агената међусобно интерагују. Овај увид је од суштинског значаја за дебаговање, оптимизацију и обезбеђивање ефикасности целокупног система. Да бисте то постигли, потребно је да имате алате и технике за праћење активности и интеракција агената. Ово може бити у облику алата за логовање и праћење, алата за визуализацију и метрика перформанси.
На пример, у случају резервисања путовања за корисника, могли бисте имати контролну таблу која приказује статус сваког агента, корисникове преференције и ограничења, и интеракције између агената. Ова контролна табла могла би приказати датуме путовања корисника, летове које препоручује агент за летове, хотеле које препоручује агент за хотеле и изнајмљивање аутомобила које препоручује агент за изнајмљивање аутомобила. Ово би вам дало јасан увид у то како агенти међусобно интерагују и да ли су корисникове преференције и ограничења испуњени.
Хајде да погледамо сваки од ових аспеката детаљније.
-
Алати за логовање и праћење: Желите да имате логовање за сваку акцију коју агент предузме. Унос у лог може садржати информације о агенту који је предузео акцију, акцији која је предузета, времену када је акција предузета и исходу акције. Ове информације се могу користити за дебаговање, оптимизацију и више.
-
Алати за визуализацију: Алати за визуализацију могу вам помоћи да видите интеракције између агената на интуитивнији начин. На пример, могли бисте имати график који приказује ток информација између агената. Ово би вам могло помоћи да идентификујете уска грла, неефикасности и друге проблеме у систему.
-
Метрике перформанси: Метрике перформанси могу вам помоћи да пратите ефикасност система са више агената. На пример, могли бисте пратити време потребно за завршетак задатка, број задатака завршених по јединици времена и тачност препорука које агенти дају. Ове информације могу вам помоћи да идентификујете области за побољшање и оптимизујете систем.
Хајде да се удубимо у неке конкретне шаблоне које можемо користити за креирање апликација са више агената. Ево неких занимљивих шаблона које вреди размотрити:
Овај шаблон је користан када желите да креирате апликацију за групни чет где више агената може међусобно комуницирати. Типични случајеви употребе за овај шаблон укључују тимску сарадњу, корисничку подршку и друштвено умрежавање.
У овом шаблону, сваки агент представља корисника у групном чету, а поруке се размењују између агената користећи протокол за размену порука. Агенти могу слати поруке у групни чет, примати поруке из групног чета и одговарати на поруке других агената.
Овај шаблон се може имплементирати користећи централизовану архитектуру где се све поруке усмеравају преко централног сервера, или децентрализовану архитектуру где се поруке размењују директно.
Овај шаблон је користан када желите да креирате апликацију где више агената може преносити задатке један другом.
Типични случајеви употребе за овај шаблон укључују корисничку подршку, управљање задацима и аутоматизацију радних процеса.
У овом шаблону, сваки агент представља задатак или корак у радном процесу, а агенти могу преносити задатке другим агентима на основу унапред дефинисаних правила.
Овај шаблон је користан када желите да креирате апликацију где више агената може сарађивати како би давали препоруке корисницима.
Зашто бисте желели да више агената сарађује? Зато што сваки агент може имати различиту експертизу и може допринети процесу препоруке на различите начине.
Узмимо пример где корисник жели препоруку за најбољу акцију за куповину на берзи.
- Експерт за индустрију: Један агент може бити експерт за одређену индустрију.
- Техничка анализа: Други агент може бити експерт за техничку анализу.
- Фундаментална анализа: А трећи агент може бити експерт за фундаменталну анализу. Сарађујући, ови агенти могу пружити свеобухватнију препоруку кориснику.
Размотримо сценарио где корисник покушава да добије рефундацију за производ. У овом процесу може бити укључено доста агената, али хајде да их поделимо на агенте специфичне за овај процес и опште агенте који се могу користити у другим процесима.
Агенти специфични за процес рефундације:
Следе неки агенти који би могли бити укључени у процес рефундације:
- Агент за корисника: Овај агент представља корисника и одговоран је за покретање процеса рефундације.
- Агент за продавца: Овај агент представља продавца и одговоран је за обраду рефундације.
- Агент за плаћање: Овај агент представља процес плаћања и одговоран је за враћање уплате кориснику.
- Агент за решавање проблема: Овај агент представља процес решавања проблема и одговоран је за решавање било каквих проблема који се јаве током процеса рефундације.
- Агент за усаглашеност: Овај агент представља процес усаглашености и одговоран је за осигурање да процес рефундације буде у складу са прописима и политикама.
Општи агенти:
Ови агенти могу се користити у другим деловима вашег пословања.
- Агент за доставу: Овај агент представља процес доставе и одговоран је за враћање производа продавцу. Овај агент се може користити и за процес рефундације и за општу доставу производа, на пример, приликом куповине.
- Агент за повратне информације: Овај агент представља процес повратних информација и Дизајнирајте систем са више агената за процес корисничке подршке. Идентификујте агенте укључене у процес, њихове улоге и одговорности, као и како међусобно комуницирају. Размотрите и агенте специфичне за процес корисничке подршке и опште агенте који се могу користити у другим деловима вашег пословања.
Размислите пре него што прочитате следеће решење, можда ће вам требати више агената него што мислите.
TIP: Размислите о различитим фазама процеса корисничке подршке и такође узмите у обзир агенте који су потребни за било који систем.
Питање: Када треба размотрити коришћење више агената?
- A1: Када имате мали обим посла и једноставан задатак.
- A2: Када имате велики обим посла.
- A3: Када имате једноставан задатак.
У овој лекцији смо разматрали образац дизајна са више агената, укључујући сценарије у којима је примена више агената применљива, предности коришћења више агената у односу на једног агента, основне елементе за имплементацију обрасца дизајна са више агената, као и како имати увид у то како више агената међусобно комуницирају.
Придружите се Azure AI Foundry Discord за упознавање са другим ученицима, присуствовање консултацијама и добијање одговора на ваша питања о AI агентима.
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.


