ai-agents-for-beginners

Multi-agent design

(Klikk bildet ovenfor for å se videoen av denne leksjonen)

Designmønstre for multi-agent-systemer

Så snart du begynner å jobbe med et prosjekt som involverer flere agenter, må du vurdere designmønsteret for multi-agenter. Det kan imidlertid ikke være umiddelbart klart når du skal bytte til flere agenter og hva fordelene er.

Introduksjon

I denne leksjonen ønsker vi å svare på følgende spørsmål:

Læringsmål

Etter denne leksjonen bør du kunne:

Hva er det større bildet?

Multi-agenter er et designmønster som lar flere agenter samarbeide for å nå et felles mål.

Dette mønsteret brukes mye innen ulike felt, inkludert robotikk, autonome systemer og distribuert databehandling.

Scenarier der flere agenter er aktuelle

Så hvilke scenarier er et godt bruksområde for å bruke flere agenter? Svaret er at det finnes mange scenarier hvor det er fordelaktig å bruke flere agenter, spesielt i følgende tilfeller:

Fordeler ved å bruke flere agenter fremfor en enkelt agent

Et system med én enkelt agent kan fungere godt for enkle oppgaver, men for mer komplekse oppgaver kan bruk av flere agenter gi flere fordeler:

La oss ta et eksempel: la oss bestille en reise for en bruker. Et system med én enkelt agent måtte håndtere alle aspekter av reisebestillingsprosessen, fra å finne fly til å bestille hoteller og leiebiler. For å få dette til med én enkelt agent, måtte agenten ha verktøy for å håndtere alle disse oppgavene. Dette kunne føre til et komplekst og monolitisk system som er vanskelig å vedlikeholde og skalere. Et multi-agent-system, derimot, kunne ha forskjellige agenter som er spesialiserte på å finne fly, bestille hoteller og leiebiler. Dette ville gjøre systemet mer modularisert, lettere å vedlikeholde og skalerbart.

Sammenlign dette med et reisebyrå drevet som en familiedrevet butikk versus et reisebyrå drevet som en franchise. Den familiedrevne butikken ville ha en enkelt agent som håndterer alle aspekter av reisebestillingsprosessen, mens franchisen ville ha forskjellige agenter som håndterer ulike aspekter av prosessen.

Byggesteiner for implementering av designmønsteret for flere agenter

Før du kan implementere designmønsteret for flere agenter, må du forstå byggesteinene som utgjør mønsteret.

La oss gjøre dette mer konkret ved igjen å se på eksempelet med å bestille en reise for en bruker. I dette tilfellet vil byggesteinene inkludere:

Synlighet i samspillet mellom agenter

Det er viktig at du har innsikt i hvordan de flere agentene samhandler med hverandre. Denne synligheten er essensiell for feilsøking, optimalisering og for å sikre systemets samlede effektivitet. For å oppnå dette trenger du verktøy og teknikker for å spore agentaktiviteter og interaksjoner. Dette kan være i form av logg- og overvåkingsverktøy, visualiseringsverktøy og ytelsesmetrikker.

For eksempel, i tilfellet med å bestille en reise for en bruker, kan du ha et dashbord som viser statusen til hver agent, brukerens preferanser og begrensninger, og interaksjonene mellom agentene. Dette dashbordet kan vise brukerens reisedatoer, flyene anbefalt av flyagenten, hotellene anbefalt av hotellagenten og leiebilene anbefalt av leiebilagenten. Dette vil gi deg en klar oversikt over hvordan agentene samhandler med hverandre og om brukerens preferanser og begrensninger blir oppfylt.

La oss se nærmere på hver av disse aspektene.

Multi-agent-mønstre

La oss gå nærmere inn på noen konkrete mønstre vi kan bruke for å lage multi-agent-apper. Her er noen interessante mønstre verdt å vurdere:

Gruppesamtale

Dette mønsteret er nyttig når du ønsker å lage en gruppechat-applikasjon hvor flere agenter kan kommunisere med hverandre. Typiske bruksområder for dette mønsteret inkluderer team-samarbeid, kundestøtte og sosiale nettverk.

I dette mønsteret representerer hver agent en bruker i gruppechatten, og meldinger utveksles mellom agenter ved bruk av en meldingsprotokoll. Agentene kan sende meldinger til gruppechatten, motta meldinger fra gruppechatten og svare på meldinger fra andre agenter.

Dette mønsteret kan implementeres ved bruk av en sentralisert arkitektur hvor alle meldinger rutes gjennom en sentral server, eller en desentralisert arkitektur hvor meldinger utveksles direkte.

Gruppesamtale

Overlevering

Dette mønsteret er nyttig når du ønsker å lage en applikasjon hvor flere agenter kan overlevere oppgaver til hverandre.

Typiske bruksområder for dette mønsteret inkluderer kundestøtte, oppgavehåndtering og arbeidsflytautomatisering.

I dette mønsteret representerer hver agent en oppgave eller et steg i en arbeidsflyt, og agentene kan overlevere oppgaver til andre agenter basert på forhåndsdefinerte regler.

Overlevering

Kollaborativ filtrering

Dette mønsteret er nyttig når du ønsker å lage en applikasjon hvor flere agenter kan samarbeide om å gi anbefalinger til brukere.

Hvorfor du vil at flere agenter skal samarbeide er fordi hver agent kan ha forskjellig ekspertise og kan bidra til anbefalingsprosessen på ulike måter.

La oss ta et eksempel hvor en bruker ønsker en anbefaling på den beste aksjen å kjøpe på aksjemarkedet.

Anbefaling

Scenario: Refusjonsprosess

Vurder et scenario hvor en kunde prøver å få refusjon for et produkt; det kan være ganske mange agenter involvert i denne prosessen, men la oss dele dem opp i agenter som er spesifikke for denne prosessen og generelle agenter som kan brukes i andre prosesser.

Agenter spesifikke for refusjonsprosessen:

Følgende er noen agenter som kan være involvert i refusjonsprosessen:

Generelle agenter:

Disse agentene kan brukes av andre deler av virksomheten din.

Det er ganske mange agenter listet ovenfor, både for den spesifikke refusjonsprosessen og for de generelle agentene som kan brukes i andre deler av virksomheten din. Forhåpentligvis gir dette deg en idé om hvordan du kan beslutte hvilke agenter du skal bruke i ditt multi-agent-system.

Oppgave

Design et multi-agent-system for en kundeserviceprosess. Identifiser agentene som er involvert i prosessen, deres roller og ansvar, og hvordan de samhandler med hverandre. Vurder både agenter som er spesifikke for kundeserviceprosessen og generelle agenter som kan brukes i andre deler av virksomheten din.

Tenk litt før du leser følgende løsning, du kan trenge flere agenter enn du tror.

TIP: Tenk på de forskjellige fasene i kundestøtteprosessen og vurder også agenter som trengs for ethvert system.

Løsning

Løsning

Kunnskapssjekker

Question: Når bør du vurdere å bruke flere agenter?

Løsningsquiz

Oppsummering

I denne leksjonen har vi sett på multi-agent designmønsteret, inkludert scenarier hvor flere agenter er aktuelle, fordelene ved å bruke flere agenter i stedet for en enkelt agent, byggesteinene for å implementere multi-agent designmønsteret, og hvordan få innsikt i hvordan de ulike agentene samhandler med hverandre.

Har du flere spørsmål om multi-agent designmønsteret?

Bli med i Microsoft Foundry Discord for å treffe andre deltakere, delta på kontortid og få svar på spørsmål om AI-agenter.

Tilleggsressurser

Forrige leksjon

Planleggingsdesign

Neste leksjon

Metakognisjon i AI-agenter


Ansvarsfraskrivelse: Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vennligst vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Originaldokumentet på det opprinnelige språket skal anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.