Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Da Architekten und Entwickler ihre Arbeitsauslastung so gestalten, dass sie die Funktionen des Sprachmodells voll nutzen können, werden KI-Agent-Systeme immer komplexer. Diese Systeme überschreiten häufig die Fähigkeiten eines einzelnen Agenten, der Zugriff auf viele Tools und Wissensquellen hat. Stattdessen verwenden diese Systeme Multi-Agent-Orchestrierungen, um komplexe, kollaborative Aufgaben zuverlässig zu verarbeiten. Dieses Handbuch behandelt grundlegende Orchestrierungsmuster für Multi-Agent-Architekturen und hilft Ihnen bei der Auswahl des Ansatzes, der Ihren spezifischen Anforderungen entspricht.
Überblick
Wenn Sie mehrere KI-Agents verwenden, können Sie komplexe Probleme in spezialisierte Arbeits- oder Wissenseinheiten aufteilen. Sie weisen jede Aufgabe dedizierten KI-Agents zu, die über bestimmte Funktionen verfügen. Diese Ansätze spiegeln Strategien in menschlicher Teamarbeit wieder. Die Verwendung mehrerer Agents bietet im Vergleich zu monolithischen Einzel-Agent-Lösungen mehrere Vorteile.
Spezialisierung: Einzelne Agents können sich auf eine bestimmte Domäne oder Funktion konzentrieren, wodurch die Komplexität des Codes und der Anweisungen reduziert wird.
Skalierbarkeit: Agents können hinzugefügt oder geändert werden, ohne das gesamte System neu zu gestalten.
Wartbarkeit: Tests und Debugging können sich auf einzelne Agents konzentrieren, wodurch die Komplexität dieser Aufgaben reduziert wird.
Optimierung: Jeder Agent kann unterschiedliche Modelle, Aufgabenlösungsansätze, Wissen, Tools und Berechnungen verwenden, um seine Ergebnisse zu erzielen.
Die Muster in diesem Leitfaden zeigen bewährte Ansätze für die Orchestrierung mehrerer Agenten, um zusammenzuarbeiten und ein Ergebnis zu erzielen. Jedes Muster ist für verschiedene Arten von Koordinationsanforderungen optimiert. Diese KI-Agent-Orchestrierungsmuster ergänzen und erweitern traditionelle Clouddesignmuster , indem sie die einzigartigen Herausforderungen der Koordination autonomer Komponenten in KI-gesteuerten Workload-Funktionen bewältigen.
Sequenzielle Orchestrierung
Das sequenzielle Orchestrierungsmuster ketten KI-Agents in einer vordefinierten, linearen Reihenfolge. Jeder Agent verarbeitet die Ausgabe des vorherigen Agenten in der Sequenz, wodurch eine Pipeline spezialisierter Transformationen erstellt wird.
Das sequenzielle Orchestrierungsmuster löst Probleme, die eine schrittweise Verarbeitung erfordern, wobei jede Phase auf der vorherigen Stufe basiert. Es passt zu Workflows, die klare Abhängigkeiten haben und die Ausgabequalität durch progressive Verfeinerung verbessern. Dieses Muster ähnelt dem Rohr- und Filter-Cloudentwurfsmuster, verwendet jedoch KI-Agents anstelle von komponenten für die benutzerdefinierte Codeverarbeitung. Die Wahl, welcher Agent als Nächstes aufgerufen wird, wird deterministisch als Teil des Workflows definiert und ist keine Auswahl an Agents im Prozess.
Wann sequenzielle Orchestrierung verwendet werden soll
Betrachten Sie das sequenzielle Orchestrierungsmuster in den folgenden Szenarien:
Mehrstufige Prozesse mit klaren linearen Abhängigkeiten und vorhersehbarer Workflowentwicklung
Datentransformationspipelinen, bei denen jede Phase einen bestimmten Wert hinzufügt, von dem die nächste Stufe abhängt
Workflowphasen, die nicht parallelisiert werden können
Progressive Verfeinerungsanforderungen, z. B. Entwurf, Überprüfung, Feinschliff Workflows
Systeme, in denen Sie die Verfügbarkeit und Leistungsfähigkeit jedes KI-Agents in der Pipeline verstehen und wo Fehler oder Verzögerungen bei der Verarbeitung eines KI-Agents für die Gesamtaufgabe erträglich sind
Gründe für die Vermeidung sequenzieller Orchestrierung
Vermeiden Sie dieses Muster in den folgenden Szenarien:
Die Schritte sind zwingend parallel. Sie können sie parallelisieren, ohne die Qualität zu kompromittieren oder gemeinsame Statuskonflikte zu erstellen.
Prozesse, die nur wenige Phasen enthalten, die ein einzelner KI-Agent effektiv ausführen kann.
Frühe Schritte können fehlschlagen oder eine minderwertige Ausgabe produzieren, und es gibt keine vernünftige Möglichkeit, die Verarbeitung späterer Schritte durch die Verwendung kumulierter Fehlerausgaben zu verhindern.
KI-Agenten müssen zusammenarbeiten, anstatt Arbeit zu übergeben.
Für den Workflow ist eine Zurückverfolgung oder Iteration erforderlich.
Sie benötigen dynamisches Routing basierend auf Zwischenergebnissen.
Sequenzielles Orchestrierungsbeispiel
Die Dokumentverwaltungssoftware einer Anwaltskanzlei verwendet sequenzielle Agenten für die Vertragsgenerierung. Die intelligente Anwendung verarbeitet Anforderungen über eine Pipeline von vier spezialisierten Agents. Die sequenziellen und vordefinierten Pipelineschritte stellen sicher, dass jeder Agent mit der vollständigen Ausgabe aus der vorherigen Phase arbeitet.
Der Vorlagenauswahl-Agent empfängt Kundenspezifikationen, z. B. Vertragstyp, Zuständigkeit und beteiligten Parteien, und wählt die entsprechende Basisvorlage aus der Bibliothek des Unternehmens aus.
Der Klauselanpassungs-Agent übernimmt die ausgewählte Vorlage und ändert Standardklauseln basierend auf ausgehandelten Geschäftsbedingungen, einschließlich Zahlungspläne und Haftungseinschränkungen.
Der regulatorische Compliance-Agent überprüft den angepassten Vertrag mit anwendbaren Gesetzen und branchenspezifischen Vorschriften.
Der Risikomanagement-Agent führt eine umfassende Analyse des vollständigen Vertrags durch. Er bewertet Haftungsrisiken und Streitbeilegungsmechanismen und bietet Gleichzeitig Risikobewertungen und Empfehlungen zum Schutz von Sprachen.
Parallele Orchestrierung
Das parallele Orchestrierungsmuster führt mehrere KI-Agenten gleichzeitig für dieselbe Aufgabe aus. Mit diesem Ansatz kann jeder Agent unabhängige Analysen oder Verarbeitungen aus seiner einzigartigen Perspektive oder Spezialisierung bereitstellen.
Dieses Muster befasst sich mit Szenarien, in denen Sie vielfältige Erkenntnisse oder Ansätze für dasselbe Problem benötigen. Anstelle der sequenziellen Verarbeitung arbeiten alle Agents parallel, wodurch die Gesamtlaufzeit reduziert und eine umfassende Abdeckung des Problemraums bereitgestellt wird. Dieses Orchestrierungsmuster ähnelt dem Entwurfsmuster Fan-out/Fan-in für Cloud-Architekturen. Die Ergebnisse der einzelnen Agents werden häufig aggregiert, um ein Endergebnis zurückzugeben, aber das ist nicht erforderlich. Jeder Agent kann unabhängig voneinander eigene Ergebnisse innerhalb der Workload erstellen, z. B. das Aufrufen von Tools zum Ausführen von Aufgaben oder das Aktualisieren verschiedener Datenspeicher parallel.
Agenten arbeiten unabhängig und übergeben keine Ergebnisse aneinander. Ein Agent kann zusätzliche KI-Agents aufrufen, indem er seinen eigenen Orchestrierungsansatz als Teil seiner unabhängigen Verarbeitung verwendet. Die verfügbaren Agenten müssen wissen, welche Agenten zur Verarbeitung verfügbar sind. Dieses Muster unterstützt sowohl deterministische Aufrufe an alle registrierten Agents als auch die dynamische Auswahl, welche Agents basierend auf den Aufgabenanforderungen aufgerufen werden sollen.
Wann Sie parallele Orchestrierung verwenden sollten
Betrachten Sie das parallele Orchestrierungsmuster in den folgenden Szenarien:
Aufgaben, die Sie parallel ausführen können, entweder mithilfe einer festen Gruppe von Agents oder durch dynamische Auswahl von KI-Agents basierend auf bestimmten Aufgabenanforderungen.
Aufgaben, die von mehreren unabhängigen Perspektiven oder unterschiedlichen Spezialisierungen wie technischen, geschäftlichen und kreativen Ansätzen profitieren, die alle zu demselben Problem beitragen können. Diese Zusammenarbeit tritt in der Regel in Szenarien auf, in denen die folgenden Multi-Agent-Entscheidungstechniken verwendet werden:
Brainstorming
Ensemble-Begründung
Entscheidungen basierend auf Quorum und Abstimmungen
Zeitkritische Szenarien, in denen die parallele Verarbeitung die Latenz reduziert.
Wann man gleichzeitige Orchestrierung vermeiden sollte
Vermeiden Sie dieses Orchestrierungsmuster in den folgenden Szenarien:
Agenten müssen auf der Arbeit der anderen aufbauen oder einen kumulativen Kontext in einer bestimmten Sequenz benötigen.
Die Aufgabe erfordert eine bestimmte Reihenfolge von Vorgängen oder deterministischen, reproduzierbaren Ergebnissen, die in einer definierten Sequenz ausgeführt werden.
Ressourceneinschränkungen, z. B. Modellkontingente, machen die parallele Verarbeitung ineffizient oder unmöglich.
Agenten können Änderungen am gemeinsam genutzten Status oder an externen Systemen während der gleichzeitigen Ausführung nicht zuverlässig koordinieren.
Es gibt keine klare Konfliktlösungsstrategie, um widersprüchliche oder in Konflikt stehende Ergebnisse jedes Agenten zu behandeln.
Die Ergebnisaggregationslogik ist zu komplex oder verringert die Qualität der Ergebnisse.
Beispiel für parallele Orchestrierung
Ein Finanzdienstleistungsunternehmen hat eine intelligente Anwendung entwickelt, die parallele Agenten verwendet, die auf verschiedene Arten von Analysen spezialisiert sind, um die gleiche Aktie gleichzeitig zu bewerten. Jeder Agent trägt Erkenntnisse aus der speziellen Perspektive bei, die vielfältige, zeitsensitive Eingaben für schnelle Investitionsentscheidungen bieten.
Das System verarbeitet Aktienanalyseanforderungen, indem dasselbe Tickersymbol an vier spezialisierte Agenten verteilt wird, die parallel ausgeführt werden.
Der Grundlegende Analyse-Agent wertet Bilanzen, Umsatztrends und Wettbewerbspositionierung aus, um systeminternen Wert zu bewerten.
Der technische Analyse-Agent untersucht Preismuster, Volumenindikatoren und Impulssignale, um Handelsmöglichkeiten zu identifizieren.
Der Stimmungsanalyse-Agent verarbeitet Nachrichtenartikel, Erwähnungen sozialer Medien und Analystenberichte, um die Marktstimmung und das Vertrauen des Anlegers zu messen.
Der Umwelt-, Sozial- und Governance-Agent (ESG) überprüft die Auswirkungen auf die Umwelt, die soziale Verantwortung und die Governance-Praxisberichte, um Nachhaltigkeitsrisiken und -chancen zu bewerten.
Diese unabhängigen Ergebnisse werden dann in eine umfassende Anlageempfehlung zusammengefasst, die es Portfoliomanagern ermöglicht, fundierte Entscheidungen schnell zu treffen.
Orchestrierung von Gruppen-Chats
Das Gruppenchat-Orchestrierungsmuster ermöglicht es mehreren Agents, Probleme zu lösen, Entscheidungen zu treffen oder Arbeit zu überprüfen, indem sie an einem freigegebenen Unterhaltungsthread teilnehmen, in dem sie durch Diskussionen zusammenarbeiten. Ein Chat-Manager koordiniert den Fluss, indem er ermittelt, welche Mitarbeiter als Nächstes reagieren können, und indem er verschiedene Interaktionsmodi verwaltet, von gemeinsamen Brainstorming bis hin zu strukturierten Qualitätsschranken.
Dieses Muster befasst sich mit Szenarien, die am besten durch Gruppendiskssion erreicht werden, um Entscheidungen zu treffen. Diese Szenarien können gemeinsame Ideen, strukturierte Validierung oder Qualitätskontrollesprozesse umfassen. Das Muster unterstützt verschiedene Interaktionsmodi, vom freien Brainstorming bis hin zu formalen Überprüfungsworkflows mit festen Rollen und Genehmigungsschritten.
Dieses Muster eignet sich gut für Mensch-in-der-Schleife-Szenarien, in denen Menschen optional dynamische Chat-Management-Verantwortungen übernehmen und Unterhaltungen zu produktiven Ergebnissen lenken können. Bei dieser Orchestrierung befinden sich die Agenten normalerweise in einem nur-lesen Modus. Sie verwenden keine Tools, um Änderungen an ausgeführten Systemen vorzunehmen.
Wann ist die Verwendung der Gruppenchat-Orchestrierung angebracht?
Ziehen Sie eine Orchestrierung von Gruppenchats in Betracht, wenn Ihr Szenario durch spontane oder angeleitete Zusammenarbeit oder iterative Ersteller-Checker-Schleifen gelöst werden kann. All diese Ansätze unterstützen die menschliche Aufsicht oder Teilnahme in Echtzeit. Da alle Agenten und Menschen in der Schleife ihren Output in einem einzigen Sammelthread ausgeben, bietet dieses Muster Transparenz und Nachvollziehbarkeit.
Szenarien für die Zusammenarbeit
Kreative Brainstorming-Sitzungen, bei denen Agenten, die unterschiedliche Perspektiven und Wissensquellen haben, auf den Beiträgen der anderen auf den Chat aufbauen
Entscheidungsprozesse, die von der Debatte und dem Konsensaufbau profitieren
Entscheidungsszenarien, die iterative Verfeinerung durch Diskussion erfordern
Multidisziplinäre Probleme, die einen funktionsübergreifenden Dialog erfordern
Validierungs- und Qualitätskontrollszenarien
Qualitätssicherungsanforderungen, die strukturierte Überprüfungsprozesse und Iteration umfassen
Compliance- und regulatorische Validierung, die mehrere Expertenperspektiven erfordert
Workflows für die Inhaltserstellung, die eine redaktionelle Überprüfung erfordern, mit einer klaren Trennung von Bedenken zwischen Erstellung und Validierung
Wann man die Orchestrierung von Gruppenchats vermeiden sollte
Vermeiden Sie dieses Muster in den folgenden Szenarien:
Einfache Aufgabendelegierung oder lineare Pipelineverarbeitung reicht aus.
Die Anforderungen an die Echtzeitverarbeitung machen den Diskussionsaufwand inakzeptabel.
Klare hierarchische Entscheidungsfindungs- oder deterministische Workflows ohne Diskussion sind geeigneter.
Der Chat-Manager hat keine objektive Möglichkeit, zu bestimmen, ob die Aufgabe abgeschlossen ist.
Die Verwaltung des Gesprächsflusses und die Vermeidung von Endlosschleifen erfordern sorgfältige Aufmerksamkeit, insbesondere weil mehr Agenten es schwieriger machen, die Kontrolle zu bewahren. Um eine effektive Kontrolle aufrechtzuerhalten, sollten Sie die Gruppenchat-Orchestrierung auf drei oder weniger Agents beschränken.
Ersteller-Prüfer-Schleifen
Die Maker-Checker-Schleife ist eine bestimmte Art von Gruppenchat-Orchestrierung, bei der ein Agent, der Ersteller, etwas erstellt oder vorschlägt. Ein anderer Agent, der Checker, liefert eine Kritik an dem Ergebnis. Dieses Muster ist iterativ, wobei der Prüfer-Agent die Unterhaltung zurück an den Maker-Agent verschiebt, um Aktualisierungen vorzunehmen und den Prozess zu wiederholen. Obwohl das Gruppenchat-Muster nicht verlangt, dass sich die Agenten beim Chatten abwechseln, erfordert die Maker-Checker-Schleife eine formale rundenbasierte Sequenz, die vom Chatmanager gesteuert wird.
Beispiel für gruppenchat-Orchestrierung
Eine Stadtparks- und Erholungsabteilung verwendet Software, die Gruppenchat-Orchestrierung umfasst, um neue Vorschläge zur Parkentwicklung zu bewerten. Die Software liest den Entwurf des Vorschlags, und mehrere Fachberater diskutieren unterschiedliche Perspektiven für die Auswirkungen der Gemeinschaft und arbeiten an einem Konsens über den Vorschlag. Dieser Prozess tritt auf, bevor der Vorschlag zur Überprüfung durch die Gemeinschaft geöffnet wird, um das mögliche Feedback im Voraus zu berücksichtigen.
Das System verarbeitet Parkentwicklungsvorschläge, indem eine Gruppenberatung mit spezialisierten kommunalen Agenten initiiert wird, die sich aus mehreren bürgerlichen Perspektiven an der Aufgabe beteiligen.
Der Community Engagement-Agent bewertet Barrierefreiheitsanforderungen, erwartetes Resident-Feedback und Nutzungsmuster, um einen gerechten Zugang der Gemeinschaft sicherzustellen.
Der Umweltplanungsmitarbeiter bewertet ökologische Auswirkungen, Nachhaltigkeitsmaßnahmen, native Vegetationsverschiebungen und Die Einhaltung der Umweltvorschriften.
Der Budget- und Betriebsmitarbeiter analysiert Baukosten, laufende Wartungskosten, Personalbedarf und langfristige betriebliche Nachhaltigkeit.
Der Chat-Manager erleichtert strukturierte Debatten, in denen Agenten die Empfehlungen der anderen herausfordern und ihre Begründung verteidigen. Ein Mitarbeiter der Parkabteilung nimmt am Chatthread teil, um Einblicke hinzuzufügen und auf die Wissensanforderungen von Agenten in Echtzeit zu reagieren. Dieser Prozess ermöglicht es dem Mitarbeiter, den ursprünglichen Vorschlag zu aktualisieren, um identifizierte Bedenken zu behandeln und sich besser auf Communityfeedback vorzubereiten.
Handoff-Orchestrierung
Das Handoff-Orchestrierungsmuster ermöglicht die dynamische Delegierung von Aufgaben zwischen spezialisierten Agenten. Jeder Agent kann die jeweilige Aufgabe bewerten und entscheiden, ob sie direkt verarbeitet oder an einen geeigneteren Agent basierend auf dem Kontext und den Anforderungen übertragen werden soll.
Dieses Muster befasst sich mit Szenarien, in denen der optimale Agent für einen Vorgang vorab nicht bekannt ist oder die Aufgabenanforderungen nur während der Verarbeitung klar werden. Es ermöglicht intelligentes Routing und stellt sicher, dass Aufgaben den fähigsten Agenten erreichen. Agents in diesem Muster funktionieren in der Regel nicht parallel. Der vollständige Zugriff wird von einem Agenten auf einen anderen Agenten übertragen.
Wann Sie die Handoff-Orchestrierung verwenden sollten
Betrachten Sie das Muster der Agent-Übergabe in den folgenden Szenarien:
Aufgaben, die spezielle Kenntnisse oder Tools erfordern, aber wo die Anzahl der benötigten Agents oder deren Bestellung nicht vordefiniert werden kann
Szenarien, in denen know-how-Anforderungen während der Verarbeitung entstehen, was zu dynamischem Aufgabenrouting basierend auf der Inhaltsanalyse führt
Probleme mit mehreren Domänen, die unterschiedliche Spezialisten erfordern, die jeweils einzeln arbeiten
Logische Beziehungen und Signale, die Sie vordefinieren können, um anzugeben, wann ein Agent seinen Funktionsgrenzwert erreicht und welcher Agent die Aufgabe als nächstes behandeln soll
Wann Sie die Orchestrierung von Handoffs vermeiden sollten
Vermeiden Sie dieses Muster in den folgenden Szenarien:
Die entsprechenden Agenten und ihre Bestellung sind immer vorab bekannt.
Das Aufgabenrouting ist einfach und deterministisch regelbasiert, nicht basierend auf dynamischem Kontextfenster oder dynamischer Interpretation.
Suboptimale Routingentscheidungen können zu einer schlechten oder frustrierenden Benutzererfahrung führen.
Mehrere Vorgänge sollten gleichzeitig ausgeführt werden, um die Aufgabe zu beheben.
Das Vermeiden einer unendlichen Handoff-Schleife oder das Vermeiden übermäßigen Hin- und Herschiebens zwischen Agenten ist eine Herausforderung.
Beispiel für agent-Übergabemuster
Eine CRM-Lösung für das Kundenbeziehungsmanagement im Telekommunikationsbereich verwendet Übergabeagenten im Webportal des Kundensupports. Ein anfänglicher Agent hilft Kunden, entdeckt aber, dass es während der Unterhaltung spezielle Kenntnisse benötigt. Der erste Agent übergibt die Aufgabe an den am besten geeigneten Agenten, um das Anliegen des Kunden zu beheben. Nur jeweils ein Agent arbeitet mit der ursprünglichen Eingabe, und die Übergabekette führt zu einem einzigen Ergebnis.
In diesem System interpretiert der Triage-Supportmitarbeiter die Anforderung und versucht, häufige Probleme direkt zu behandeln. Wenn es seine Grenzen erreicht, übergibt es Netzwerkprobleme an einen technischen Infrastrukturmitarbeiter, Abrechnungsstreitigkeiten an einen Finanzlösungsmitarbeiter usw. Weitere Übergaben treten innerhalb dieser Agenten auf, wenn der aktuelle Agent seine eigenen Leistungsgrenzen erkennt und weiß, dass ein anderer Agent das Szenario besser unterstützen kann.
Jeder Agent kann die Unterhaltung abschließen, wenn er feststellt, dass der Kundenerfolg erreicht wurde oder dass kein anderer Agent den Kunden weiter nutzen kann. Einige Agents sind auch so konzipiert, dass die Benutzererfahrung an einen menschlichen Supportmitarbeiter übergeben wird, wenn das Problem wichtig ist, aber kein KI-Agent verfügt derzeit über die Möglichkeiten, dies zu beheben.
Ein Beispiel für eine Übergabeinstanz ist im Diagramm hervorgehoben. Es beginnt mit dem Triage-Agenten, der die Aufgabe an den technischen Infrastrukturmitarbeiter übergibt. Der technische Infrastruktur-Agent entscheidet sich dann, die Aufgabe an den Finanzauflösungsagenten zu übergeben, der letztendlich die Aufgabe an den Kundensupport umleitet.
Magentische Orchestrierung
Das magentische Orchestrierungsmuster ist für offene und komplexe Probleme ausgelegt, die keinen vorgegebenen Ansatzplan haben. Agents in diesem Muster verfügen in der Regel über Tools, mit denen sie direkte Änderungen an externen Systemen vornehmen können. Der Schwerpunkt liegt sowohl auf der Erstellung und Dokumentation des Ansatzes zur Lösung des Problems als auch auf der Implementierung dieses Ansatzes. Die Aufgabenliste wird dynamisch erstellt und als Element des Workflows durch die Zusammenarbeit zwischen spezialisierten Agenten und einem magentischen Manager-Agenten verfeinert. Während sich der Kontext weiterentwickelt, erstellt der magentische Manager-Agent ein Aufgabenbuch, um den Ansatzplan mit Zielen und Untergoalen zu entwickeln, die schließlich abgeschlossen, gefolgt und nachverfolgt werden, um das gewünschte Ergebnis abzuschließen.
Der Manager-Agent kommuniziert direkt mit spezialisierten Agenten, um Informationen zu sammeln, während er das Aufgabenverzeichnis erstellt und optimiert. Er wiederholt, weicht zurück und delegiert so oft wie nötig, um einen vollständigen Plan zu erstellen, den er erfolgreich umsetzen kann. Der Manager-Agent bewertet häufig, ob die ursprüngliche Anforderung vollständig erfüllt oder ins Stocken geraten ist. Er aktualisiert das Hauptbuch, um den Plan anzupassen.
Dieses Orchestrierungsmuster ist eine Erweiterung des Gruppenchatmusters . Das magentische Orchestrierungsmuster konzentriert sich auf einen Agenten, der einen Ansatzplan erstellt, während andere Agents Tools verwenden, um Änderungen in externen Systemen vorzunehmen, anstatt nur ihre Wissensspeicher zu verwenden, um ein Ergebnis zu erzielen.
Wann sollte magnetische Orchestrierung eingesetzt werden?
Betrachten Sie das magentische Muster in den folgenden Szenarien:
Ein komplexer oder offener Anwendungsfall, der keinen vordefinierten Lösungspfad aufweist.
Eine Anforderung, eingaben und Feedback von mehreren spezialisierten Agents zu berücksichtigen, um einen gültigen Lösungspfad zu entwickeln.
Eine Anforderung für das KI-System, einen vollständig entwickelten Ansatz zu generieren, den ein Mensch vor oder nach der Implementierung überprüfen kann.
Agenten, die mit Tools ausgestattet sind, die mit externen Systemen interagieren, externe Ressourcen verbrauchen oder Veränderungen in laufenden Systemen auslösen können. Ein dokumentierter Plan, der zeigt, wie diese Agents sequenziert werden, kann einem Benutzer angezeigt werden, bevor die Agents die Aufgaben ausführen können.
Wann man die magnetische Orchestrierung vermeiden sollte
Vermeiden Sie dieses Muster in den folgenden Szenarien:
Der Lösungspfad wird entwickelt oder sollte in einer deterministischen Weise angegangen werden.
Es ist nicht erforderlich, ein Hauptbuch zu erstellen.
Die Aufgabe hat eine geringe Komplexität, und ein einfacheres Muster kann es lösen.
Die Arbeit ist zeitkritisch, da das Muster sich auf das Erstellen und Debattieren umsetzbarer Pläne konzentriert und nicht auf die Optimierung der Endergebnisse.
Sie gehen davon aus, dass es häufig zu Verzögerungen oder Endlosschleifen kommt, für die es keinen klaren Lösungsweg gibt.
Beispiel für magnetische Orchestrierung
Ein SRE-Team (Site Reliability Engineering) hat eine Automatisierung entwickelt, die magentische Orchestrierung verwendet, um Szenarios für die Reaktion auf Vorfälle mit geringem Risiko zu behandeln. Wenn ein Dienstausfall im Rahmen der Automatisierung auftritt, muss das System dynamisch einen Wartungsplan erstellen und implementieren. Dies geschieht, ohne die spezifischen Schritte zu kennen, die vorab erforderlich sind.
Wenn die Automatisierung einen qualifizierenden Vorfall erkennt, beginnt der magentische Manager-Agent mit dem Erstellen eines anfänglichen Aufgabenbuchs mit allgemeinen Zielen wie der Wiederherstellung der Dienstverfügbarkeit und der Identifizierung der Ursache. Der Manager-Agent berät dann mit spezialisierten Agents, um Informationen zu sammeln und den Wartungsplan zu verfeinern.
Der Diagnose-Agent analysiert Systemprotokolle, Leistungsmetriken und Fehlermuster, um potenzielle Ursachen zu identifizieren. Es übermittelt die Ergebnisse zurück an den Manager-Agent.
Basierend auf Diagnoseergebnissen aktualisiert der Manager-Agent das Aufgabenbuch mit bestimmten Untersuchungsschritten und konsultiert den Infrastruktur-Agent , um den aktuellen Systemstatus und die verfügbaren Wiederherstellungsoptionen zu verstehen.
Der Kommunikations-Agent bietet Benachrichtigungsfunktionen für Stakeholder, und der Manager-Agent integriert Kommunikations-Checkpoints und Genehmigungsgates in den sich entwickelnden Plan gemäß den Eskalationsverfahren des SRE-Teams.
Wenn das Szenario klarer wird, könnte der Manager-Agent den Rollback-Agenten zum Plan hinzufügen, wenn die Bereitstellung rückgängig gemacht werden muss, oder eskaliert an menschliche SRE-Ingenieure, wenn der Vorfall den Bereich der Automatisierung überschreitet.
Während dieses Prozesses verfeinern die Manager-Agenten kontinuierlich das Aufgabenbuch basierend auf neuen Informationen. Es fügt Aufgaben hinzu, entfernt oder ordnet sie neu an, während sich der Vorfall weiterentwickelt. Wenn der Diagnose-Agent beispielsweise ein Datenbankverbindungsproblem erkennt, kann der Manager-Agent den gesamten Plan von einer Bereitstellungsrollbackstrategie zu einem Plan wechseln, der sich auf die Wiederherstellung der Datenbankkonnektivität konzentriert.
Der Manager-Agent achtet auf übermäßige Verzögerungen bei der Wiederherstellung des Dienstes und ist ein Guard gegen Endlosschleifen bei der Korrektur. Er unterhält einen vollständigen Prüfpfad des sich entwickelnden Plans und der Implementierungsschritte, die Transparenz für die Überprüfung nach dem Vorfall bieten. Durch diese Transparenz wird sichergestellt, dass das SRE-Team sowohl die Arbeitsauslastung als auch die Automatisierung basierend auf den gelernten Erkenntnissen verbessern kann.
Überlegungen zur Implementierung
Wenn Sie eines dieser Agent-Entwurfsmuster implementieren, müssen mehrere Überlegungen berücksichtigt werden. Die Überprüfung dieser Überlegungen hilft Ihnen, häufige Fallstricke zu vermeiden und sicherzustellen, dass Ihre Agenten-Orchestrierung robust, sicher und wartbar bleibt.
Einzelner Agent, Multitool
Sie können einige Probleme mit einem einzelnen Agent beheben, wenn Sie ihm ausreichendEn Zugriff auf Tools und Wissensquellen gewähren. Da sich die Anzahl der Wissensquellen und Tools erhöht, wird es schwierig, eine vorhersehbare Agent-Erfahrung bereitzustellen. Wenn ein einzelner Agent Ihr Szenario zuverlässig lösen kann, sollten Sie diesen Ansatz übernehmen. Entscheidungsfindungs- und Ablaufsteuerungsaufwand überschreiten häufig die Vorteile des Aufteilens des Vorgangs in mehrere Agents. Sicherheitsgrenzen, Netzwerklinien und andere Faktoren können jedoch trotzdem einen Einzel-Agent-Ansatz unerwendbar machen.
Deterministisches Routing
Bei einigen Mustern müssen Sie den Fluss zwischen Agenten deterministisch weiterleiten. Andere verlassen sich auf Agenten, um ihre eigenen Routen zu wählen. Wenn Ihre Agents in einer No-Code- oder Low-Code-Umgebung definiert sind, steuern Sie diese Verhaltensweisen möglicherweise nicht. Wenn Sie Ihre Agents im Code mithilfe von SDKs wie Microsoft Agent Framework oder Semantic Kernel definieren, haben Sie mehr Kontrolle.
Kontextfenster
KI-Agents verfügen häufig über eingeschränkte Kontextfenster. Diese Einschränkung kann sich auf ihre Fähigkeit zum Verarbeiten komplexer Aufgaben auswirken. Wenn Sie diese Muster implementieren, entscheiden Sie, welchen Kontext der nächste Agent benötigt, um effektiv zu sein. In einigen Szenarien benötigen Sie den vollständigen, unformatierten Kontext, der bisher gesammelt wurde. In anderen Szenarien ist eine zusammengefasste oder abgeschnittene Version besser geeignet. Wenn Ihr Agent ohne akkumulierten Kontext arbeiten kann und nur einen neuen Anweisungssatz erfordert, sollten Sie diesen Ansatz ergreifen, anstatt Kontext bereitzustellen, der nicht dazu beizutragen, die Aufgabe des Agents zu erledigen.
Zuverlässigkeit
Diese Muster erfordern ordnungsgemäß funktionierende Agenten und zuverlässige Übergänge zwischen ihnen. Sie führen häufig zu Problemen mit klassischen verteilten Systemen wie Knotenfehlern, Netzwerkpartitionen, Nachrichtenverlust und Kaskadierenden Fehlern. Gegenmaßnahmen sollten vorhanden sein, um diese Herausforderungen anzugehen. Agenten und ihre Orchestratoren sollten die folgenden Schritte durchführen.
Implementieren Sie Timeout- und Wiederholungsmechanismen.
Implementieren Sie eine Graceful Degradation-Implementierung, um einen oder mehrere Agenten innerhalb eines strukturierten Fehlers zu behandeln.
Fehler aufzeigen, statt sie auszublenden, sodass nachgeschaltete Agenten und Orchestrator-Logik entsprechend reagieren können.
Berücksichtigen Sie Circuit-Breaker-Muster für Abhängigkeiten von Agenten.
Entwerfen Sie Agenten, die so isoliert wie praktisch möglich voneinander sind, ohne dass einzelne Fehlerpunkte zwischen Agenten geteilt werden. Beispiel:
Stellen Sie die Rechnerisolation zwischen Agenten sicher.
Bewerten Sie, wie die Verwendung eines einzelnen Modells als Dienstmodell (MaaS) oder eines gemeinsamen Wissensspeichers dazu führen kann, dass die Rate begrenzt wird, wenn Agents gleichzeitig ausgeführt werden.
Verwenden Sie Prüfpunktsfunktionen, die in Ihrem SDK verfügbar sind, um die Wiederherstellung einer unterbrochenen Orchestrierung, beispielsweise bei einem Fehler oder einer neuen Codebereitstellung, zu erleichtern.
Sicherheit
Durch die Implementierung geeigneter Sicherheitsmechanismen in diesen Entwurfsmustern wird das Risiko minimiert, dass Ihr KI-System Angriffen oder Datenlecks ausgesetzt wird. Die Sicherung der Kommunikation zwischen Agents und das Einschränken des Zugriffs jedes Agents auf vertrauliche Daten sind wichtige Strategien für das Sicherheitsdesign. Berücksichtigen Sie die folgenden Sicherheitsmaßnahmen:
Implementieren Sie die Authentifizierung und verwenden Sie sichere Netzwerke zwischen Agents.
Berücksichtigen Sie die Auswirkungen der Agentkommunikation auf den Datenschutz.
Entwerfen Sie Überwachungspfade, um die Complianceanforderungen zu erfüllen.
Entwerfen Sie Agenten und ihre Orchestratoren so, dass sie dem Prinzip der geringsten Berechtigung folgen.
Überlegen Sie, wie Sie die Identität des Benutzers über Agents hinweg behandeln. Agents müssen umfassenden Zugriff auf Wissensspeicher haben, um Anforderungen von allen Benutzern zu verarbeiten, aber sie dürfen keine Daten zurückgeben, auf die der Benutzer nicht zugreifen kann. Sicherheitstrimmung muss in jedem Agenten des Musters implementiert sein.
Beobachtbarkeit und Testen
Die Verteilung Ihres KI-Systems über mehrere Agenten erfordert Überwachung und Testen jedes Agenten einzeln sowie des Systems als Ganzes, um die ordnungsgemäße Funktionalität sicherzustellen. Berücksichtigen Sie beim Entwerfen Ihrer Observability- und Teststrategien die folgenden Empfehlungen:
Instrumentieren Sie alle Agenten-Vorgänge und -Übergaben. Die Problembehandlung verteilter Systeme ist eine Herausforderung in der Informatik, und koordinierte KI-Agents sind keine Ausnahme.
Verfolgen Sie Leistungs- und Ressourcennutzungsmetriken für jeden Agent, damit Sie einen Basisplan einrichten, Engpässe finden und optimieren können.
Entwerfen Sie testbare Schnittstellen für einzelne Agents.
Implementieren von Integrationstests für Workflows mit mehreren Agents.
Häufige Fallstricke und Antimuster
Vermeiden Sie diese häufig auftretenden Fehler, wenn Sie Agent-Orchestrierungsmuster implementieren:
Erstellen Sie unnötigen Koordinationsaufwand durch die Verwendung eines komplexen Musters, wenn eine einfache sequentielle oder parallele Orchestrierung ausreichen würde.
Hinzufügen von Agents, die keine sinnvolle Spezialisierung bieten.
Übersehen der Auswirkungen von Latenz in der Mehrfach-Hop-Kommunikation.
Gemeinsame Nutzung eines veränderlichen Status durch parallele Agenten, was zu transaktional inkonsistenten Daten führen kann, da synchrone Aktualisierungen über die Grenzen der Agenten hinweg angenommen werden.
Verwenden von deterministischen Mustern für Workflows, die inhärent nicht deterministisch sind.
Verwenden von nicht deterministischen Mustern für Workflows, die inhärent deterministisch sind.
Wenn Sie eine gleichzeitige Orchestrierung wählen, werden Ressourceneinschränkungen ignoriert.
Verwenden übermäßiger Modellressourcen, da Kontextfenster wachsen, da Agents weitere Informationen sammeln und ihr Modell konsultieren, um Fortschritte bei ihrer Aufgabe zu erzielen.
Kombinieren von Orchestrierungsmustern
Anwendungen erfordern manchmal, dass Sie mehrere Orchestrierungsmuster kombinieren, um ihre Anforderungen zu erfüllen. Sie können z. B. die sequenzielle Orchestrierung für die ersten Datenverarbeitungsphasen verwenden und dann zur gleichzeitigen Orchestrierung für parallelisierbare Analyseaufgaben wechseln. Versuchen Sie nicht, einen Workflow in ein einzelnes Muster einzupassen, wenn unterschiedliche Phasen Ihrer Workload unterschiedliche Merkmale aufweisen und von jeder Phase profitieren können, indem Sie ein anderes Muster verwenden.
Beziehung zu Clouddesignmustern
KI-Agenten-Orchestrierungsmuster erweitern und ergänzen traditionelle Clouddesignmuster , indem sie die einzigartigen Herausforderungen der Koordination intelligenter, autonomer Komponenten bewältigen. Clouddesignmuster konzentrieren sich auf strukturelle und verhaltensbezogene Bedenken in verteilten Systemen, aber KI-Agent-Orchestrierungsmuster richten sich speziell auf die Koordination von Komponenten mit Denkfunktionen, Lernverhalten und nicht deterministischen Ausgaben.
SDK-basierte Implementierungen
Viele dieser Muster basieren auf einer codebasierten Implementierung, um die Orchestrierungslogik zu beheben. SDKs, die ein Agent-Framework unterstützen, bieten häufig Unterstützung für viele der Agent-Orchestrierungsmuster.
Microsoft Agent Framework
Das Microsoft Agent Framework SDK enthält Implementierungsleitfaden für die Agent Framework-Orchestrierung.
- Sequenzielle Orchestrierung mit dem Agent-Framework
- Gleichzeitige Orchestrierung mithilfe des Agent-Frameworks
- Handoff-Orchestrierung mit dem Agent-Framework
- Magentische Orchestrierung mit dem Agent-Framework
Für eine praktische Umsetzung sollten Sie die Beispiele für deklarative Workflows im Agent-Framework auf GitHub erkunden, die einige dieser Muster in der Praxis demonstrieren.
Semantischer Kernel
Das semantische Kernel-SDK enthält Implementierungsanleitungen für das Agent-Framework.
- Sequenzielle Orchestrierung mithilfe des semantischen Kernels
- Gleichzeitige Orchestrierung mit semantischem Kernel
- Gruppenchat-Orchestrierung mithilfe des semantischen Kernels
- Handoff-Orchestrierung mithilfe des semantischen Kernels
- Magentische Orchestrierung mit semantischem Kernel
Für eine praktische Umsetzung erkunden Sie die Semantic Kernel Multi-Agenten-Orchestrierungsbeispiele auf GitHub, die diese Muster in der Praxis demonstrieren.
Sie finden auch viele dieser Muster in AutoGen, z. B. Magentic-One.
Implementierungen im Azure AI Foundry Agent Service
Sie können den Azure AI Foundry Agent Service auch verwenden, um Agents in relativ einfachen Workflows zu verketten, indem Sie die funktionen der verbundenen Agents verwenden. Die Workflows, die Sie mithilfe dieses Diensts implementieren, sind in erster Linie nicht deterministisch, wodurch beschränkt wird, welche Muster in dieser No-Code-Umgebung vollständig implementiert werden können.
Beitragende
Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.
Hauptautoren:
- Chad Kittel | Principal Software Engineer – Azure Patterns & Practices
- Clayton Siemens | Prinzipalinhaltsentwickler – Azure Patterns & Practices
Andere Mitwirkende:
- Hemavathy Alaganandam | Principal Software Engineer
- James Lee | Data Scientist 2
- Ritesh Modi | Hauptsoftwareingenieur
- Mahdi Setayesh | Principal Software Engineer
- Mark Taylor | Principal Software Engineer
- Yaniv Vaknin | Senior Technical Specialist
Um nicht-öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.