(Kliknite na gornju sliku za pregled videa ove lekcije)
Čim počnete raditi na projektu koji uključuje više agenata, morat ćete razmotriti obrazac dizajna višestrukih agenata. Međutim, možda neće biti odmah jasno kada preći na višestruke agente i koje su prednosti.
U ovoj lekciji pokušavamo odgovoriti na sljedeća pitanja:
Nakon ove lekcije trebali biste biti u stanju:
Koja je šira slika?
Višestruki agenti su obrazac dizajna koji omogućuje da više agenata surađuje kako bi ostvarilo zajednički cilj.
Ovaj obrazac se široko koristi u raznim područjima, uključujući robotiku, autonomne sustave i distribuirano računarstvo.
Koje situacije su dobar slučaj za korištenje višestrukih agenata? Odgovor je da postoji mnogo situacija u kojima je korisno angažirati više agenata, naročito u sljedećim slučajevima:
Sustav s jednim agentom može dobro funkcionirati za jednostavne zadatke, ali za složenije zadatke korištenje više agenata može imati nekoliko prednosti:
Uzmimo primjer, rezervirajmo putovanje za korisnika. Sustav s jednim agentom morao bi upravljati svim aspektima procesa rezervacije putovanja, od pronalaska letova do rezervacije hotela i najma automobila. Da bi to postigao, agent bi morao imati alate za sve te zadatke. To bi moglo dovesti do složenog i monolitnog sustava koji je teško održavati i skalirati. Sustav s višestrukim agentima, s druge strane, mogao bi imati različite agente specijalizirane za pronalazak letova, rezervaciju hotela i najam automobila. To bi sustav učinilo modularnijim, lakšim za održavanje i skalabilnim.
Usporedite to s putničkom agencijom vođenom kao obiteljski posao u usporedbi s franšizom. Obiteljski posao imao bi jednog agenta koji upravlja svim aspektima procesa rezervacije putovanja, dok franšiza ima različite agente koji upravljaju različitim aspektima procesa rezervacije.
Prije nego što možete implementirati obrazac dizajna višestrukih agenata, morate razumjeti gradivne blokove koji tvorе obrazac.
Učinit ćemo to konkretnijim ponovno gledajući primjer rezervacije putovanja za korisnika. U ovom slučaju gradivni blokovi bi uključivali:
Važno je da imate uvid u to kako višestruki agenti međusobno komuniciraju. Taj uvid je ključan za otklanjanje pogrešaka, optimizaciju i osiguravanje učinkovitosti cijelog sustava. Da biste to postigli, morate imati alate i tehnike za praćenje aktivnosti i interakcija agenata. To može biti u obliku alata za zapisivanje i nadzor, vizualizacijskih alata i metrike performansi.
Na primjer, u slučaju rezervacije putovanja za korisnika, mogli biste imati kontrolnu ploču koja prikazuje status svakog agenta, korisničke preferencije i ograničenja te interakcije među agentima. Ova kontrolna ploča može prikazivati datume putovanja korisnika, letove koje je preporučio agent za letove, hotele koje je preporučio agent za hotele te najam automobilа kojeg je preporučio agent za najam. To bi vam dalo jasan pregled kako agenti međusobno komuniciraju i ispunjavaju li korisničke preferencije i ograničenja.
Pogledajmo svaki od ovih aspekata detaljnije.
Alati za zapisivanje i nadzor: Želite bilježiti svaku akciju koju agent poduzme. Zapis u dnevnik može čuvati informacije o agentu koji je poduzeo akciju, akciji koja je poduzeta, vremenu kada je akcija poduzeta i ishodu akcije. Ove informacije tada se mogu koristiti za otklanjanje pogrešaka, optimizaciju i drugo.
Vizualizacijski alati: Vizualizacijski alati mogu vam pomoći da vidite interakcije među agentima na intuitivniji način. Na primjer, mogli biste imati graf koji prikazuje protok informacija između agenata. To može pomoći u identifikaciji uskih grla, neučinkovitosti i drugih problema u sustavu.
Metrički pokazatelji performansi: Metrički pokazatelji mogu vam pomoći pratiti učinkovitost sustava višestrukih agenata. Na primjer, mogli biste pratiti vrijeme potrebno za izvršenje zadatka, broj zadataka završenih u jedinici vremena i točnost preporuka koje daju agenti. Te informacije pomažu u pronalaženju područja za poboljšanje i optimizaciji sustava.
Idemo se upoznati s konkretnim obrascima koje možemo koristiti za stvaranje aplikacija s višestrukim agentima. Evo nekoliko zanimljivih obrazaca vrijednih razmatranja:
Ovaj obrazac je koristan kada želite stvoriti aplikaciju za grupni chat u kojoj se više agenata mogu međusobno komunicirati. Tipični slučajevi uporabe ovog obrasca uključuju timsku suradnju, korisničku podršku i društveno umrežavanje.
U ovom obrascu, svaki agent predstavlja korisnika u grupnom chatu, a poruke se razmjenjuju između agenata koristeći protokol poruka. Agenti mogu slati poruke u grupni chat, primati poruke iz grupnog chata i odgovarati na poruke drugih agenata.
Ovaj se obrazac može implementirati koristeći centraliziranu arhitekturu gdje se sve poruke usmjeravaju putem središnjeg poslužitelja, ili decentraliziranu arhitekturu gdje se poruke razmjenjuju izravno.

Ovaj obrazac je koristan kada želite stvoriti aplikaciju gdje više agenata može predavati zadatke jedan drugome.
Tipični slučajevi uporabe ovog obrasca uključuju korisničku podršku, upravljanje zadacima i automatizaciju tijeka rada.
U ovom obrascu, svaki agent predstavlja zadatak ili korak u tijeku rada, a agenti mogu predavati zadatke drugim agentima na osnovi unaprijed definiranih pravila.

Ovaj obrazac je koristan kada želite stvoriti aplikaciju u kojoj više agenata može surađivati kako bi dali preporuke korisnicima.
Zašto biste željeli da više agenata surađuje? Zato što svaki agent može imati različitu stručnost i može na različite načine doprinositi procesu preporuke.
Uzmimo primjer gdje korisnik želi preporuku za najbolju dionicu za kupnju na burzi.

Razmotrite scenarij u kojem kupac pokušava dobiti povrat novca za proizvod, u tom je procesu uključeno dosta agenata, ali podijelit ćemo ih na agente specifične za taj proces i opće agente koji se mogu koristiti u drugim procesima.
Agenti specifični za proces povrata novca:
Slijede neki agenti koji bi mogli biti uključeni u proces povrata novca:
Opći agenti:
Ovi agenti se mogu koristiti i u drugim dijelovima vašeg poslovanja.
Puno je agenata nabrojano, kako specifičnih za proces povrata, tako i općih agenata koji se mogu koristiti u drugim dijelovima poslovanja. Nadamo se da vam to daje ideju kako možete odlučiti koje agente koristiti u sustavu višestrukih agenata.
Dizajnirajte sustav višestrukih agenata za proces korisničke podrške. Identificirajte agente uključene u proces, njihove uloge i odgovornosti te kako međusobno komuniciraju. Uzmite u obzir kako agente specifične za korisničku podršku tako i opće agente koji se mogu koristiti u drugim dijelovima vašeg poslovanja.
Razmislite prije nego što pročitate sljedeće rješenje, možda će vam trebati više agenata nego što mislite.
SAVJET: Razmislite o različitim fazama procesa korisničke podrške i također uzmite u obzir agente potrebne za bilo koji sustav.
Koji je scenarij najsnažniji za sustav s više agenata?
Kada je pojedinačni agent obično bolji izbor?
U ovoj lekciji pogledali smo obrazac dizajna s više agenata, uključujući scenarije u kojima se više agenata može primijeniti, prednosti korištenja više agenata u odnosu na jednog agenta, gradivne blokove za implementaciju obrasca dizajna s više agenata i kako imati pregled nad interakcijama između više agenata.
Pridružite se Microsoft Foundry Discord kako biste se upoznali s drugim polaznicima, sudjelovali na radnim satima i dobili odgovore na pitanja o AI agentima.
Napomena: Ovaj dokument je preveden korištenjem AI prevoditeljskog servisa Co-op Translator. Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporuča se profesionalni ljudski prijevod. Nismo odgovorni za bilo kakva nesporazumevanja ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.