ai-agents-for-beginners

Multi-agentni oblikovalski vzorci

(Kliknite zgornjo sliko za ogled videa te lekcije)

Multi-agentni oblikovalski vzorci

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.

Uvod

V tej lekciji bomo poskušali odgovoriti na naslednja vprašanja:

Cilji učenja

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.

Scenariji, kjer so primerni multi-agenti

Kateri scenariji so torej primerna uporaba multi-agentov? Odgovor je, da je veliko scenarijev, kjer je koristno uporabiti več agentov, zlasti v naslednjih primerih:

Prednosti uporabe multi-agentov v primerjavi z enim samim agentom

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.

Gradniki implementacije multi-agentnega oblikovalskega vzorca

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:

Vidljivost v interakcije med multi-agenti

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.

Multi-agentni vzorci

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:

Skupinski klepet

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.

Skupinski klepet

Prenos nalog (Hand-off)

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.

Prenos nalog

Kolaborativno filtriranje

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.

Priporočilo

Primer: Postopek vračila denarja

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.

Naloga

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.

Rešitev

Rešitev

Preverjanje znanja

Vprašanje 1

Kateri scenarij je najbolj primeren za sistem z več agenti?

Vprašanje 2

Kdaj je običajno boljša izbira en sam agent?

Rešitev kviza

Povzetek

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.

Imate več vprašanj o vzorcu načrtovanja več agentov?

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.

Dodatni viri

Prejšnja lekcija

Načrtovanje oblikovanja

Naslednja lekcija

Metakognicija v 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.