(Kliknite zgornjo sliko za ogled videa te lekcije)
Takoj, ko začnete delati na projektu, ki vključuje več agentov, boste morali upoštevati multi-agentni oblikovalski vzorec. Vendar pa morda takoj ni jasno, kdaj preiti na več agentov in kakšne so prednosti.
V tej lekciji bomo poskušali odgovoriti na naslednja vprašanja:
Po tej lekciji bi morali znati:
Kaj je širša slika?
Multi-agentni sistemi so oblikovalski vzorec, ki omogoča, da več agentov sodeluje pri doseganju skupnega cilja.
Ta vzorec se široko uporablja na različnih področjih, vključno z robotiko, avtonomnimi sistemi in distribuiranim računalništvom.
Kateri scenariji so torej primerna uporaba multi-agentov? Odgovor je, da je veliko scenarijev, kjer je koristno uporabiti več agentov, zlasti v naslednjih primerih:
Sistem z enim samim agentom bi lahko deloval dobro za preproste naloge, vendar pa uporaba več agentov za bolj zahtevne naloge prinaša več prednosti:
Vzemimo primer, rezervirajmo potovanje za uporabnika. Sistem z enim agentom bi moral obvladati vse vidike postopka rezervacije, od iskanja letov do rezervacije hotelov in izposoje vozil. Da to doseže z enim agentom, bi ta agent potreboval orodja za vse te naloge, kar bi lahko privedlo do kompleksnega in monolitnega sistema, ki je težko vzdrževati in razširiti. Multi-agentni sistem pa lahko ima različne agente, specializirane za iskanje letov, rezervacijo hotelov in izposojo avtomobilov. To naredi sistem bolj modularen, lažji za vzdrževanje in razširljiv.
Primerjajmo to z potovalno agencijo v lasti družine proti franšizi potovalnih agencij. Družinska agencija bi imela enega agenta, ki upravlja vse vidike postopka rezervacije, medtem ko bi franšiza imela različne agente, ki upravljajo različne vidike postopka rezervacije.
Preden lahko implementirate multi-agentni oblikovalski vzorec, morate razumeti gradnike, ki sestavljajo vzorec.
Ponovno naredimo primer bolj konkreten z rezervacijo potovanja za uporabnika. V tem primeru gradniki vključujejo:
Pomembno je, da imate vidljivost, kako si med seboj medsebojno delujejo mnogi agenti. Ta vidljivost je bistvena za odpravljanje napak, optimizacijo in zagotavljanje splošne učinkovitosti sistema. Da bi to dosegli, potrebujete orodja in tehnike za sledenje aktivnosti in interakcij agentov. To je lahko v obliki orodij za beleženje in nadzor, vizualizacijskih orodij in meritev zmogljivosti.
Na primer, pri rezervaciji potovanja za uporabnika bi lahko imeli nadzorno ploščo, ki prikazuje stanje vsakega agenta, uporabniške preference in omejitve ter interakcije med agenti. Ta nadzorna plošča bi lahko prikazovala datume potovanja uporabnika, lete, ki jih priporoča agent za lete, hotele, ki jih priporočajo agenti za hotele, in avtomobile za najem, ki jih priporočajo agenti za avtomobile. Tako bi imeli jasen pregled, kako se agenti medsebojno obnašajo in ali se upoštevajo uporabniške preference in omejitve.
Podrobneje si oglejmo vsak od teh vidikov.
Orodja za beleženje in nadzor: Želite beležiti vsako dejanje, ki ga izvede agent. Vnos v dnevnik bi lahko shranil informacije o agentu, ki je izvedel dejanje, katero dejanje je bilo izvedeno, kdaj je bilo izvedeno in kakšen je bil izid. Te informacije se lahko nato uporabijo za odpravljanje napak, optimizacijo in drugo.
Vizualizacijska orodja: Vizualizacijska orodja vam lahko pomagajo videti interakcije med agenti na bolj intuitiven način. Na primer, lahko imate graf, ki prikazuje potek informacij med agenti. To vam lahko pomaga prepoznati ozka grla, neučinkovitosti in druge težave v sistemu.
Metrike zmogljivosti: Metrike zmogljivosti vam lahko pomagajo spremljati učinkovitost multi-agentnega sistema. Na primer, lahko merite čas, potreben za dokončanje naloge, število opravljenih nalog na enoto časa in natančnost priporočil, ki jih podajo agenti. Te informacije vam lahko pomagajo prepoznati področja za izboljšave in optimizacijo sistema.
Pogledali si bomo nekaj konkretnih vzorcev, ki jih lahko uporabimo za ustvarjanje multi-agentnih aplikacij. Tukaj je nekaj zanimivih vzorcev, ki jih je vredno upoštevati:
Ta vzorec je uporaben, če želite ustvariti aplikacijo za skupinski klepet, kjer lahko več agentov komunicira med seboj. Tipični primeri uporabe za ta vzorec vključujejo timsko sodelovanje, podporo strankam in družbena omrežja.
V tem vzorcu vsak agent predstavlja uporabnika v skupinskem klepetu, sporočila pa si izmenjujejo med agenti z uporabo protokola za sporočanje. Agenti lahko pošiljajo sporočila v skupinski klepet, prejemajo sporočila iz skupinskega klepeta in odgovarjajo na sporočila drugih agentov.
Ta vzorec je mogoče implementirati z centralizirano arhitekturo, kjer so vsa sporočila usmerjena skozi osrednji strežnik, ali decentralizirano arhitekturo, kjer se sporočila izmenjujejo neposredno.

Ta vzorec je uporaben, če želite ustvariti aplikacijo, kjer si lahko več agentov prenaša naloge.
Tipični primeri uporabe tega vzorca vključujejo podporo strankam, upravljanje nalog in avtomatizacijo delovnih procesov.
V tem vzorcu vsak agent predstavlja nalogo ali korak v delovnem toku, agenti pa lahko naloge prenašajo drugim agentom glede na vnaprej določena pravila.

Ta vzorec je uporaben, če želite ustvariti aplikacijo, kjer lahko več agentov sodeluje pri izdelavi priporočil uporabnikom.
Razlog, zakaj želite, da več agentov sodeluje, je, da ima lahko vsak agent različne strokovne veščine in lahko na različne načine prispeva k postopku priporočanja.
Vzemimo primer, kjer uporabnik želi priporočilo za najboljši delniški nakup na borzi.

Upoštevajte scenarij, kjer kupec želi dobiti vračilo za izdelek, pri tem je lahko v postopek vključenih precej agentov, a jih bomo razdelili na agente, specifične za ta postopek, in splošne agente, ki jih lahko uporabljamo tudi za druge postopke.
Agenti specifični za postopek vračila:
Spodaj je nekaj agentov, ki bi lahko sodelovali v postopku vračila:
Splošni agenti:
Ti agenti se lahko uporabljajo tudi v drugih delih vašega poslovanja.
Prej je bilo naštetih kar nekaj agentov, tako za specifičen postopek vračila kot za splošne agente, ki jih lahko uporabljate tudi v drugih delih vašega poslovanja. Upamo, da vam to daje idejo, kako se lahko odločite, katere agente uporabiti v vašem multi-agentnem sistemu.
Oblikujte multi-agentni sistem za postopek podpore strankam. Prepoznajte agente, vključene v postopek, njihove vloge in odgovornosti ter kako medsebojno delujejo. Upoštevajte tako agente, specifične za postopek podpore strankam, kot tudi splošne agente, ki jih lahko uporabljate v drugih delih vašega poslovanja.
Preden preberete naslednjo rešitev, malo pomislite, morda boste potrebovali več agentov, kot mislite.
NAMIG: Razmislite o različnih fazah procesa podpore strankam in upoštevajte tudi agente, potrebne za kakršenkoli sistem.
Kateri scenarij je najbolj primeren za sistem z več agenti?
Kdaj je običajno boljša izbira en sam agent?
V tej lekciji smo si ogledali vzorec načrtovanja več agentov, vključno s scenariji, kjer so več agenti uporabni, prednostmi uporabe več agentov namesto enega samega, gradniki za implementacijo vzorca načrtovanja več agentov in kako imeti pregled nad tem, kako si med seboj medsebojno sodelujejo.
Pridružite se Microsoft Foundry Discord, da se srečate z drugimi učenci, se udeležite uric in dobite odgovore na vprašanja o AI agentih.
Omejitev odgovornosti: Ta dokument je bil preveden z uporabo AI prevajalske storitve Co-op Translator. Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da avtomatizirani prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za kritične informacije je priporočljiv strokovni človeški prevod. Ne odgovarjamo za morebitna nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda.