Använda samtidig orkestrering
Med samtidig orkestrering kan flera agenter arbeta med samma uppgift samtidigt. Varje agent hanterar uppgiften separat och sedan samlas deras utdata in och kombineras. Den här metoden fungerar särskilt bra när du vill ha olika metoder eller lösningar, till exempel under brainstorming, gruppbeslut eller röstning.
Det här mönstret är användbart när du behöver olika metoder eller idéer för att lösa samma problem. I stället för att låta agenter arbeta en efter en, så fungerar alla på samma gång. Detta påskyndar processen och täcker problemet från många vinklar.
Vanligtvis kombineras resultaten från varje agent för att skapa ett slutligt svar, men det är inte alltid nödvändigt. Varje agent kan också skapa ett eget separat resultat, till exempel anropa verktyg för att slutföra uppgifter eller uppdatera olika datalager oberoende av varandra.
Agenter arbetar på egen hand och delar inte resultat med varandra. En agent kan dock anropa andra AI-agenter genom att köra sin egen orkestrering som en del av processen. Agenter måste veta vilka andra agenter som är tillgängliga för att arbeta med uppgifter. Med det här mönstret kan du antingen anropa alla registrerade agenter varje gång eller välja vilka agenter som ska köras baserat på den specifika aktiviteten.
När du ska använda samtidig orkestrering
Du kanske vill överväga att använda det samtidiga orkestreringsmönstret i dessa situationer:
- När aktiviteter kan köras samtidigt, antingen med hjälp av en fast grupp agenter eller genom att välja AI-agenter dynamiskt baserat på vad uppgiften behöver.
- När uppgiften drar nytta av olika specialiserade kunskaper eller metoder (till exempel tekniska, affärsmässiga eller kreativa) som alla arbetar självständigt men bidrar till att lösa samma problem.
Den här typen av teamarbete är vanligt i beslutsmetoder för flera agenter, till exempel:
- Brainstorming idéer
- Kombinera olika resonemangsmetoder (ensemble-resonemang)
- Fatta beslut baserat på röstning eller konsensus (kvorum)
- Hantering av uppgifter där hastighet spelar roll och aktiva agenter parallellt minskar väntetiden
När du ska undvika samtidig orkestrering
Du kanske vill undvika att använda det samtidiga orkestreringsmönstret i följande scenarier:
- Agenter måste bygga vidare på varandras arbete eller vara beroende av delad kontext i en viss ordning.
- Uppgiften kräver en strikt sekvens med steg eller förutsägbara, repeterbara resultat.
- Resursgränser, till exempel modellanvändningskvoter, gör aktiva agenter parallella ineffektiva eller omöjliga.
- Agenter kan inte samordna ändringar i delade data eller externa system på ett tillförlitligt sätt när de körs samtidigt.
- Det finns inget tydligt sätt att lösa konflikter eller motsägelser mellan resultat från olika agenter.
- Att kombinera resultat är för komplicerat eller leder till att den övergripande kvaliteten sänks.
Implementera samtidig orkestrering
Implementera det samtidiga orkestreringsmönstret med Microsoft Agent Framework:
Skapa chattklienten
Konfigurera en chattklient (till exempelAzureOpenAIChatClient) med lämpliga autentiseringsuppgifter för att ansluta till din AI-tjänstleverantör.Definiera dina agenter
Skapa agentinstanser med hjälp av chattklientenscreate_agentmetod. Varje agent bör ha specifika instruktioner och ett namn som definierar dess roll och kompetensområde.Skapa det samtidiga arbetsflödet
ConcurrentBuilderAnvänd klassen för att skapa ett arbetsflöde som kan köra flera agenter parallellt. Lägg till dina agentinstanser som deltagare med hjälp avparticipants()metoden och anropabuild()sedan för att skapa arbetsflödet.Kör arbetsflödet
Anropa arbetsflödetsrunmetod med den uppgift eller de indata som du vill att agenterna ska arbeta med. Arbetsflödet kör alla agenter samtidigt och returnerar händelser som innehåller resultatet.Bearbeta resultaten
Extrahera utdata från arbetsflödeshändelserna med hjälp avget_outputs(). Resultaten innehåller de kombinerade konversationerna från alla agenter, där varje agents svar ingår i de slutliga utdata.Hantera aggregerade svar
Bearbeta aggregerade meddelanden från alla agenter. Varje meddelande innehåller författarens namn och innehåll, så att du kan identifiera vilken agent som tillhandahöll varje svar.
Samtidig orkestrering är ett kraftfullt mönster för att använda flera AI-agenter samtidigt, vilket möjliggör snabbare och mer varierad problemlösning. Genom att köra agenter parallellt kan du utforska olika metoder samtidigt, förbättra effektiviteten och få bättre insikter. Det är dock viktigt att välja det här mönstret när aktiviteter verkligen kan köras oberoende av varandra och vara medvetna om resursbegränsningar och samordningsutmaningar. När den implementeras eftertänksamt med Microsoft Agent Framework SDK kan samtidig orkestrering avsevärt förbättra dina AI-arbetsflöden och beslutsprocesser.