Sequenzielle Orchestrierung verwenden

Abgeschlossen

In sequenzieller Orchestrierungwerden Agents in einer Pipeline angeordnet, in der jeder Agent die Aufgaben nacheinander verarbeitet. Die Ausgabe von einem Agent wird die Eingabe für die nächste. Dieses Muster eignet sich ideal für Workflows, bei denen jeder Schritt vom vorherigen abhängt, z. B. Dokumentüberprüfung, Datentransformationspipelines oder mehrstufiges Denken.

Diagramm, das die sequenzielle Orchestrierung zeigt, in der Agents Aufgaben in einer definierten Pipelinereihenfolge verarbeiten. Die Ausgabe fließt von einem Agent zum nächsten.

Sequenzielle Orchestrierung funktioniert am besten für Aufgaben, die Schritt-für-Schritt durchgeführt werden müssen, wobei jeder Schritt auf dem letzten Schritt verbessert wird. Die Reihenfolge, in der Agents ausgeführt werden, ist fest und vorher entschieden, und Agents entscheiden nicht, was als nächstes passiert.

Wann sequenzielle Orchestrierung verwendet werden soll

Erwägen Sie die Verwendung des sequenziellen Orchestrierungsmusters, wenn Ihr Workflow Folgendes hat:

  • Prozesse, die aus mehreren Schritten bestehen, die in einer bestimmten Reihenfolge ausgeführt werden müssen, wobei jeder Schritt davon abhängt.
  • Datenworkflows, bei denen jede Phase etwas Wichtiges hinzufügt, das die nächste Stufe ordnungsgemäß funktionieren muss.
  • Aufgaben, bei denen Phasen nicht gleichzeitig ausgeführt werden können und nacheinander ausgeführt werden müssen.
  • Situationen, die schrittweise Verbesserungen erfordern, z. B. Entwurf, Überprüfung und Polieren von Inhalten.
  • Systeme, in denen Sie wissen, wie jeder Agent ausgeführt wird, und kann Verzögerungen oder Fehler in jedem Schritt verarbeiten, ohne den gesamten Prozess zu beenden.

Gründe für die Vermeidung sequenzieller Orchestrierung

Vermeiden Sie dieses Muster in folgenden Fällen:

  • Stufen können unabhängig und parallel ausgeführt werden, ohne dass sich dies auf die Qualität auswirkt.
  • Ein einzelner Agent kann die gesamte Aufgabe effektiv ausführen.
  • Frühe Phasen können fehlschlagen oder eine schlechte Ausgabe erzeugen, und es gibt keine Möglichkeit, die nachgelagerte Verarbeitung basierend auf Fehlern zu beenden oder zu korrigieren.
  • Agents müssen dynamisch zusammenarbeiten, anstatt die Arbeit sequenziell zu übergeben.
  • Der Workflow erfordert Iteration, Backtracking oder dynamisches Routing basierend auf Zwischenergebnissen.

Implementieren sequenzieller Orchestrierung

Implementieren Sie das sequenzielle 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 in der Pipeline definiert.

  3. Erstellen des sequenziellen Workflows
    Verwenden Sie die SequentialBuilder Klasse, um einen Workflow zu erstellen, der Agents nacheinander ausführt. 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_stream Workflows mit der Aufgabe oder Eingabe auf, an der die Agents arbeiten sollen. Der Workflow verarbeitet die Aufgabe durch alle Agents sequenziell, wobei die Ausgabe jedes Agents für die nächste Eingabe wird.

  5. Das Verarbeiten von Workflow-Events
    Durchlaufen Sie die Arbeitsablaufereignisse mithilfe einer asynchronen Schleife. Suchen Sie nach WorkflowOutputEvent Instanzen, die die Ergebnisse aus der sequenziellen Verarbeitung enthalten.

  6. Extrahiere das letzte Gespräch
    Sammeln Sie das letzte Gespräch aus den Workflowausgaben. Das Ergebnis enthält den vollständigen Unterhaltungsverlauf, der zeigt, wie jeder Agent in der Sequenz zum endgültigen Ergebnis beigetragen hat.

Die sequenzielle Orchestrierung ist ideal, wenn Ihre Aufgabe klare, sortierte Schritte erfordert, bei denen jeder Agent auf der Ausgabe des vorherigen Aufbaus aufbaut. Dieses Muster trägt dazu bei, die Ausgabequalität durch schrittweise Verfeinerung zu verbessern und vorhersehbare Workflows zu gewährleisten. Bei durchdachter Anwendung mit dem Microsoft Agent Framework SDK ermöglicht es leistungsstarke Multi-Agent-Pipelines für komplexe Aufgaben wie Inhaltserstellung, Datenverarbeitung und vieles mehr.