Dela via


AI-agentorkestreringsmönster

När arkitekter och utvecklare utformar sin arbetsbelastning för att dra full nytta av språkmodellfunktioner blir AI-agentsystem alltmer komplexa. Dessa system överskrider ofta kapaciteten hos en enda agent som har åtkomst till många verktyg och kunskapskällor. I stället använder dessa system orkestreringar med flera agenter för att hantera komplexa samarbetsuppgifter på ett tillförlitligt sätt. Den här guiden beskriver grundläggande orkestreringsmönster för arkitekturer med flera agenter och hjälper dig att välja den metod som passar dina specifika krav.

Översikt

När du använder flera AI-agenter kan du dela upp komplexa problem i specialiserade arbets- eller kunskapsenheter. Du tilldelar varje uppgift till dedikerade AI-agenter som har specifika funktioner. Dessa metoder speglar strategier som finns i mänskligt teamarbete. Att använda flera agenter ger flera fördelar jämfört med monolitiska lösningar med en agent.

  • Specialisering: Enskilda agenter kan fokusera på en specifik domän eller funktion, vilket minskar kod och snabb komplexitet.

  • Skalbarhet: Agenter kan läggas till eller ändras utan att hela systemet designas om.

  • Underhåll: Testning och felsökning kan fokuseras på enskilda agenter, vilket minskar komplexiteten i dessa uppgifter.

  • Optimering: Varje agent kan använda distinkta modeller, uppgiftslösningsmetoder, kunskap, verktyg och beräkning för att uppnå sina resultat.

Mönstren i den här guiden visar beprövade metoder för att samordna flera agenter för att arbeta tillsammans och uppnå ett resultat. Varje mönster är optimerat för olika typer av samordningskrav. Dessa AI-agentorkestreringsmönster kompletterar och utökar traditionella molndesignmönster genom att hantera de unika utmaningarna med att samordna autonoma komponenter i AI-drivna arbetsbelastningsfunktioner.

Sekventiell orkestrering

Det sekventiella orkestreringsmönstret kedjar AI-agenter i en fördefinierad, linjär ordning. Varje agent bearbetar utdata från den tidigare agenten i sekvensen, vilket skapar en pipeline med specialiserade omvandlingar.

Diagram som visar sekventiell orkestrering där agenter bearbetar uppgifter i en definierad pipelineordning. Utdata flödar från en agent till en annan.

Det sekventiella orkestreringsmönstret löser problem som kräver stegvis bearbetning, där varje steg bygger på föregående steg. Den passar arbetsflöden som har tydliga beroenden och förbättrar utdatakvaliteten genom progressiv förfining. Det här mönstret liknar designmönstret Pipes och Filter, men det använder AI-agenter i stället för anpassade bearbetningskomponenter som är kodade. Valet av vilken agent som anropas härnäst definieras deterministiskt som en del av arbetsflödet och är inte ett val som ges till agenter i processen.

När ska man använda sekventiell orkestrering

Överväg mönstret för sekventiell orkestrering i följande scenarier:

  • Flerstegsprocesser som har tydliga linjära beroenden och förutsägbar arbetsflödesprogression

  • Datatransformeringspipelines, där varje steg lägger till ett specifikt värde som nästa steg är beroende av

  • Arbetsflödessteg som inte kan parallelliseras

  • Krav på progressiv förfining, till exempel utkast, granskning, förbättring arbetsflöden

  • System där du förstår tillgänglighets- och prestandaegenskaperna för varje AI-agent i pipelinen och där fel eller fördröjningar i en AI-agent bearbetning kan tolereras för att den övergripande uppgiften ska kunna utföras

När du ska undvika sekventiell orkestrering

Undvik det här mönstret i följande scenarier:

  • Faser är pinsamt parallella. Du kan parallellisera dem utan att äventyra kvaliteten eller skapa konkurrens om delat tillstånd.

  • Processer som bara innehåller några steg som en enda AI-agent kan utföra effektivt.

  • Tidiga faser kan misslyckas eller generera utdata av låg kvalitet, och det finns inget rimligt sätt att förhindra att senare steg bearbetas med hjälp av ackumulerade felutdata.

  • AI-agenter måste samarbeta i stället för att lämna över arbetet.

  • Arbetsflödet kräver återspårning eller iteration.

  • Du behöver dynamisk routning baserat på mellanliggande resultat.

Exempel på sekventiell orkestrering

En advokatbyrås programvara för dokumenthantering använder sekventiella agenter för kontraktsgenerering. Det intelligenta programmet bearbetar begäranden via en pipeline med fyra specialiserade agenter. De sekventiella och fördefinierade pipelinestegen säkerställer att varje agent fungerar med de fullständiga utdata från föregående fas.

Diagram som visar sekventiell orkestrering där en pipeline för att skapa dokument implementeras med agenter.

  1. Mallvalsagenten tar emot klientspecifikationer, till exempel kontraktstyp, jurisdiktion och berörda parter, och väljer lämplig basmall från företagets bibliotek.

  2. Anpassningsagent för klausuler tar den valda mallen och ändrar standardklausuler baserat på förhandlade affärsvillkor, inklusive betalningsscheman och ansvarsbegränsningar.

  3. Regelefterlevnadsagenten granskar det anpassade kontraktet mot tillämpliga lagar och branschspecifika regler.

  4. Riskbedömningsagenten utför en omfattande analys av hela kontraktet. Den utvärderar mekanismer för ansvarsexponering och tvistlösning samtidigt som riskklassificeringar och rekommendationer för skyddsspråk ges.

Samtidig orkestrering

Det samtidiga orkestreringsmönstret kör flera AI-agenter samtidigt på samma uppgift. Med den här metoden kan varje agent tillhandahålla oberoende analys eller bearbetning ur ett unikt perspektiv eller specialisering.

Diagram som visar samtidig orkestrering där flera agenter bearbetar samma indataaktivitet samtidigt och deras resultat aggregeras.

Det här mönstret hanterar scenarier där du behöver olika insikter eller metoder för samma problem. I stället för sekventiell bearbetning fungerar alla agenter parallellt, vilket minskar den totala körningstiden och ger omfattande täckning av problemutrymmet. Det här orkestreringsmönstret liknar molndesignmönstret Fan-out/Fan-in. Resultatet från varje agent aggregeras ofta för att returnera ett slutligt resultat, men det krävs inte. Varje agent kan självständigt producera sina egna resultat i arbetsbelastningen, till exempel anropa verktyg för att utföra uppgifter eller uppdatera olika datalager parallellt.

Agenter arbetar oberoende av varandra och lämnar inte ut resultat till varandra. En agent kan anropa extra AI-agenter med hjälp av sin egen orkestreringsmetod som en del av sin oberoende bearbetning. De tillgängliga agenterna måste veta vilka agenter som är tillgängliga för bearbetning. Det här mönstret stöder både deterministiska anrop till alla registrerade agenter och dynamiskt val av vilka agenter som ska anropas baserat på uppgiftskraven.

När du ska använda samtidig orkestrering

Överväg det samtidiga orkestreringsmönstret i följande scenarier:

  • Uppgifter som du kan köra parallellt, antingen med hjälp av en fast uppsättning agenter eller genom att dynamiskt välja AI-agenter baserat på specifika uppgiftskrav.

  • Uppgifter som drar nytta av flera oberoende perspektiv eller olika specialiseringar, till exempel tekniska, affärsmässiga och kreativa metoder, som alla kan bidra till samma problem. Det här samarbetet sker vanligtvis i scenarier som innehåller följande beslutstekniker för flera agenter:

    • Idékläckning

    • Ensemble-resoneringsstrategi

    • Kvorum- och röstningsbaserade beslut

  • Tidskänsliga scenarier där parallell bearbetning minskar svarstiden.

När du ska undvika samtidig orkestrering

Undvik det här orkestreringsmönstret i följande scenarier:

  • Agenter måste bygga vidare på varandras arbete eller kräva kumulativ kontext i en specifik sekvens.

  • Uppgiften kräver en specifik åtgärdsordning eller deterministiska, reproducerbara resultat från körning i en definierad sekvens.

  • Resursbegränsningar, till exempel modellkvot, gör parallell bearbetning ineffektiv eller omöjlig.

  • Agenter kan inte på ett tillförlitligt sätt samordna ändringar i delat tillstånd eller externa system när de utförs samtidigt.

  • Det finns ingen tydlig strategi för konfliktlösning för att hantera motstridiga eller motstridiga resultat från varje agent.

  • Resultataggregeringslogik är för komplex eller sänker resultatets kvalitet.

Exempel på samtidig orkestrering

Ett företag för finansiella tjänster har skapat ett intelligent program som använder samtidiga agenter som specialiserar sig på olika typer av analys för att utvärdera samma lager samtidigt. Varje agent bidrar med insikter från sitt specialiserade perspektiv, vilket ger olika, tidskänsliga indata för snabba investeringsbeslut.

Diagram som visar samtidig orkestrering för att utvärdera en aktie.

Bilden innehåller tre viktiga avsnitt. I det övre avsnittet pekar en pil från Ticker-symbolen till lageranalysagenten. En linje kopplar samman modell- och börssymbolsmappningskunskap med aktieanalysagenten. En pil pekar från aktieanalysagenten till ett avsnitt som har texten beslut med underbyggande bevis baserat på kombinerade intermediära resultat. En rad ansluter lageranalysagenten till en rad som pekar på fyra separata avsnitt. De här avsnitten är fyra separata flöden: fundamental analysagent, teknisk analysagent, sentimentanalysagent och ESG-agent. En rad ansluter Modell till det grundläggande analysagentflödet. En pil pekar från fundamentalt analysagentflöde till mellanliggande resultat. En rad pekar från det grundläggande analysagentflödet och delas upp i två flöden: Ekonomi- och intäktsanalysagent och Konkurrensanalysagent. En rad ansluter finansiell och intäktsanalyssagent till ett avsnitt med titeln Modell, rapporterade finansiella uppgifter. En linje kopplar konkurrensanalysagenten till ett avsnitt som heter Modell, konkurrenskunskap. En pil pekar från teknisk analysagent till mellanliggande resultat. En rad ansluter teknisk analysagent till ett avsnitt som läser finjusterade modell- och marknads-API:er. En pil pekar från agenten för attitydanalys till mellanliggande resultat. En rad kopplar sentimentanalysagenten till ett avsnitt som läser Modell, sociala API:er, nyhets-API:er. En pil pekar från ESG-agenten till mellanliggande resultat. En rad ansluter ESG-agenten till ett avsnitt som lyder Modell, ESG-kunskap.

Systemet bearbetar begäranden om lageranalys genom att skicka samma tickersymbol till fyra specialiserade agenter som körs parallellt.

  • Den grundläggande analysagenten utvärderar finansiella rapporter, intäktstrender och konkurrenspositionering för att bedöma inbyggda värden.

  • Den tekniska analysagenten undersöker prismönster, volymindikatorer och momentumsignaler för att identifiera handelsmöjligheter.

  • Sentimentanalysagenten bearbetar nyhetsartiklar, omnämnanden av sociala medier och analytikerrapporter för att mäta marknadssentiment och investerarnas förtroende.

  • Miljö -, social- och styrningsagenten granskar rapporter om miljöpåverkan, socialt ansvar och styrningspraxis för att utvärdera hållbarhetsrisker och möjligheter.

Dessa oberoende resultat kombineras sedan till en omfattande investeringsrekommendations, som gör det möjligt för portföljförvaltare att fatta välgrundade beslut snabbt.

Gruppchattorkestrering

Med mönstret för gruppchattorkestrering kan flera agenter lösa problem, fatta beslut eller validera arbete genom att delta i en delad konversationstråd där de samarbetar genom diskussion. En chatthanterare samordnar flödet genom att avgöra vilka agenter som kan svara härnäst och genom att hantera olika interaktionslägen, från samarbetsinriktad brainstorming till strukturerade kvalitetsgrindar.

Diagram som visar gruppchattorkestrering där flera agenter deltar i en hanterad konversation. En central chatthanterare samordnar diskussionsflödet.

Det här mönstret hanterar scenarier som bäst uppnås genom gruppdiskussioner för att fatta beslut. Dessa scenarier kan omfatta samarbetsidéer, strukturerad validering eller kvalitetskontrollprocesser. Mönstret stöder olika interaktionslägen, från friflytande brainstorming till formella granskningsarbetsflöden som har fasta roller och godkännandegrindar.

Det här mönstret fungerar bra för human-in-the-loop-scenarier där människor har möjlighet att ta på sig ansvar som dynamisk chattchef och vägleda konversationer mot produktiva resultat. I det här orkestreringsmönstret är agenter vanligtvis i skrivskyddat läge. De använder inte verktyg för att göra ändringar i system som körs.

När du ska använda gruppchattorkestrering

Överväg gruppchattorkestrering när ditt scenario kan lösas genom spontana eller guidade samarbeten eller iterativa maker-checker-loopar. Alla dessa metoder stöder mänsklig tillsyn i realtid eller deltagande. Eftersom alla agenter och människor i loopen genererar utdata till en enda ackumulerande tråd, ger det här mönstret transparens och granskningsbarhet.

Samarbetsscenarier

  • Kreativa brainstormingsessioner där agenter som har olika perspektiv och kunskapskällor bygger på varandras bidrag till chatten

  • Beslutsprocesser som drar nytta av debatt och konsensusskapande

  • Beslutsscenarier som kräver iterativ förfining genom diskussion

  • Tvärvetenskapliga problem som kräver tvärfunktionell dialog

Scenarier för validering och kvalitetskontroll

  • Kvalitetssäkringskrav som omfattar strukturerade granskningsprocesser och iteration

  • Efterlevnad och regelverifiering som kräver flera expertperspektiv

  • Arbetsflöden för att skapa innehåll som kräver redaktionell granskning med en tydlig uppdelning av problem mellan skapande och validering

När du ska undvika gruppchattorkestrering

Undvik det här mönstret i följande scenarier:

  • Enkel uppgiftsdelegering eller linjär pipelinebearbetning räcker.

  • Krav på bearbetning i realtid gör diskussionskostnader oacceptabla.

  • Det är mer lämpligt med tydliga hierarkiska beslutsprocesser eller deterministiska arbetsflöden utan diskussion.

  • Chatthanteraren har inget objektivt sätt att avgöra om uppgiften är slutförd.

Att hantera konversationsflödet och förhindra oändliga loopar kräver noggrann uppmärksamhet, särskilt eftersom fler agenter gör det svårare att underhålla kontrollen. Överväg att begränsa gruppchattorkestreringen till tre eller färre agenter för att upprätthålla effektiv kontroll.

Loopar för maker-checker

Maker-checker-loopen är en specifik typ av gruppchattorkestrering där en agent, maker, skapar eller föreslår något. En annan agent, kontrollören, ger en kritik av resultatet. Det här mönstret är iterativt, där kontrollagenten skickar tillbaka konversationen till maker-agenten för att göra uppdateringar och upprepa processen. Även om gruppchattmönstret inte kräver att agenter turas om att chatta, kräver maker-checker-loopen en formell turbaserad sekvens som chatthanteraren kör.

Exempel på gruppchattorkestrering

En stadsparks- och rekreationsavdelning använder programvara som inkluderar gruppchattorkestrering för att utvärdera nya parkutvecklingsförslag. Programvaran läser utkastet till förslag, och flera specialiserade agenter debatterar olika samhällspåverkansperspektiv och arbetar mot konsensus om förslaget. Den här processen inträffar innan förslaget öppnas för communitygranskning för att förutse den feedback som det kan få.

Diagram som visar gruppchattorkestrering för kommunal parkplanering med specialiserade stadsplaneringsagenter.

Systemet bearbetar parkutvecklingsförslag genom att inleda ett gruppsamråd med specialiserade kommunala agenter som ägnar sig åt uppgiften ur flera medborgerliga perspektiv.

  • Community Engagement-agenten utvärderar tillgänglighetskrav, förväntad feedback från invånare och användningsmönster för att säkerställa rättvis communityåtkomst.

  • Miljöplaneringsagenten bedömer ekologisk påverkan, hållbarhetsåtgärder, intern vegetationsförflyttning och efterlevnad av miljöbestämmelser.

  • Budget- och driftagenten analyserar byggkostnader, löpande underhållskostnader, personalbehov och långsiktig driftshållbarhet.

Chattchefen underlättar strukturerad debatt där agenter utmanar varandras rekommendationer och försvarar sitt resonemang. En anställd på parkavdelningen deltar i chatttråden för att lägga till insikter och svara på agenternas kunskapsförfrågningar i realtid. Den här processen gör det möjligt för medarbetaren att uppdatera det ursprungliga förslaget för att åtgärda identifierade problem och bättre förbereda sig för feedback från communityn.

Överlämningsorkestrering

Mönstret för överlämningsorkestrering möjliggör dynamisk delegering av uppgifter mellan specialiserade agenter. Varje agent kan utvärdera den aktuella uppgiften och bestämma om den ska hanteras direkt eller överföras till en lämpligare agent baserat på kontexten och kraven.

Diagram som visar överlämningsorkestrering där en agent intelligent dirigerar uppgifter till lämpliga specialistagenter baserat på dynamisk analys.

Det här mönstret behandlar scenarier där den optimala agenten för en uppgift inte är känd i förväg eller där uppgiftskraven blir tydliga endast under bearbetningen. Det möjliggör intelligent routning och säkerställer att uppgifter når den mest kompatibla agenten. Agenter i det här mönstret fungerar vanligtvis inte parallellt. Fullständig kontroll överförs från en agent till en annan agent.

När man ska använda överlämningsorkestrering

Överväg agentens överlämningsmönster i följande scenarier:

  • Uppgifter som kräver specialiserade kunskaper eller verktyg, men där antalet agenter som behövs eller deras beställning inte kan fastställas på förhand

  • Scenarier där expertkrav uppstår under bearbetningen, vilket resulterar i dynamisk aktivitetsroutning baserat på innehållsanalys

  • Problem med flera domäner som kräver olika specialister som arbetar en i taget

  • Logiska relationer och signaler som du kan förutbestäma för att ange när en agent når kapacitetsgränsen och vilken agent som ska hantera uppgiften nästa

När man ska undvika överlämningsorkestrering

Undvik det här mönstret i följande scenarier:

  • Lämpliga agenter och deras order är alltid kända i förväg.

  • Uppgiftsroutning är enkel och deterministiskt regelbaserad, inte baserad på dynamiskt kontextfönster eller dynamisk tolkning.

  • Beslut om icke-optimal routning kan leda till en dålig eller frustrerande användarupplevelse.

  • Flera åtgärder bör köras samtidigt för att åtgärda uppgiften.

  • Det är utmanande att förhindra en oändlig överlämningsslinga eller undvika överdriven fram och tillbaka mellan medarbetare.

Exempel på agentöverlämningsmönster

En lösning för hantering av telekommunikationskunder (CRM) använder handoff-agenter i sin webbportal för kundsupport. En första agent börjar hjälpa kunder men upptäcker att den behöver specialiserad expertis under konversationen. Den första agenten skickar uppgiften till den lämpligaste agenten för att åtgärda kundens problem. Endast en agent i taget fungerar på de ursprungliga indata, och överlämningskedjan resulterar i ett enda resultat.

Diagram som visar överlämningsorkestrering där en triageagent intelligent dirigerar frågor till lämpliga specialistagenter baserat på dynamisk analys.

I det här systemet tolkar triage-supportagenten begäran och försöker hantera vanliga problem direkt. När den når sina gränser ger den nätverksproblem till en teknisk infrastrukturagent, faktureringstvister till en finansiell lösningsagent och så vidare. Ytterligare överlämningar sker inom dessa agenter när den aktuella agenten känner igen sina egna kapacitetsgränser och vet att en annan agent bättre kan stödja scenariot.

Varje agent kan slutföra konversationen om den fastställer att kundens framgång har uppnåtts eller om ingen annan agent kan gynna kunden ytterligare. Vissa agenter är också utformade för att lämna över användarupplevelsen till en mänsklig supportagent när problemet är viktigt att lösa, men ingen AI-agent har för närvarande funktioner för att hantera det.

Ett exempel på en överlämningsinstans är markerat i diagrammet. Det börjar med triageagenten som lämnar över uppgiften till den tekniska infrastrukturagenten. Den tekniska infrastrukturagenten bestämmer sig sedan för att överlämna uppgiften till den finansiella lösningsagenten, som i slutändan omdirigerar uppgiften till kundsupport.

Magentisk orkestrering

Det magentiska orkestreringsmönstret är utformat för öppna och komplexa problem som inte har en fördefinierad strategiplan. Agenter i det här mönstret har vanligtvis verktyg som gör att de kan göra direkta ändringar i externa system. Fokus ligger lika mycket på att skapa och dokumentera metoden för att lösa problemet som det är på att implementera den metoden. Uppgiftslistan skapas och förfinas dynamiskt som en del av arbetsflödet genom samarbete mellan specialiserade agenter och en magentisk chefsagent. När kontexten utvecklas skapar den magentiska chefsagenten en uppgiftsregister för att utveckla strategiplanen med mål och undermål, som slutligen slutförs, följs och spåras för att slutföra det önskade resultatet.

Diagram som visar magentisk orkestrering.

Chefsagenten kommunicerar direkt med specialiserade agenter för att samla in information när den skapar och förfinar uppgiftsregistret. Den itererar, backar och delegerar så många gånger som behövs för att skapa en fullständig plan som den kan genomföra. Chefsagenten utvärderar ofta om den ursprungliga begäran är helt uppfylld eller stoppad. Den uppdaterar transaktionsregistret för att justera planen.

På sätt och vis är det här orkestreringsmönstret en förlängning av gruppchattmönstret . Det magentiska orkestreringsmönstret fokuserar på en agent som skapar en metodplan, medan andra agenter använder verktyg för att göra ändringar i externa system i stället för att bara använda sina kunskapslager för att nå ett resultat.

När du ska använda magentisk orkestrering

Tänk på det magentiska mönstret i följande scenarier:

  • Ett komplext eller öppet användningsfall som inte har någon fördefinierad lösningssökväg.

  • Ett krav på att överväga indata och feedback från flera specialiserade agenter för att utveckla en giltig lösningssökväg.

  • Ett krav på att AI-systemet ska generera en fullt utvecklad strategiplan som en människa kan granska före eller efter implementeringen.

  • Agenter som är utrustade med verktyg som interagerar med externa system, förbrukar externa resurser eller kan medföra ändringar i system som körs. En dokumenterad plan som visar hur dessa agenter sekvenseras kan presenteras för en användare innan agenterna kan följa uppgifterna.

När du ska undvika magentisk orkestrering

Undvik det här mönstret i följande scenarier:

  • Lösningsvägen utvecklas eller bör hanteras på ett deterministiskt sätt.

  • Det finns inget krav på att skapa ett transaktionsregister.

  • Uppgiften har låg komplexitet och ett enklare mönster kan lösa det.

  • Arbetet är tidskänsligt eftersom mönstret fokuserar på att skapa och diskutera livskraftiga planer, inte optimera för slutresultaten.

  • Du förväntar dig frekventa stopp eller oändliga loopar som inte har en tydlig lösningsväg.

Exempel på magentisk orkestrering

Ett SRE-team (Site Reliability Engineering) har skapat automatisering som använder magentisk orkestrering för att hantera scenarier med incidenthantering med låg risk. När ett tjänststopp inträffar inom automatiseringens omfång måste systemet dynamiskt skapa och implementera en reparationsplan. Det gör detta utan att känna till de specifika steg som behövs i förväg.

Diagram som visar magentisk orkestrering för SRE-automatisering.

När automatiseringen identifierar en kvalificerande incident börjar magentic manager-agenten med att skapa en inledande uppgiftsregister med övergripande mål, till exempel att återställa tjänstens tillgänglighet och identifiera rotorsaken. Chefsagenten kontaktar sedan specialiserade agenter för att samla in information och förfina reparationsplanen.

  1. Diagnostikagenten analyserar systemloggar, prestandamått och felmönster för att identifiera potentiella orsaker. Den rapporterar resultaten tillbaka till chefsagenten.

  2. Baserat på diagnostikresultat uppdaterar chefsagenten aktivitetsregistret med specifika undersökningssteg och kontaktar infrastrukturagenten för att förstå aktuellt systemtillstånd och tillgängliga återställningsalternativ.

  3. Kommunikationsagenten tillhandahåller funktioner för meddelande från intressenter och chefsagenten införlivar kommunikationskontroller och godkännandegrindar i den framväxande planen enligt SRE-teamets eskaleringsförfaranden.

  4. När scenariot blir tydligare kan manageragenten lägga till återställningsagenten i planen om distributionsåterversion behövs eller eskalera till mänskliga SRE-tekniker om incidenten överskrider automatiseringens omfång.

Under hela den här processen förfinar chefsagenten kontinuerligt aktivitetsregistret baserat på ny information. Den lägger till, tar bort eller ordnar om uppgifter när incidenten utvecklas. Om diagnostikagenten till exempel upptäcker ett problem med databasanslutningen kan manageragenten växla hela planen från en distributionsstrategi för återställning till en plan som fokuserar på att återställa databasanslutningen.

Chefsagenten bevakar överdrivna förseningar i samband med återställning av tjänsten och förhindrar oändliga åtgärdscykler. Den upprätthåller en fullständig granskningslogg för den framväxande planen och implementeringsstegen, vilket ger transparens för granskning efter incident. Den här transparensen säkerställer att SRE-teamet kan förbättra både arbetsbelastningen och automatiseringen baserat på lärdomar.

Implementeringöverväganden

När du implementerar något av dessa agentdesignmönster måste du ta itu med flera saker. Genom att granska dessa överväganden kan du undvika vanliga fallgropar och ser till att agentorkestreringen är robust, säker och underhållsbar.

Enskild agent, multitool

Du kan lösa vissa problem med en enda agent om du ger den tillräcklig åtkomst till verktyg och kunskapskällor. När antalet kunskapskällor och verktyg ökar blir det svårt att tillhandahålla en förutsägbar agentupplevelse. Om en enskild agent kan lösa ditt scenario på ett tillförlitligt sätt kan du överväga att använda den metoden. Omkostnader för beslutsfattande och flödeskontroll överskrider ofta fördelarna med att dela upp uppgiften i flera agenter. Säkerhetsgränser, nätverkslinje och andra faktorer kan dock fortfarande göra en enkel agentmetod ogenomförbar.

Deterministisk routning

Vissa mönster kräver att du dirigerar flödet mellan agenter deterministiskt. Andra förlitar sig på agenter för att välja sina egna vägar. Om dina agenter definieras i en miljö utan kod eller låg kod kanske du inte kontrollerar dessa beteenden. Om du definierar dina agenter i kod med hjälp av SDK:er som Microsoft Agent Framework eller Semantic Kernel har du mer kontroll.

Kontextfönster

AI-agenter har ofta begränsade kontextfönster. Den här begränsningen kan påverka deras förmåga att bearbeta komplexa uppgifter. När du implementerar dessa mönster bestämmer du vilken kontext nästa agent behöver för att vara effektiv. I vissa scenarier behöver du den fullständiga, råa kontexten som samlats in hittills. I andra scenarier är en sammanfattad eller trunkerad version mer lämplig. Om din agent kan fungera utan ackumulerad kontext och bara kräver en ny instruktionsuppsättning, bör du använda den metoden i stället för att tillhandahålla kontext som inte hjälper till att utföra agentens uppgift.

Tillförlitlighet

Dessa mönster kräver korrekt fungerande agenter och tillförlitliga övergångar mellan dem. De resulterar ofta i klassiska distribuerade systemproblem som nodfel, nätverkspartitioner, meddelandeförlust och sammanhängande fel. Riskreduceringsstrategier bör finnas på plats för att hantera dessa utmaningar. Agenter och deras orkestratorer bör utföra följande steg.

  • Implementera timeout- och återförsöksmekanismer.

  • Inkludera en mjuk nedbrytningsimplementering för att hantera en eller flera agenter vid ett mönsterfel.

  • Ytliggör fel istället för att dölja dem, så att underordnade agenter och orkestreringslogik kan svara på rätt sätt.

  • Överväg kretsbrytarmönster för agentberoenden.

  • Design av agenter ska vara så isolerade som möjligt från varandra, med enskilda felpunkter som inte delas mellan agenter. Till exempel:

    • Kontrollera beräkningsisolering mellan agenter.

    • Utvärdera hur användning av en modell som en tjänst (MaaS) eller ett delat kunskapslager kan leda till hastighetsbegränsning när agenter körs samtidigt.

  • Använd kontrollpunktsfunktioner som är tillgängliga i din SDK för att återställa från en avbruten orkestrering, till exempel från ett fel eller en ny koddistribution.

Säkerhet

Genom att implementera lämpliga säkerhetsmekanismer i dessa designmönster minimeras risken för att exponera AI-systemet för attacker eller dataläckage. Att skydda kommunikationen mellan agenter och begränsa varje agent åtkomst till känsliga data är viktiga strategier för säkerhetsdesign. Tänk på följande säkerhetsåtgärder:

  • Implementera autentisering och använd säkert nätverk mellan agenter.

  • Överväg datasekretessens konsekvenser av agentkommunikation.

  • Utforma granskningsloggar för att uppfylla efterlevnadskraven.

  • Utforma agenter och deras orkestratorer för att följa principen om minsta behörighet.

  • Överväg att hantera användarens identitet mellan agenter. Agenter måste ha bred åtkomst till kunskapslager för att hantera begäranden från alla användare, men de får inte returnera data som inte är tillgängliga för användaren. Säkerhetsbeskärning måste implementeras i varje agent i designmönstret.

Observerbarhet och testning

Distributionen av AI-systemet mellan flera agenter kräver övervakning och testning av varje agent individuellt, samt systemet som helhet, för att säkerställa korrekt funktionalitet. När du utformar dina strategier för observerbarhet och testning bör du överväga följande rekommendationer:

  • Instrumentera alla agentåtgärder och överlämningar. Felsökning av distribuerade system är en utmaning inom datavetenskap och orkestrerade AI-agenter är inget undantag.

  • Spåra prestanda- och resursanvändningsmått för varje agent så att du kan upprätta en baslinje, hitta flaskhalsar och optimera.

  • Utforma testbara gränssnitt för enskilda agenter.

  • Implementera integreringstester för arbetsflöden med flera agenter.

Vanliga fallgropar och antimönster

Undvik dessa vanliga misstag när du implementerar agentorkestreringsmönster:

  • Att skapa onödig samordningskomplexitet med hjälp av ett komplext mönster när enkel sekventiell eller samtidig orkestrering räcker.

  • Lägga till agenter som inte tillhandahåller meningsfull specialisering.

  • Att förbise latensens inverkan vid kommunikation över flera hopp.

  • Dela föränderligt tillstånd mellan samtidiga agenter, vilket kan resultera i transaktionsmässigt inkonsekventa data på grund av att man antar synkrona uppdateringar över agentgränser.

  • Använda deterministiska mönster för arbetsflöden som i sig är icke-terministiska.

  • Använda nondeterministiska mönster för arbetsflöden som är deterministiska.

  • Ignorera resursbegränsningar när du väljer samtidig orkestrering.

  • Förbruka överdrivna modellresurser eftersom kontextfönster växer när agenter samlar in mer information och konsulterar sin modell för att göra framsteg med sina uppgifter.

Kombinera orkestreringsmönster

Program kräver ibland att du kombinerar flera orkestreringsmönster för att uppfylla deras krav. Du kan till exempel använda sekventiell orkestrering för de inledande databearbetningsstegen och sedan växla till samtidig orkestrering för parallelliserbara analysuppgifter. Försök inte att få ett arbetsflöde att passa in i ett enda mönster när olika faser i arbetsbelastningen har olika egenskaper och kan dra nytta av varje steg med ett annat mönster.

Relation till molndesignmönster

AI-agentorkestreringsmönster utökar och kompletterar traditionella molndesignmönster genom att hantera de unika utmaningarna med att samordna intelligenta, autonoma komponenter. Molndesignmönster fokuserar på strukturella och beteendemässiga problem i distribuerade system, men AI-agentorkestreringsmönster hanterar specifikt samordningen av komponenter med resonemangsfunktioner, inlärningsbeteenden och icke-terministiska utdata.

SDK-baserade implementeringar

Många av dessa mönster förlitar sig på en kodbaserad implementering för att hantera orkestreringslogik. SDK:er som stöder ett agentramverk ger ofta stöd för många av agentorkestreringsmönstren.

Microsoft Agent Framework

Microsoft Agent Framework SDK har implementeringsvägledning för Agent Framework-orkestrering.

För praktisk implementering kan du utforska agentramverkets deklarativa arbetsflödesexempel på GitHub som demonstrerar några av dessa mönster i praktiken.

Semantisk Kärna

Semantic Kernel SDK har implementeringsvägledning för sitt agentramverk.

För praktisk implementering kan du utforska Semantic Kernel-orkestreringsexempel för flera agenter på GitHub som demonstrerar dessa mönster i praktiken.

Du kan också hitta många av dessa mönster i AutoGen, till exempel Magentic-One.

Implementeringar i Azure AI Foundry Agent Service

Du kan också använda Azure AI Foundry Agent Service för att länka ihop agenter i relativt enkla arbetsflöden med hjälp av dess funktioner för anslutna agenter . De arbetsflöden som du implementerar med hjälp av den här tjänsten är främst icke-terministiska, vilket begränsar vilka mönster som kan implementeras fullt ut i den här miljön utan kod.

Bidragsgivare

Microsoft ansvarar för den här artikeln. Följande deltagare skrev den här artikeln.

Huvudsakliga författare:

  • Chad Kittel | Principal Software Engineer – Azure Patterns &Practices
  • Clayton Siemens | Huvudinnehållsutvecklare – Azure-mönster och metoder

Övriga medarbetare:

Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.

Nästa steg