ai-agents-for-beginners

Multi-Agent Design

(Klicka på bilden ovan för att se videon av denna lektion)

Multi-agent designmönster

Så fort du börjar arbeta på ett projekt som involverar flera agenter behöver du överväga multi-agent designmönster. Det kanske dock inte är omedelbart tydligt när man ska byta till multi-agenter och vilka fördelarna är.

Introduktion

I denna lektion försöker vi besvara följande frågor:

Lärandemål

Efter denna lektion bör du kunna:

Vad är den större bilden?

Multi-agenter är ett designmönster som tillåter flera agenter att arbeta tillsammans för att uppnå ett gemensamt mål.

Detta mönster används i stor utsträckning inom olika områden, inklusive robotik, autonoma system och distribuerad databehandling.

Scenarier där multi-agenter är tillämpliga

Så vilka scenarier är en bra användning för multi-agenter? Svaret är att det finns många scenarier där det är fördelaktigt att använda flera agenter, särskilt i följande fall:

Fördelar med att använda multi-agenter jämfört med en enda agent

Ett system med en enda agent kan fungera väl för enkla uppgifter, men för mer komplexa uppgifter kan användningen av flera agenter ge flera fördelar:

Låt oss ta ett exempel, låt oss boka en resa för en användare. Ett system med en enda agent skulle behöva hantera alla aspekter av resebokningsprocessen, från att hitta flyg till att boka hotell och hyrbilar. För att uppnå detta med en enda agent skulle agenten behöva ha verktyg för att hantera alla dessa uppgifter. Detta kan leda till ett komplext och monolitiskt system som är svårt att underhålla och skala. Ett multi-agent system, å andra sidan, kan ha olika agenter specialiserade på att hitta flyg, boka hotell och hyrbilar. Detta skulle göra systemet mer modulärt, lättare att underhålla och skalbart.

Jämför detta med en resebyrå som drivs som en kvartersbutik kontra en resebyrå som drivs som en franchise. Kvartersbutiken skulle ha en enda agent som hanterar alla aspekter av resebokningsprocessen, medan franchisen skulle ha olika agenter som hanterar olika delar av processen.

Byggstenar för att implementera multi-agent designmönster

Innan du kan implementera multi-agent designmönster behöver du förstå byggstenarna som utgör mönstret.

Låt oss göra detta mer konkret genom att återigen titta på exemplet att boka en resa för en användare. I detta fall skulle byggstenarna inkludera:

Insyn i multi-agent interaktioner

Det är viktigt att du har insyn i hur flera agenter interagerar med varandra. Denna insyn är avgörande för felsökning, optimering och för att säkerställa systemets övergripande effektivitet. För att uppnå detta behöver du ha verktyg och tekniker för att spåra agenters aktiviteter och interaktioner. Detta kan vara i form av logg- och övervakningsverktyg, visualiseringsverktyg och prestandamått.

Till exempel, vid bokning av en resa för en användare, kan du ha en instrumentpanel som visar statusen för varje agent, användarens preferenser och begränsningar samt interaktionerna mellan agenterna. Denna instrumentpanel kan visa användarens resedatum, flygen som rekommenderas av flygagenten, hotellen som rekommenderas av hotelagenten och hyrbilarna som rekommenderas av hyrbilsagenten. Detta skulle ge dig en tydlig bild av hur agenterna interagerar med varandra och om användarens preferenser och begränsningar uppfylls.

Låt oss titta närmare på var och en av dessa aspekter.

Multi-agentmönster

Låt oss dyka in i några konkreta mönster som vi kan använda för att skapa multi-agent-appar. Här är några intressanta mönster värda att överväga:

Gruppchatt

Detta mönster är användbart när du vill skapa en gruppchattapplikation där flera agenter kan kommunicera med varandra. Typiska användningsområden för detta mönster inkluderar teamarbete, kundsupport och sociala nätverk.

I detta mönster representerar varje agent en användare i gruppchatten, och meddelanden utbyts mellan agenter med hjälp av ett meddelandeprotokoll. Agenterna kan skicka meddelanden till gruppchatten, ta emot meddelanden från gruppchatten och svara på meddelanden från andra agenter.

Detta mönster kan implementeras med en centraliserad arkitektur där alla meddelanden dirigeras genom en central server, eller en decentraliserad arkitektur där meddelanden utbyts direkt.

Group chat

Överlämning

Detta mönster är användbart när du vill skapa en applikation där flera agenter kan överlämna uppgifter till varandra.

Typiska användningsområden för detta mönster inkluderar kundsupport, uppgiftshantering och automatisering av arbetsflöden.

I detta mönster representerar varje agent en uppgift eller ett steg i ett arbetsflöde, och agenter kan överlämna uppgifter till andra agenter baserat på fördefinierade regler.

Hand off

Samarbetsfiltrering

Detta mönster är användbart när du vill skapa en applikation där flera agenter kan samarbeta för att göra rekommendationer till användare.

Varför du vill att flera agenter ska samarbeta är för att varje agent kan ha olika expertis och kan bidra till rekommendationsprocessen på olika sätt.

Låt oss ta ett exempel där en användare vill ha rekommendation på den bästa aktien att köpa på aktiemarknaden.

Recommendation

Scenario: Återbetalningsprocess

Tänk på ett scenario där en kund försöker få återbetalning för en produkt, det kan finnas ganska många agenter involverade i denna process men låt oss dela upp dem mellan agenter som är specifika för denna process och generella agenter som kan användas i andra processer.

Agenter specifika för återbetalningsprocessen:

Följande är några agenter som kan vara inblandade i återbetalningsprocessen:

Generella agenter:

Dessa agenter kan användas av andra delar av din verksamhet.

Det finns ganska många agenter listade ovan både för den specifika återbetalningsprocessen men också för de generella agenter som kan användas i andra delar av din verksamhet. Förhoppningsvis ger detta dig en idé om hur du kan bestämma vilka agenter du ska använda i ditt multi-agent system.

Uppgift

Designa ett multi-agent system för en kundsupportprocess. Identifiera agenterna som är involverade i processen, deras roller och ansvar, och hur de interagerar med varandra. Överväg både agenter som är specifika för kundsupportprocessen och generella agenter som kan användas i andra delar av din verksamhet.

Tänk efter innan du läser följande lösning, du kan behöva fler agenter än du tror.

TIPS: Tänk på de olika etapperna i kundsupportprocessen och fundera också på agenter som behövs för något system.

Lösning

Lösning

Kunskapskontroller

Fråga: När bör du överväga att använda flera agenter?

Lösningsquiz

Sammanfattning

I denna lektion har vi tittat på mönstret för flera agenter, inklusive de scenarier där flera agenter är tillämpliga, fördelarna med att använda flera agenter istället för en enskild agent, byggstenarna för att implementera mönstret för flera agenter och hur man får insyn i hur de flera agenterna interagerar med varandra.

Fler frågor om mönstret för flera agenter?

Gå med i Microsoft Foundry Discord för att träffa andra lärande, delta i kontorstider och få dina frågor om AI-agenter besvarade.

Ytterligare resurser

Föregående lektion

Planeringsdesign

Nästa lektion

Metakognition i AI-agenter


Ansvarsfriskrivning: Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, var vänlig observera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För viktig information rekommenderas professionell mänsklig översättning. Vi tar inget ansvar för missförstånd eller feltolkningar som uppstår från användningen av denna översättning.