(Klik på billedet ovenfor for at se videoen af denne lektion)
Så snart du begynder at arbejde på et projekt, der involverer flere agenter, skal du overveje multi-agent designmønsteret. Det er dog ikke altid umiddelbart klart, hvornår man skal skifte til multi-agenter, og hvad fordelene er.
I denne lektion vil vi besvare følgende spørgsmål:
Efter denne lektion bør du kunne:
Hvad er det store billede?
Multi-agenter er et designmønster, der tillader flere agenter at arbejde sammen for at nå et fælles mål.
Dette mønster anvendes bredt inden for forskellige felter, herunder robotik, autonome systemer og distribueret databehandling.
Hvilke scenarier egner sig så godt til brug af multi-agenter? Svaret er, at der er mange scenarier, hvor anvendelse af flere agenter er fordelagtigt især i følgende tilfælde:
Et enkelt agentsystem kan fungere godt for simple opgaver, men ved mere komplekse opgaver kan brugen af flere agenter give flere fordele:
Lad os tage et eksempel, lad os booke en rejse for en bruger. Et enkelt agentsystem skulle håndtere alle aspekter af rejsebookingsprocessen, fra at finde fly til at booke hoteller og lejebiler. For at opnå dette med en enkelt agent, skulle agenten have værktøjer til at håndtere alle disse opgaver. Det kunne føre til et komplekst og monolitisk system, der er svært at vedligeholde og skalere. Et multi-agent system kunne derimod have forskellige agenter specialiseret i at finde fly, booke hoteller og lejebiler. Dette ville gøre systemet mere modulært, lettere at vedligeholde og skalerbart.
Sammenlign dette med et rejsebureau drevet som en familiebutik versus et rejsebureau drevet som en franchise. Familiebutikken ville have en enkelt agent, der håndterer alle aspekter af rejsebookingsprocessen, mens franchisen ville have forskellige agenter, der håndterer forskellige aspekter af rejsebookingsprocessen.
Før du kan implementere multi-agent designmønsteret, skal du forstå byggestenene, der udgør mønsteret.
Lad os gøre dette mere konkret ved igen at kigge på eksemplet med at booke en rejse for en bruger. I dette tilfælde vil byggestenene omfatte:
Det er vigtigt, at du har synlighed i, hvordan de flere agenter interagerer med hinanden. Denne synlighed er essentiel for fejlfinding, optimering og sikring af systemets samlede effektivitet. For at opnå dette skal du have værktøjer og teknikker til at følge agentaktiviteter og interaktioner. Dette kan være i form af log- og overvågningsværktøjer, visualiseringsværktøjer og performancemål.
For eksempel, i tilfælde af at booke en rejse for en bruger, kunne du have et dashboard, der viser status for hver agent, brugerens præferencer og begrænsninger, samt interaktionerne mellem agenterne. Dette dashboard kunne vise brugerens rejsedatoer, de fly, som flyagenten anbefaler, de hoteller, som hotelagenten anbefaler, og lejebilerne, som lejebilagenten anbefaler. Dette ville give dig et klart overblik over, hvordan agenterne interagerer med hinanden, og om brugerens præferencer og begrænsninger bliver opfyldt.
Lad os se nærmere på hver af disse aspekter.
Lognings- og overvågningsværktøjer: Du vil have logning for hver handling, en agent foretager. En logpost kan gemme information om den agent, der udførte handlingen, den udførte handling, tidspunktet for handlingen og resultatet af handlingen. Denne information kan så bruges til fejlfinding, optimering og mere.
Visualiseringsværktøjer: Visualiseringsværktøjer kan hjælpe dig med at se interaktionerne mellem agenter på en mere intuitiv måde. For eksempel kunne du have en graf, der viser informationsstrømmen mellem agenter. Dette kan hjælpe dig med at identificere flaskehalse, ineffektiviteter og andre problemer i systemet.
Performancemål: Performancemål kan hjælpe dig med at følge effektiviteten af multi-agent systemet. For eksempel kunne du følge den tid, det tager at fuldføre en opgave, antallet af opgaver fuldført pr. tidsenhed og nøjagtigheden af anbefalingerne fra agenterne. Denne information kan hjælpe dig med at identificere forbedringsområder og optimere systemet.
Lad os dykke ned i nogle konkrete mønstre, vi kan bruge til at skabe multi-agent apps. Her er nogle interessante mønstre, der er værd at overveje:
Dette mønster er nyttigt, når du ønsker at skabe en gruppechat-applikation, hvor flere agenter kan kommunikere med hinanden. Typiske brugstilfælde for dette mønster inkluderer teamsamarbejde, kundesupport og sociale netværk.
I dette mønster repræsenterer hver agent en bruger i gruppechatten, og meddelelser udveksles mellem agenter ved hjælp af en messaging-protokol. Agenterne kan sende beskeder til gruppechatten, modtage beskeder fra gruppechatten og svare på beskeder fra andre agenter.
Dette mønster kan implementeres ved hjælp af en centraliseret arkitektur, hvor alle beskeder rutes gennem en central server, eller en decentraliseret arkitektur, hvor beskeder udveksles direkte.

Dette mønster er nyttigt, når du ønsker at skabe en applikation, hvor flere agenter kan overdrage opgaver til hinanden.
Typiske brugstilfælde for dette mønster inkluderer kundesupport, opgavestyring og workflow-automatisering.
I dette mønster repræsenterer hver agent en opgave eller et trin i en arbejdsgang, og agenter kan overdrage opgaver til andre agenter baseret på foruddefinerede regler.

Dette mønster er nyttigt, når du ønsker at skabe en applikation, hvor flere agenter kan samarbejde om at lave anbefalinger til brugere.
Årsagen til at have flere agenter, der samarbejder, er, at hver agent kan have forskellig ekspertise og kan bidrage til anbefalingsprocessen på forskellige måder.
Lad os tage et eksempel, hvor en bruger ønsker en anbefaling om den bedste aktie at købe på aktiemarkedet.

Overvej et scenarie, hvor en kunde forsøger at få en refusion for et produkt, der kan være ret mange agenter involveret i denne proces, men lad os opdele det mellem agenter specifikke for denne proces og generelle agenter, der kan bruges i andre processer.
Agenter specifikke for refusionsprocessen:
Følgende er nogle agenter, der kunne være involveret i refusionsprocessen:
Generelle agenter:
Disse agenter kan bruges af andre dele af din virksomhed.
Der er ret mange agenter listet tidligere både for den specifikke refusionsproces men også for de generelle agenter, der kan bruges i andre dele af din virksomhed. Forhåbentlig giver dette dig en idé om, hvordan du kan beslutte, hvilke agenter du skal bruge i dit multi-agent system.
Design et multi-agent system for en kundesupportproces. Identificer de agenter, der er involveret i processen, deres roller og ansvar, og hvordan de interagerer med hinanden. Overvej både agenter specifikke for kundesupportprocessen og generelle agenter, der kan bruges i andre dele af din virksomhed.
Tænk dig godt om, før du læser den følgende løsning, du kan få brug for flere agenter, end du tror.
TIP: Overvej de forskellige faser i kundesupportprocessen, og tænk også på de agenter, der er nødvendige for ethvert system.
Hvilket scenarie er den bedste pasform til et multi-agent system?
Hvornår er en enkelt agent normalt det bedste valg?
I denne lektion har vi set på multi-agent designmønsteret, herunder de scenarier, hvor multi-agenter er anvendelige, fordelene ved at bruge multi-agenter frem for en enkelt agent, byggestenene til implementering af multi-agent designmønsteret, og hvordan man får indsigt i, hvordan de mange agenter interagerer med hinanden.
Deltag i Microsoft Foundry Discord for at mødes med andre lærende, deltage i kontortimer og få svar på dine spørgsmål om AI-agenter.
Ansvarsfraskrivelse: Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse.