Verwenden der Gruppenchat-Orchestrierung

Abgeschlossen

Die Gruppenchat-Orchestrierung modelliert eine gemeinsame Unterhaltung zwischen mehreren KI-Agents und optional einem menschlichen Teilnehmer. Ein zentraler Chat-Manager steuert den Fluss und entscheidet, welcher Agent als Nächstes antwortet und wann menschliche Eingaben angefordert werden sollen. Dieses Muster eignet sich für die Simulation von Besprechungen, Diskussionen oder der gemeinsamen Arbeit an Problemlösungen.

Diagramm, das die Gruppenchat-Orchestrierung zeigt, bei der mehrere Agents an einer verwalteten Unterhaltung teilnehmen. Ein zentraler Chat-Manager koordiniert den Diskussionsfluss.

Das Gruppenchatmuster eignet sich gut für Szenarien, in denen Gruppendiskussionen oder iterative Zusammenarbeit entscheidend für die Entscheidungsfindung sind. Es unterstützt verschiedene Interaktionsstile, von Brainstormings bis hin zu formalen Workflows mit definierten Rollen und Genehmigungsschritten. Die Gruppenchat-Orchestrierung eignet sich außerdem hervorragend für Human-in-the-Loop-Setups, bei denen ein Mensch die Unterhaltung steuern oder in sie eingreifen kann. In der Regel ändern Agenten in diesem Muster laufende Systeme nicht direkt – sie tragen hauptsächlich zum Gespräch bei.

Anlässe für die Verwendung der Gruppenchat-Orchestrierung

Erwägen Sie die Verwendung der Gruppenchat-Orchestrierung, wenn Ihr Szenario Folgendes umfasst:

  • Spontane oder geführte Zusammenarbeit zwischen Agenten (und möglicherweise Menschen)
  • Iterative Ersteller-Überprüfer-Schleifen, in denen Agents die Erstellung und Überprüfung übernehmen
  • Menschliche Überwachung oder Teilnahme in Echtzeit
  • Transparente und überwachbare Unterhaltungen, da alle Ausgaben in einem einzelnen Thread gesammelt werden

Zu den häufigen Szenarios gehören:

  • Kreatives Brainstorming, bei dem Agenten auf die Ideen der anderen aufbauen
  • Entscheidungsfindung, die von Diskussionen und Konsens profitiert
  • Komplexe Probleme, die einen interdisziplinären Dialog erfordern
  • Qualitätskontrolle und Validierung, die die Perspektiven verschiedener Experten erfordert
  • Inhaltsworkflows mit klarer Trennung zwischen Erstellung und Überprüfung

Gründe für die Vermeidung von Gruppenchat-Orchestrierung

Vermeiden Sie dieses Muster in folgenden Fällen:

  • Eine einfache Aufgabendelegierung oder simple lineare Pipelines reichen aus.
  • Es ist Echtzeitgeschwindigkeit erforderlich, was Diskussionsaufwand unpraktisch macht.
  • Es werden hierarchische oder deterministische Workflows ohne Diskussion benötigt
  • Der Chat-Manager kann nicht eindeutig bestimmen, wann die Aufgabe abgeschlossen ist.
  • Die Verwaltung des Unterhaltungsablaufs wird zu komplex, insbesondere bei vielen Agents. Zur einfacheren Steuerung ist eine Begrenzung auf höchstens drei Agents empfehlenswert.

Ersteller-Überprüfer-Schleifen

Ein gängiger Sonderfall ist die Ersteller-Überprüfer-Schleife (Maker-Checker-Loop). Hier schlägt ein Agent (der Ersteller) Inhalte oder Lösungen vor, die dann von einem anderen Agent (dem Überprüfer) überprüft und kritisiert werden. Der Überprüfer kann dem Ersteller Feedback senden, und dieser Zyklus wiederholt sich, bis das Ergebnis zufriedenstellend ausfällt. Für diesen Prozess ist eine turnbasierte Sequenz erforderlich, die vom Chat-Manager verwaltet wird.

Implementieren der Gruppenchat-Orchestrierung

Implementieren Sie das Gruppenchat-Orchestrierungsmuster mit dem Microsoft Agent Framework SDK:

  1. Erstellen Ihres Chatclients
    Richten Sie einen Chatclient (z. B. AzureOpenAIChatClient) mit entsprechenden Anmeldeinformationen ein, um eine Verbindung zu Ihrem KI-Dienstanbieter herzustellen.

  2. Definieren Ihrer Agents
    Erstellen Sie Agentinstanzen mithilfe der Methode des Chatclients create_agent . Jeder Agent sollte über spezifische Anweisungen und einen Namen verfügen, der seine Rolle und seinen Kompetenzbereich definiert.

  3. Erstellen des Gruppenchatworkflows
    Verwenden Sie die GroupChatBuilder Klasse, um einen Workflow zu erstellen, der mehrere Agents parallel ausführen kann. Fügen Sie Ihre Agentinstanzen als Teilnehmer mithilfe der participants() Methode hinzu, und rufen Sie dann auf build() , um den Workflow zu erstellen.

  4. Ausführen des Workflows
    Rufen Sie die Methode des run Workflows mit der Aufgabe oder Eingabe auf, an der die Agents arbeiten sollen. Der Workflow führt alle Agents gleichzeitig aus und gibt Ereignisse zurück, die die Ergebnisse enthalten.

  5. Verarbeiten der Ergebnisse
    Extrahieren Sie die Ergebnisse aus den Workflow-Ereignissen mithilfe von get_outputs(). Die Ergebnisse enthalten die kombinierten Unterhaltungen aller Agents, wobei die Antwort jedes Agents in der endgültigen Ausgabe enthalten ist.

  6. Behandeln der aggregierten Antworten
    Verarbeiten der aggregierten Nachrichten von allen Agents. Jede Nachricht enthält den Namen und den Inhalt des Autors, sodass Sie ermitteln können, welcher Agent jede Antwort bereitgestellt hat.

Anpassen des Gruppenchat-Managers

Sie können einen benutzerdefinierten Gruppenchat-Manager erstellen, indem Sie die Basisklasse GroupChatManager erweitern. Mit diesem Ansatz können Sie Folgendes steuern:

  • Filtern oder Zusammenfassen von Unterhaltungsergebnissen
  • Wie wird der nächste Agent ausgewählt?
  • Wann sollen Benutzereingaben angefordert werden?
  • Wann soll die Unterhaltung beendet werden?

Mit benutzerdefinierten Managern können Sie spezielle Logiken implementieren, die auf Ihren Anwendungsfall zugeschnitten ist.

Aufrufreihenfolge des Gruppenchat-Managers

Während jeder Runde Unterhaltung ruft der Chat-Manager Methoden in folgender Reihenfolge auf:

  1. should_request_user_input – Überprüft, ob menschliche Eingaben erforderlich sind, bevor der nächste Agent reagiert.
  2. should_terminate - Bestimmt, ob die Unterhaltung enden soll (z. B. max. Runde erreicht).
  3. filter_results – Fasst, sofern die Unterhaltung beendet ist, die endgültige Unterhaltung zusammen, oder verarbeitet sie.
  4. select_next_agent – Wählt, sofern die Unterhaltung fortgesetzt wird, den nächsten Agent aus, der sich äußern soll.

Dadurch wird sichergestellt, dass Benutzereingabe- und Beendigungsbedingungen berücksichtigt werden, bevor die Unterhaltung fortgesetzt wird. Überschreiben Sie diese Methoden in Ihrem benutzerdefinierten Manager, um das Verhalten zu verändern.

Die Gruppenchat-Orchestrierung ermöglicht es mehreren KI-Agents – und optional Menschen – durch geführte Unterhaltungen und iteratives Feedback zusammenzuarbeiten. Sie ist ideal für komplexe Aufgaben, die von vielfältigem Fachwissen und dynamischen Interaktionen profitieren. Auch wenn dieses Muster ein sorgfältiges Management erfordert, bietet es Transparenz und Flexibilität bei der Entscheidungsfindung sowie bei kreativen Workflows. Das Microsoft Agent Framework SDK erleichtert die Implementierung und Anpassung der Gruppenchat-Orchestrierung für Ihre Anforderungen.