Gleichzeitige Orchestrierung verwenden
Durch gleichzeitige Orchestrierung können mehrere Agents gleichzeitig an derselben Aufgabe arbeiten. Jeder Agent bearbeitet die Aufgabe unabhängig, und dann werden ihre Ergebnisse gesammelt und kombiniert. Diese Methode eignet sich besonders gut, wenn Sie verschiedene Ansätze oder Lösungen wünschen, z. B. bei Brainstorming, Gruppenentscheidung oder Abstimmung.
Dieses Muster ist nützlich, wenn Sie unterschiedliche Ansätze oder Ideen benötigen, um dasselbe Problem zu lösen. Anstatt Agenten nacheinander zu arbeiten, arbeiten sie alle gleichzeitig. Dies beschleunigt den Prozess und deckt das Problem aus vielen Blickwinkeln ab.
In der Regel werden die Ergebnisse jedes Agents kombiniert, um eine endgültige Antwort zu erstellen, aber dies ist nicht immer erforderlich. Jeder Agent kann auch ein eigenes separates Ergebnis erzeugen, z. B. das Aufrufen von Tools zum Ausführen von Aufgaben oder das unabhängige Aktualisieren verschiedener Datenspeicher.
Agenten arbeiten alleine und teilen keine Ergebnisse miteinander. Ein Agent kann jedoch andere KI-Agents aufrufen, indem er im Rahmen seines Prozesses seine eigene Orchestrierung ausführt. Agents müssen wissen, welche anderen Agents für die Arbeit an Aufgaben verfügbar sind. Mit diesem Muster können Sie entweder alle registrierten Agents jedes Mal anrufen oder auswählen, welche Agents basierend auf der jeweiligen Aufgabe ausgeführt werden sollen.
Verwendung der gleichzeitigen Orchestrierung
Sie können die Verwendung des parallelen Orchestrierungsmusters in diesen Situationen in Betracht ziehen:
- Wenn Aufgaben gleichzeitig ausgeführt werden können, entweder mithilfe einer festen Gruppe von Agents oder durch dynamische Auswahl von KI-Agents basierend auf dem, was die Aufgabe benötigt.
- Wenn die Aufgabe von unterschiedlichen spezialisierten Fähigkeiten oder Ansätzen (z. B. technisch, geschäftlich oder kreativ) profitiert, die alle unabhängig arbeiten, aber dazu beitragen, dasselbe Problem zu lösen.
Diese Art von Teamarbeit ist in Multi-Agent-Entscheidungsmethoden üblich, z. B.:
- Ideen zum Brainstorming
- Kombinieren verschiedener Begründungsmethoden (Ensemble-Reasoning)
- Treffen von Entscheidungen basierend auf Abstimmung oder Konsens (Quorum)
- Behandeln von Aufgaben, bei denen Geschwindigkeit wichtig ist und Agents parallel ausgeführt werden, reduziert die Wartezeit.
Wann man gleichzeitige Orchestrierung vermeiden sollte
In den folgenden Szenarien sollten Sie die Verwendung des parallelen Orchestrierungsmusters vermeiden:
- Agents müssen auf der Arbeit der anderen aufbauen oder von einem geteilten Kontext in einer bestimmten Reihenfolge abhängen.
- Der Vorgang erfordert eine strenge Abfolge von Schritten oder vorhersehbaren, wiederholbaren Ergebnissen.
- Ressourcenbeschränkungen wie Modellnutzungskontingente machen die Ausführung von Agents parallel ineffizient oder unmöglich.
- Agents können Änderungen an gemeinsamen Daten oder externen Systemen nicht zuverlässig koordinieren, während sie gleichzeitig ausgeführt werden.
- Es gibt keine klare Möglichkeit, Konflikte oder Widersprüche zwischen Ergebnissen verschiedener Agenten aufzulösen.
- Das Kombinieren von Ergebnissen ist zu kompliziert oder verringert die Gesamtqualität.
Implementierung der parallelen Orchestrierung
Implementieren Sie das parallele Orchestrierungsmuster mit dem Microsoft Agent Framework:
Erstellen Ihres Chatclients
Richten Sie einen Chatclient (z. B.AzureOpenAIChatClient) mit entsprechenden Anmeldeinformationen ein, um eine Verbindung zu Ihrem KI-Dienstanbieter herzustellen.Definieren Sie Ihre Agenten
Erstellen Sie Agentinstanzen mithilfe der Methode des Chatclientscreate_agent. Jeder Agent sollte über spezifische Anweisungen und einen Namen verfügen, der seine Rolle und seinen Kompetenzbereich definiert.Erstellen des parallelen Workflows
Verwenden Sie dieConcurrentBuilderKlasse, um einen Workflow zu erstellen, der mehrere Agents parallel ausführen kann. Fügen Sie Ihre Agentinstanzen als Teilnehmer mithilfe derparticipants()Methode hinzu, und rufen Sie dann aufbuild(), um den Workflow zu erstellen.Ausführen des Workflows
Rufen Sie die Methode desrunWorkflows 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.Verarbeiten der Ergebnisse
Extrahieren Sie die Ergebnisse aus den Workflow-Ereignissen mithilfe vonget_outputs(). Die Ergebnisse enthalten die kombinierten Unterhaltungen aller Agents, wobei die Antwort jedes Agents in der endgültigen Ausgabe enthalten ist.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.
Gleichzeitige Orchestrierung ist ein leistungsfähiges Muster für die gleichzeitige Verwendung mehrerer KI-Agents und ermöglicht eine schnellere und vielfältigere Problemlösung. Indem Sie Agents parallel ausführen, können Sie verschiedene Ansätze gleichzeitig untersuchen, die Effizienz verbessern und umfassendere Einblicke gewinnen. Es ist jedoch wichtig, dieses Muster auszuwählen, wenn Aufgaben wirklich unabhängig ausgeführt werden können und Einschränkungen der Ressourcen sowie Koordinationsherausforderungen zu berücksichtigen. Bei einer durchdachten Implementierung mit dem Microsoft Agent Framework SDK kann die gleichzeitige Orchestrierung Ihre KI-Workflows und Entscheidungsprozesse erheblich verbessern.