Brug sekventiel orkestrering

Fuldført

I sekventiel orkestrering arrangeres agenter i en pipeline, hvor hver agent behandler opgaven efter hinanden. Outputtet fra en agent bliver input til den næste. Dette mønster er ideelt til arbejdsprocesser, hvor hvert trin afhænger af det forrige, f.eks. dokumentgennemgang, pipelines til datatransformation eller ræsonnement i flere faser.

Diagram, der viser sekventiel orkestrering, hvor helpdesk-medarbejdere behandler opgaver i en defineret pipelinerækkefølge. Output flyder fra en agent til den næste.

Sekventiel orkestrering fungerer bedst til opgaver, der skal udføres trin for trin, hvor hvert trin forbedres i forhold til det sidste. Rækkefølgen, som agenter kører i, er fast og besluttet på forhånd, og agenter bestemmer ikke, hvad der skal ske næste gang.

Hvornår skal du bruge sekventiel orkestrering?

Overvej at bruge det sekventielle orkestreringsmønster, når din arbejdsproces har:

  • Processer, der består af flere trin, der skal ske i en bestemt rækkefølge, hvor hvert trin er afhængigt af det foregående.
  • Dataarbejdsgange, hvor hver fase tilføjer noget vigtigt, som den næste fase skal fungere korrekt.
  • Opgaver, hvor faser ikke kan udføres på samme tid og skal køre efter hinanden.
  • Situationer, der kræver gradvise forbedringer, f.eks. udarbejdelse, gennemgang og finpudsning af indhold.
  • Systemer, hvor du ved, hvordan hver agent klarer sig og kan håndtere forsinkelser eller fejl i ethvert trin uden at stoppe hele processen.

Hvornår skal man undgå sekventiel orkestrering?

Undgå dette mønster, når:

  • Etaper kan køres uafhængigt og parallelt uden at påvirke kvaliteten.
  • En enkelt agent kan udføre hele opgaven effektivt.
  • Tidlige faser kan mislykkes eller producere dårligt output, og der er ingen måde at stoppe eller rette downstream-behandling baseret på fejl.
  • Agenter skal samarbejde dynamisk i stedet for at aflevere arbejde sekventielt.
  • Arbejdsprocessen kræver gentagelse, tilbagesporing eller dynamisk routing baseret på mellemliggende resultater.

Implementere sekventiel orkestrering

Implementer det sekventielle orkestreringsmønster med Microsoft Agent Framework SDK:

  1. Opret din chatklient
    Konfigurer en chatklient (f.eks. AzureOpenAIChatClient) med relevante legitimationsoplysninger for at oprette forbindelse til din AI-tjenesteudbyder.

  2. Definer dine agenter
    Opret agentforekomster ved hjælp af chatklientens create_agent metode. Hver agent skal have specifikke instruktioner og et navn, der definerer dens rolle og ekspertiseområde i pipelinen.

  3. Byg den sekventielle arbejdsgang
    Brug SequentialBuilder klassen til at oprette en arbejdsproces, der udfører helpdesk-medarbejdere efter hinanden. Tilføj dine agentforekomster som deltagere ved hjælp af participants() metoden, og kald build() derefter for at oprette arbejdsprocessen.

  4. Kør arbejdsprocessen
    Kald arbejdsprocessens run_stream metode med den opgave eller det input, du ønsker, at helpdesk-medarbejderne skal arbejde på. Arbejdsgangen behandler opgaven gennem alle helpdesk-medarbejdere sekventielt, hvor hver helpdesk-medarbejders output bliver input til den næste.

  5. Behandle arbejdsgangshændelserne
    Gentag gennem arbejdsgangshændelserne ved hjælp af en asynkron løkke. Se efter WorkflowOutputEvent forekomster, der indeholder resultaterne fra den sekventielle behandling.

  6. Udtræk den sidste samtale
    Indsaml den endelige samtale fra arbejdsprocessens output. Resultatet indeholder den komplette samtalehistorik, der viser, hvordan hver helpdesk-medarbejder i sekvensen bidrog til det endelige resultat.

Sekventiel orkestrering er ideel, når din opgave kræver klare, ordnede trin, hvor hver agent bygger videre på den forriges output. Dette mønster hjælper med at forbedre outputkvaliteten gennem trinvis forfining og sikrer forudsigelige arbejdsgange. Når det anvendes omhyggeligt med Microsoft Agent Framework SDK, muliggør det effektive multiagentpipelines til komplekse opgaver som oprettelse af indhold, databehandling og meget mere.