Utilizarea orchestrarii secvențiale
În orchestrarea secvențială, agenții sunt aranjați într-o conductă în care fiecare agent procesează sarcina unul după altul. Ieșirea de la un agent devine intrarea pentru următorul. Acest model este ideal pentru fluxurile de lucru în care fiecare pas depinde de cel anterior, cum ar fi revizuirea documentelor, conductele de transformare a datelor sau raționamentul în mai multe etape.
Orchestrarea secvențială funcționează cel mai bine pentru sarcinile care trebuie făcute pas cu pas, fiecare pas îmbunătățindu-se de ultimul. Ordinea în care agenții rulează este stabilită și decisă în prealabil, iar agenții nu decid ce se întâmplă în continuare.
Când se utilizează orchestrarea secvențială
Luați în considerare utilizarea modelului de orchestrare secvențială atunci când fluxul de lucru are:
- Procese alcătuite din mai mulți pași care trebuie să se întâmple într-o anumită ordine, în care fiecare pas se bazează pe cel anterior.
- Fluxuri de lucru de date în care fiecare etapă adaugă ceva important de care următoarea etapă are nevoie pentru a funcționa corect.
- Sarcini în care etapele nu pot fi efectuate în același timp și trebuie rulate una după alta.
- Situații care necesită îmbunătățiri treptate, cum ar fi redactarea, revizuirea și șlefuirea conținutului.
- Sisteme în care știi cum funcționează fiecare agent și poți gestiona întârzierile sau defecțiunile în orice etapă fără a opri întregul proces.
Când să evitați orchestrarea secvențială
Evitați acest model atunci când:
- Etapele pot fi rulate independent și în paralel, fără a afecta calitatea.
- Un singur agent poate îndeplini întreaga sarcină în mod eficient.
- Etapele incipiente pot eșua sau pot produce rezultate slabe și nu există nicio modalitate de a opri sau corecta procesarea din aval pe baza erorilor.
- Agenții trebuie să colaboreze dinamic, mai degrabă decât să predea munca secvențial.
- Fluxul de lucru necesită iterație, backtracking sau rutare dinamică pe baza rezultatelor intermediare.
Implementați orchestrarea secvențială
Implementați modelul de orchestrare secvențială cu SDK-ul Microsoft Agent Framework:
Creați-vă clientul de chat
Configurați un client de chat (de exemplu,AzureOpenAIChatClient) cu acreditările corespunzătoare pentru a vă conecta la furnizorul de servicii AI.Definiți-vă agenții
Creați instanțe de agent folosind metoda clientuluicreate_agentde chat. Fiecare agent ar trebui să aibă instrucțiuni specifice și un nume care să-și definească rolul și zona de expertiză în conductă.Construiți fluxul de lucru secvențial
Utilizați clasaSequentialBuilderpentru a crea un flux de lucru care execută agenți unul după altul. Adăugați instanțele agentului ca participanți folosind metodaparticipants(), apoi apelațibuild()pentru a crea fluxul de lucru.Rulați fluxul de lucru
Apelați metoda fluxului derun_streamlucru cu sarcina sau intrarea la care doriți să lucreze agenții. Fluxul de lucru procesează sarcina prin toți agenții secvențial, ieșirea fiecărui agent devenind intrare pentru următorul.Procesați evenimentele fluxului de lucru
Iterați prin evenimentele fluxului de lucru utilizând o buclă asincronă. CăutațiWorkflowOutputEventinstanțe care conțin rezultatele procesării secvențiale.Extrageți conversația finală
Colectați conversația finală din rezultatele fluxului de lucru. Rezultatul conține istoricul complet al conversațiilor care arată modul în care fiecare agent din secvență a contribuit la rezultatul final.
Orchestrarea secvențială este ideală atunci când sarcina necesită pași clari și ordonați, în care fiecare agent se bazează pe rezultatul celui anterior. Acest model ajută la îmbunătățirea calității rezultatelor prin rafinarea treptată și asigură fluxuri de lucru previzibile. Atunci când este aplicat cu atenție cu SDK-ul Microsoft Agent Framework, permite conducte puternice cu mai mulți agenți pentru sarcini complexe, cum ar fi crearea de conținut, procesarea datelor și multe altele.