Utilizați orchestrarea chatului de grup

Finalizat

Orchestrarea chat-ului de grup modelează o conversație colaborativă între mai mulți agenți AI și, opțional, un participant uman. Un manager central de chat controlează fluxul, decidând ce agent răspunde în continuare și când să solicite contribuția umană. Acest model este util pentru simularea întâlnirilor, dezbaterilor sau rezolvării colaborative a problemelor.

Diagramă care arată orchestrarea chatului de grup în care mai mulți agenți participă la o conversație gestionată. Un manager central de chat coordonează fluxul de discuții.

Modelul de chat de grup funcționează bine pentru scenariile în care discuțiile de grup sau colaborarea iterativă sunt esențiale pentru a lua decizii. Acceptă diferite stiluri de interacțiune, de la ideație liberă la fluxuri de lucru formale cu roluri definite și pași de aprobare. Orchestrarea chat-ului de grup este, de asemenea, excelentă pentru configurațiile human-in-the-loop în care un om poate ghida sau interveni în conversație. De obicei, agenții din acest model nu schimbă direct sistemele de rulare - ei contribuie în principal la conversație.

Când să utilizați orchestrarea chatului de grup

Luați în considerare utilizarea orchestrarii chatului de grup atunci când scenariul dvs.

  • Colaborare spontană sau ghidată între agenți (și, eventual, oameni)
  • Bucle iterative maker-checker în care agenții creează și revizuiesc pe rând
  • Supravegherea sau participarea umană în timp real
  • Conversații transparente și auditabile, deoarece toate rezultatele sunt colectate într-un singur fir

Scenariile comune includ:

  • Brainstorming creativ în care agenții se bazează reciproc pe ideile celorlalți
  • Luarea deciziilor care beneficiază de dezbatere și consens
  • Probleme complexe care necesită un dialog interdisciplinar
  • Controlul și validarea calității care necesită mai multe perspective ale experților
  • Fluxuri de lucru de conținut cu separare clară între creare și revizuire

Când să evitați orchestrarea chat-ului de grup

Evitați acest model atunci când:

  • Delegarea simplă a sarcinilor sau conductele liniare simple sunt suficiente
  • Cerințele de viteză în timp real fac ca discuțiile să fie impracticabile
  • Fluxurile de lucru ierarhice sau deterministe sunt necesare fără discuții
  • Managerul de chat nu poate determina clar când sarcina este finalizată
  • Gestionarea fluxului de conversații devine prea complexă, mai ales cu mulți agenți (limitați la trei sau mai puțini pentru un control mai ușor)

Bucle maker-checker

Un caz special comun este bucla maker-checker. Aici, un agent (creatorul) propune conținut sau soluții, iar un alt agent (verificatorul) le revizuiește și le critică. Verificatorul poate trimite feedback înapoi producătorului, iar acest ciclu se repetă până când rezultatul este satisfăcător. Acest proces necesită o secvență bazată pe ture gestionată de managerul de chat.

Implementați orchestrarea chatului de grup

Implementați modelul de orchestrare a conversației de grup cu SDK-ul Microsoft Agent Framework:

  1. 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.

  2. Definiți-vă agenții
    Creați instanțe de agent folosind metoda clientului create_agent de chat. Fiecare agent ar trebui să aibă instrucțiuni specifice și un nume care să-și definească rolul și zona de expertiză.

  3. Construiți fluxul de lucru de chat de grup
    Utilizați clasa GroupChatBuilder pentru a crea un flux de lucru care poate rula mai mulți agenți în paralel. Adăugați instanțele agentului ca participanți folosind metoda participants() , apoi apelați build() pentru a crea fluxul de lucru.

  4. Rulați fluxul de lucru
    Apelați metoda fluxului de run lucru cu sarcina sau intrarea la care doriți să lucreze agenții. Fluxul de lucru rulează toți agenții simultan și returnează evenimente care conțin rezultatele.

  5. Procesați rezultatele
    Extrageți ieșirile din evenimentele fluxului de lucru utilizând get_outputs(). Rezultatele conțin conversațiile combinate ale tuturor agenților, cu răspunsul fiecărui agent inclus în rezultatul final.

  6. Gestionați răspunsurile agregate
    Procesați mesajele agregate de la toți agenții. Fiecare mesaj include numele autorului și conținutul, permițându-vă să identificați ce agent a furnizat fiecare răspuns.

Personalizarea managerului de chat de grup

Puteți crea un manager de chat de grup personalizat prin extinderea clasei de bază GroupChatManager . Această abordare vă permite să controlați:

  • Cum sunt filtrate sau rezumate rezultatele conversației
  • Cum este selectat următorul agent
  • Când să solicitați contribuția utilizatorului
  • Când să închei conversația

Managerii personalizați vă permit să implementați o logică specializată adaptată cazului dvs.

Ordinea apelurilor managerului de chat de grup

În timpul fiecărei runde a conversației, managerul de chat apelează metodele în această ordine:

  1. should_request_user_input - Verifică dacă este necesară intervenția umană înainte ca următorul agent să răspundă.
  2. should_terminate - Determină dacă conversația ar trebui să se încheie (de exemplu, rundele maxime atinse).
  3. filter_results - Dacă se termină, rezumă sau procesează conversația finală.
  4. select_next_agent - Dacă continuă, alege următorul agent care să vorbească.

Acest lucru asigură că condițiile de intrare și terminare ale utilizatorului sunt gestionate înainte de a avansa conversația. Înlocuiți aceste metode în managerul personalizat pentru a schimba comportamentul.

Orchestrarea chat-ului de grup permite mai multor agenți AI și, opțional, oamenilor să colaboreze prin conversații ghidate și feedback iterativ. Este ideal pentru sarcini complexe care beneficiază de expertiză diversă și interacțiune dinamică. Deși necesită o gestionare atentă, acest model oferă transparență și flexibilitate în luarea deciziilor și fluxurile de lucru creative. SDK-ul Microsoft Agent Framework facilitează implementarea și particularizarea orchestrării conversației de grup pentru nevoile dvs.