Dieses Dokument enthält eine Anleitung zur Auswahl eines Designmusters für Ihr agentisches KI-System. Agent-Designmuster sind gängige architektonische Ansätze zum Erstellen von agentischen Anwendungen. Ein Agent-Designmuster bietet ein eigenes Framework zum Organisieren der Komponenten eines Systems, zum Integrieren des Modells und zum Orchestrieren eines einzelnen oder mehrerer Agents, um einen Workflow auszuführen.
KI-Agents eignen sich für Anwendungen, die offene Probleme lösen, die möglicherweise eine autonome Entscheidungsfindung und eine komplexe Verwaltung von mehrstufigen Workflows erfordern. Agents eignen sich hervorragend, um Probleme in Echtzeit mithilfe externer Daten zu lösen und wissensintensive Aufgaben zu automatisieren. KI‑Agents eignen sich, wenn Sie KI benötigen, um zielorientierte Aufgaben mit einem gewissen Grad an Autonomie zu erledigen. Für andere Anwendungsfälle können Sie unterstützende und generative KI-Anwendungen verwenden. Informationen zu den Unterschieden zwischen KI-Agenten und nicht agentenbasierten KI-Anwendungen finden Sie unter Was ist der Unterschied zwischen KI-Agenten, KI-Assistenten und Bots?
In dieser Anleitung wird davon ausgegangen, dass Sie grundlegende Kenntnisse über agentenbasierte KI-Systeme haben und wissen, wie sich ihre Architektur von der nicht agentenbasierten Systeme unterscheidet, z. B. von Systemen, die direktes Modell-Reasoning oder Retrieval Augmented Generation (RAG) verwenden.
Eine Zusammenfassung der Richtlinien für das Agent-Muster finden Sie weiter unten in diesem Dokument im Abschnitt Designmuster vergleichen.
Übersicht über den Designprozess
Im Folgenden finden Sie die allgemeinen Schritte zum Auswählen eines Designmusters für Ihr agentisches KI-System. Diese Schritte werden weiter unten in diesem Dokument ausführlich beschrieben.
- Anforderungen definieren: Bewerten Sie die Merkmale Ihrer Arbeitslast, einschließlich Aufgabenkomplexität, Latenz- und Leistungserwartungen, Kostenbudget und der Notwendigkeit menschlicher Beteiligung.
- Häufige Agent-Designmuster ansehen: In diesem Leitfaden finden Sie Informationen zu den häufigen Designmustern, die sowohl Einzel- als auch Multi-Agent-Systeme umfassen.
- Muster auswählen: Wählen Sie das passende Entwurfsmuster basierend auf den Merkmalen Ihrer Arbeitslast aus.
Dieser Prozess ist keine einmalige Entscheidung. Sie sollten diese Schritte regelmäßig wiederholen, um Ihre Architektur zu optimieren, wenn sich die Merkmale Ihrer Arbeitslast ändern, sich Ihre Anforderungen weiterentwickeln oder neue Google Cloud Funktionen verfügbar werden.
Anforderungen definieren
Die folgenden Fragen sind nicht als fertige Checklisten für die Planung zu verstehen. Anhand dieser Fragen können Sie das primäre Ziel Ihres agentischen Systems ermitteln und das beste Designmuster auswählen.
- Aufgabenmerkmale: Kann Ihre Aufgabe in vordefinierten Workflowschritten erledigt werden oder ist sie offen? Muss für Ihre Aufgabe ein KI-Modell verwendet werden, um den Workflow zu orchestrieren?
- Latenz und Leistung: Müssen Sie schnelle oder interaktive Antworten auf Kosten von Genauigkeit oder hochwertigen Antworten priorisieren? Oder kann Ihre Anwendung eine Verzögerung tolerieren, um ein genaueres oder gründlicheres Ergebnis zu erzielen?
- Kosten: Wie hoch ist Ihr Budget für Inferenzkosten? Können Sie Muster unterstützen, die für eine einzelne Anfrage mehrere Aufrufe des Modells erfordern?
- Einbeziehung von Menschen: Geht es bei Ihrer Aufgabe um wichtige Entscheidungen, sicherheitskritische Vorgänge oder subjektive Genehmigungen, die eine menschliche Beurteilung erfordern?
Wenn Ihr Arbeitslast vorhersagbar oder hochstrukturiert ist oder mit einem einzelnen Aufruf eines KI-Modells ausgeführt werden kann, kann es kostengünstiger sein, nicht auf Agenten basierende Lösungen für Ihre Aufgabe zu verwenden. Für Aufgaben wie das Zusammenfassen eines Dokuments, das Übersetzen von Text oder das Klassifizieren von Kundenfeedback ist beispielsweise kein Agent-Workflow erforderlich. Informationen zur Auswahl von Architekturkomponenten für generative KI-Anwendungen, die keine Agent-Infrastruktur erfordern, finden Sie unter Modelle und Infrastruktur für Ihre generative KI-Anwendung auswählen.
In den folgenden Abschnitten werden gängige Agent-Designmuster für die Entwicklung eines zuverlässigen und effektiven agentenbasierten KI-Systems beschrieben.
System mit einem einzelnen Agent
Ein Single-Agent-System verwendet ein KI-Modell, einen definierten Satz von Tools und einen umfassenden System-Prompt, um eine Nutzeranfrage autonom zu bearbeiten oder eine bestimmte Aufgabe zu erledigen. Bei diesem grundlegenden Muster stützt sich der Agent auf die Reasoning-Funktionen des Modells, um die Anfrage eines Nutzers zu interpretieren, eine Abfolge von Schritten zu planen und zu entscheiden, welche Tools aus einem definierten Satz verwendet werden sollen. Der Systemprompt beeinflusst das Verhalten des Agenten, indem er seine Kernaufgabe, Persona und Operationen sowie die spezifischen Bedingungen für die Verwendung der einzelnen Tools definiert.
Das folgende Diagramm zeigt eine allgemeine Ansicht eines einzelnen Agent-Musters:
Ein System mit einem einzelnen Agenten ist ideal für Aufgaben, die mehrere Schritte und den Zugriff auf externe Daten erfordern. Ein Kundenservicemitarbeiter muss beispielsweise eine Datenbank abfragen, um den Bestellstatus zu ermitteln, oder ein Forschungsassistent muss APIs aufrufen, um aktuelle Nachrichten zusammenzufassen. Ein nicht agentisches System kann diese Aufgaben nicht ausführen, da es nicht autonom Tools verwenden oder einen mehrstufigen Plan ausführen kann, um eine endgültige Antwort zu generieren.
Wenn Sie noch am Anfang der Entwicklung Ihres Agents stehen, empfehlen wir, mit einem einzelnen Agent zu beginnen. Wenn Sie die Entwicklung Ihres Agents mit einem Einzelagentensystem beginnen, können Sie sich auf die Optimierung der Kernlogik, des Prompts und der Tooldefinitionen Ihres Agents konzentrieren, bevor Sie komplexere Architekturkomponenten hinzufügen.
Die Leistung eines einzelnen Agents kann weniger effektiv sein, wenn er mehr Tools verwendet und die Komplexität der Aufgaben zunimmt. Dies kann sich in einer erhöhten Latenz, einer falschen Auswahl oder Verwendung des Tools oder einem Fehler beim Ausführen der Aufgabe äußern. Sie können diese Probleme häufig beheben, indem Sie den Prozess der Schlussfolgerung des Agents mit Techniken wie dem ReAct-Muster (Reason and Act) optimieren. Wenn Ihr Workflow jedoch erfordert, dass ein Agent mehrere unterschiedliche Aufgaben übernimmt, reichen diese Techniken möglicherweise nicht aus. In diesen Fällen sollten Sie ein Multi-Agenten-System in Betracht ziehen, das die Robustheit und Leistung verbessern kann, indem es bestimmte Fähigkeiten an spezialisierte Agenten delegiert.
Multi-Agent-Systeme
Ein Multi-Agenten-System koordiniert mehrere spezialisierte Agenten, um ein komplexes Problem zu lösen, das ein einzelner Agent nicht so einfach bewältigen kann. Das Grundprinzip besteht darin, ein großes Ziel in kleinere Teilaufgaben zu zerlegen und jede Teilaufgabe einem bestimmten Agenten mit einer bestimmten Fähigkeit zuzuweisen. Diese Agents interagieren dann über kollaborative oder hierarchische Workflows, um das endgültige Ziel zu erreichen. Multi-Agent-Muster bieten ein modulares Design, das die Skalierbarkeit, Zuverlässigkeit und Wartungsfreundlichkeit des Gesamtsystems im Vergleich zu einem einzelnen Agenten mit einem monolithischen Prompt verbessern kann.
In einem Multi-Agent-System benötigt jeder Agent einen bestimmten Kontext, um seine Aufgabe effektiv auszuführen. Der Kontext kann Dokumentation, bisherige Einstellungen, relevante Links, den Konversationsverlauf oder betriebliche Einschränkungen umfassen. Der Prozess der Verwaltung dieses Informationsflusses wird als Kontext-Engineering bezeichnet. Context Engineering umfasst Strategien wie das Isolieren von Kontext für einen bestimmten Agent, das Beibehalten von Informationen über mehrere Schritte hinweg oder das Komprimieren großer Datenmengen zur Effizienzsteigerung.
Die Entwicklung eines Multi-Agent-Systems erfordert im Vergleich zu einem Single-Agent-System zusätzliche Überlegungen zu Bewertung, Sicherheit, Zuverlässigkeit und Kosten. Beispielsweise müssen in Multi-Agent-Systemen präzise Zugriffssteuerungen für jeden spezialisierten Agenten implementiert werden. Außerdem ist ein robustes Orchestrierungssystem erforderlich, um eine zuverlässige Kommunikation zwischen den Agenten zu gewährleisten. Schließlich müssen die erhöhten Betriebskosten aufgrund des Rechenaufwands für die Ausführung mehrerer Agenten verwaltet werden. Eine Beispielreferenzarchitektur zum Erstellen eines Systems mit mehreren KI-Agenten finden Sie unter Multi-Agent AI Systems in Google Cloud.
Sequenzielles Muster
Beim sequenziellen Muster mit mehreren Agenten wird eine Reihe von spezialisierten Agenten in einer vordefinierten, linearen Reihenfolge ausgeführt. Die Ausgabe eines Agenten dient dabei als direkte Eingabe für den nächsten Agenten. Bei diesem Muster wird ein Agent für sequenzielle Arbeitsabläufe verwendet, der auf vordefinierter Logik basiert, ohne dass ein KI-Modell für die Orchestrierung seiner untergeordneten Agents konsultiert werden muss.
Das folgende Diagramm zeigt einen allgemeinen Überblick über ein sequenzielles Muster mit mehreren Agents:
Verwenden Sie das sequenzielle Muster für hochstrukturierte, wiederholbare Prozesse, bei denen sich die Reihenfolge der Vorgänge nicht ändert. In einer Datenverarbeitungs-Pipeline könnte dieses Muster beispielsweise verwendet werden, um zuerst einen Datenextraktions-Agenten zum Abrufen von Rohdaten zu verwenden. Diese Daten werden dann an einen Datenbereinigungs-Agenten zur Formatierung übergeben, der wiederum die bereinigten Daten an einen Datenlade-Agenten weiterleitet, um sie in einer Datenbank zu speichern.
Das sequenzielle Muster kann die Latenz und die Betriebskosten im Vergleich zu einem Muster reduzieren, bei dem ein KI-Modell den Workflow der Aufgaben orchestriert. Diese Effizienz geht jedoch auf Kosten der Flexibilität. Die starre, vordefinierte Struktur der Pipeline erschwert die Anpassung an dynamische Bedingungen oder das Überspringen unnötiger Schritte. Dies kann zu einer ineffizienten Verarbeitung oder zu einer höheren kumulativen Latenz führen, wenn ein unnötiger Schritt langsam ist.
Paralleles Muster
Beim parallelen Muster mit mehreren Agenten, auch gleichzeitiges Muster genannt, führen mehrere spezialisierte untergeordnete Agenten eine Aufgabe oder Teilaufgaben gleichzeitig unabhängig voneinander aus. Die Ausgaben der Sub-Agents werden dann zusammengeführt, um die endgültige konsolidierte Antwort zu generieren. Ähnlich wie bei einem sequenziellen Muster wird beim parallelen Muster ein Agent für parallele Workflows verwendet, um zu verwalten, wie und wann die anderen Agents ausgeführt werden, ohne dass ein KI-Modell zur Orchestrierung der untergeordneten Agents erforderlich ist.
Das folgende Diagramm zeigt eine allgemeine Ansicht eines parallelen Musters mit mehreren Agents:
Verwenden Sie das parallele Muster, wenn untergeordnete Aufgaben gleichzeitig ausgeführt werden können, um die Latenz zu verringern oder verschiedene Perspektiven zu berücksichtigen, z. B. wenn Daten aus unterschiedlichen Quellen erfasst oder mehrere Optionen gleichzeitig bewertet werden. Wenn Sie beispielsweise Kundenfeedback analysieren möchten, kann ein paralleler Agent einen einzelnen Feedbackeintrag gleichzeitig an vier spezialisierte Agents weiterleiten: einen Agent für die Sentimentanalyse, einen Agent für die Keyword-Extraktion, einen Agent für die Kategorisierung und einen Agent für die Dringlichkeitserkennung. Ein letzter Agent fasst diese vier Ausgaben in einer einzigen, umfassenden Analyse des Feedbacks zusammen.
Das parallele Muster kann die Gesamtlatenz im Vergleich zu einem sequenziellen Ansatz reduzieren, da es gleichzeitig verschiedene Informationen aus mehreren Quellen abrufen kann. Dieser Ansatz hat jedoch Nachteile in Bezug auf Kosten und Komplexität. Wenn Sie mehrere Agents parallel ausführen, kann dies die unmittelbare Ressourcennutzung und den Tokenverbrauch erhöhen, was zu höheren Betriebskosten führt. Außerdem erfordert der Schritt „gather“ eine komplexe Logik, um potenziell widersprüchliche Ergebnisse zu synthetisieren, was den Entwicklungs- und Wartungsaufwand des Systems erhöht.
Schleifenmuster
Das Multi-Agent-Loop-Agent-Muster führt eine Sequenz von spezialisierten Unteragenten wiederholt aus, bis eine bestimmte Beendigungsbedingung erfüllt ist. Bei diesem Muster wird ein Workflow-Agent für Schleifen verwendet, der wie andere Workflow-Agents auf vordefinierter Logik basiert, ohne ein KI-Modell für die Orchestrierung zu verwenden. Nachdem alle untergeordneten Agents ihre Aufgaben abgeschlossen haben, prüft der Loop-Agent, ob eine Endbedingung erfüllt ist. Die Bedingung kann eine maximale Anzahl von Iterationen oder ein benutzerdefinierter Status sein. Wenn die Beendigungsbedingung nicht erfüllt ist, startet der Schleifen-Agent die Sequenz der untergeordneten Agents noch einmal. Sie können ein Schleifenmuster implementieren, bei dem die Exit-Bedingung an einem beliebigen Punkt im Ablauf ausgewertet wird. Verwenden Sie das Schleifenmuster für Aufgaben, die iterative Optimierung oder Selbstkorrektur erfordern, z. B. das Generieren von Inhalten und das Überprüfen durch einen Kritiker-Agenten, bis sie einem Qualitätsstandard entsprechen.
Das folgende Diagramm zeigt einen allgemeinen Überblick über ein Multi-Agent-Loop-Muster:
Das Loop-Agent-Muster bietet eine Möglichkeit, komplexe, iterative Workflows zu erstellen. So können Agents ihre eigene Arbeit optimieren und die Verarbeitung fortsetzen, bis eine bestimmte Qualität oder ein bestimmter Status erreicht ist. Der größte Nachteil dieses Musters ist jedoch das Risiko einer Endlosschleife. Wenn die Beendigungsbedingung nicht richtig definiert ist oder die untergeordneten Agents den zum Beenden erforderlichen Status nicht erzeugen, kann die Schleife unbegrenzt ausgeführt werden. Dies kann zu übermäßigen Betriebskosten, hohem Ressourcenverbrauch und potenziellen Systemabstürzen führen.
Muster überprüfen und kritisieren
Das Muster für die Überprüfung und Kritik durch mehrere Agents, auch als Muster für Generator und Kritiker bezeichnet, verbessert die Qualität und Zuverlässigkeit generierter Inhalte durch den Einsatz von zwei spezialisierten Agents, in der Regel in einem sequenziellen Workflow. Das Muster „Überprüfen und kritisieren“ ist eine Implementierung des Loop-Agent-Musters.
Beim Muster „Überprüfen und kritisieren“ erstellt ein Generator-Agent eine erste Ausgabe, z. B. einen Codeblock oder eine Zusammenfassung eines Dokuments. Als Nächstes bewertet ein Kritik-Agent diese Ausgabe anhand einer vordefinierten Reihe von Kriterien, z. B. sachliche Richtigkeit, Einhaltung von Formatierungsregeln oder Sicherheitsrichtlinien. Basierend auf der Bewertung kann der Kritiker die Inhalte genehmigen, ablehnen oder mit Feedback zur Überarbeitung an den Generator zurücksenden.
Das folgende Diagramm zeigt einen allgemeinen Überblick über ein Muster für die Überprüfung und Kritik durch mehrere Agents:
Dieses Muster eignet sich für Aufgaben, bei denen die Ausgaben sehr genau sein oder strengen Einschränkungen entsprechen müssen, bevor sie einem Nutzer präsentiert oder in einem nachgelagerten Prozess verwendet werden. In einem Workflow zur Codegenerierung könnte ein Generator-Agent beispielsweise eine Funktion schreiben, um die Anfrage eines Nutzers zu erfüllen. Dieser generierte Code wird dann an einen Critic-Agent übergeben, der als Sicherheitsprüfer fungiert. Die Aufgabe des Critic-Agents besteht darin, den Code anhand einer Reihe von Einschränkungen zu prüfen, z. B. auf Sicherheitslücken zu scannen oder zu überprüfen, ob er alle Einheitentests besteht, bevor der Code für die Verwendung genehmigt wird.
Das Muster „Prüfer und Kritik“ kann die Qualität, Genauigkeit und Zuverlässigkeit der Ausgabe verbessern, da es einen speziellen Überprüfungsschritt hinzufügt. Diese Qualitätssicherung führt jedoch direkt zu einer erhöhten Latenz und höheren Betriebskosten. Für die Bewertung durch den Kritiker ist mindestens ein zusätzlicher Modellaufruf erforderlich. Wenn der Prozess Überarbeitungszyklen umfasst, in denen Inhalte zur Optimierung zurückgesendet werden, summieren sich sowohl die Latenz als auch die Kosten mit jeder Iteration.
Muster für iterative Optimierung
Beim Muster für iterative Verfeinerung wird ein Schleifenmechanismus verwendet, um eine Ausgabe über mehrere Zyklen hinweg schrittweise zu verbessern. Das Muster der iterativen Verfeinerung ist eine Implementierung des Schleifen-Agent-Musters.
Bei diesem Muster arbeiten ein oder mehrere Agents in einer Schleife, um ein Ergebnis zu ändern, das in jeder Iteration im Sitzungsstatus gespeichert wird. Der Prozess wird fortgesetzt, bis die Ausgabe einen vordefinierten Qualitätsschwellenwert erreicht oder eine maximale Anzahl von Iterationen erreicht wird, um Endlosschleifen zu vermeiden.
Das folgende Diagramm zeigt einen allgemeinen Überblick über ein iteratives Muster mit mehreren Agents:
Dieses Muster eignet sich für komplexe Generierungsaufgaben, bei denen die Ausgabe in einem einzigen Schritt nur schwer zu erreichen ist. Beispiele für solche Aufgaben sind das Schreiben und Debuggen von Code, das Entwickeln eines detaillierten mehrteiligen Plans oder das Verfassen und Überarbeiten eines längeren Dokuments. In einem Workflow für kreatives Schreiben kann ein Agent beispielsweise einen Blogpost-Entwurf erstellen, den Entwurf auf Fluss und Tonfall prüfen und ihn dann auf Grundlage dieser Kritik überarbeiten. Dieser Vorgang wird in einer Schleife wiederholt, bis die Arbeit des Agents einem vordefinierten Qualitätsstandard entspricht oder die Wiederholung eine maximale Anzahl von Iterationen erreicht.
Mit dem Muster der iterativen Verfeinerung lassen sich sehr komplexe oder ausgefeilte Ausgaben erzeugen, die in einem einzigen Schritt nur schwer zu erreichen wären. Der Schleifenmechanismus erhöht jedoch mit jedem Zyklus direkt die Latenz und die Betriebskosten. Dieses Muster erhöht auch die Komplexität der Architektur, da es sorgfältig entworfene Beendigungsbedingungen erfordert, z. B. eine Qualitätsbewertung oder ein maximales Iterationslimit, um übermäßige Kosten oder eine unkontrollierte Ausführung zu verhindern.
Koordinatormuster
Beim Muster für die Koordination mehrerer Agents wird ein zentraler Agent, der Koordinator, verwendet, um einen Workflow zu steuern. Der Koordinator analysiert und zerlegt die Anfrage eines Nutzers in untergeordnete Aufgaben und leitet jede untergeordnete Aufgabe dann zur Ausführung an einen spezialisierten Agenten weiter. Jeder spezialisierte Agent ist ein Experte für eine bestimmte Funktion, z. B. das Abfragen einer Datenbank oder das Aufrufen einer API.
Das Coordinator-Muster zeichnet sich durch die Verwendung eines KI-Modells zum Orchestrieren und dynamischen Weiterleiten von Aufgaben aus. Das parallele Muster basiert dagegen auf einem fest codierten Workflow, um Aufgaben für die gleichzeitige Ausführung zu verteilen, ohne dass eine Orchestrierung des KI-Modells erforderlich ist.
Das folgende Diagramm zeigt einen allgemeinen Überblick über das Muster für einen Multi-Agent-Coordinator:
Verwenden Sie das Coordinator-Muster, um strukturierte Geschäftsprozesse zu automatisieren, die adaptives Routing erfordern. Ein Kundenservicemitarbeiter kann beispielsweise als Koordinator fungieren. Der Kundenservicemitarbeiter analysiert die Anfrage, um festzustellen, ob es sich um eine Anfrage zum Bestellstatus, eine Produktrückgabe oder eine Erstattungsanfrage handelt. Je nach Art der Anfrage leitet der Koordinator die Aufgabe an den entsprechenden spezialisierten Agenten weiter.
Das Coordinator-Muster bietet Flexibilität im Vergleich zu starreren, vordefinierten Workflows. Wenn der Koordinator ein Modell zum Weiterleiten von Aufgaben verwendet, kann er eine größere Vielfalt von Eingaben verarbeiten und den Workflow zur Laufzeit anpassen. Dieser Ansatz hat jedoch auch Nachteile. Da der Koordinator und jeder spezialisierte Agent auf ein Modell für die Argumentation angewiesen sind, führt dieses Muster zu mehr Modellaufrufen als ein System mit einem einzelnen Agenten. Das Coordinator-Muster kann zwar zu einer besseren Argumentation führen, erhöht aber auch den Tokendurchsatz, die Betriebskosten und die Gesamtlatenz im Vergleich zu einem System mit einem einzelnen Agent.
Muster für die hierarchische Aufgabenzerlegung
Beim Muster für die hierarchische Aufgabenzerlegung mit mehreren Agenten werden Agenten in einer mehrstufigen Hierarchie organisiert, um komplexe Probleme zu lösen, die eine umfangreiche Planung erfordern. Das Muster für die hierarchische Aufgabenzerlegung ist eine Implementierung des Coordinator-Musters. Ein übergeordneter Agent der obersten Ebene oder Stammagent erhält eine komplexe Aufgabe und ist dafür verantwortlich, sie in mehrere kleinere, überschaubare Teilaufgaben zu zerlegen. Der Stamm-Agent delegiert jede Teilaufgabe an einen spezialisierten untergeordneten Agenten auf einer niedrigeren Ebene. Dieser Prozess kann sich über mehrere Ebenen wiederholen, wobei Agenten ihre zugewiesenen Aufgaben immer weiter aufteilen, bis die Aufgaben einfach genug sind, damit ein Worker-Agent auf der niedrigsten Ebene sie direkt ausführen kann.
Das folgende Diagramm zeigt eine allgemeine Ansicht eines hierarchischen Musters zur Aufteilung von Aufgaben in mehrere Agenten:
Verwenden Sie das Muster der hierarchischen Aufgabenzerlegung für mehrdeutige, offene Probleme, die mehrstufiges logisches Denken erfordern, z. B. Aufgaben, die Recherche, Planung und Synthese umfassen. Um beispielsweise ein komplexes Rechercheprojekt abzuschließen, zerlegt ein Koordinator-Agent das übergeordnete Ziel in mehrere Aufgaben wie das Sammeln von Informationen, das Analysieren der Ergebnisse und das Erstellen des Abschlussberichts. Der Coordinator-Agent delegiert diese Aufgaben dann an spezialisierte Sub-Agents, z. B. einen Agenten für die Datenerhebung, einen Analyse-Agenten und einen Agenten, der Berichte schreibt, um sie auszuführen oder weiter aufzuschlüsseln.
Das Muster der hierarchischen Aufgabenzerlegung eignet sich ideal für die Lösung hochkomplexer und mehrdeutiger Probleme, da es diese systematisch in überschaubare Teilaufgaben zerlegt. Dieses Muster kann zu umfassenderen und qualitativ hochwertigeren Ergebnissen führen als einfachere Muster. Diese erweiterte Funktion bringt jedoch erhebliche Nachteile mit sich. Die mehrstufige Struktur führt zu einer erheblichen architektonischen Komplexität, was die Entwicklung, das Debugging und die Wartung des Systems erschwert. Die vielen Ebenen der Delegation und des Reasoning führen auch zu einer hohen Anzahl von Modellaufrufen, was sowohl die Gesamtlatenz als auch die Betriebskosten im Vergleich zu anderen Mustern deutlich erhöht.
Schwarmmuster
Beim Multi-Agent-Swarm-Muster wird ein kollaborativer Ansatz mit All-to-All-Kommunikation verwendet. Bei diesem Muster arbeiten mehrere spezialisierte Agents zusammen, um eine Lösung für ein komplexes Problem iterativ zu verfeinern.
Das folgende Diagramm zeigt eine allgemeine Ansicht eines Multi-Agent-Schwarmmusters:
Beim Schwarmmuster wird ein Dispatcher-Agent verwendet, um eine Nutzeranfrage an eine kollaborative Gruppe von spezialisierten Agents weiterzuleiten. Der Dispatcher-Agent interpretiert die Anfrage und ermittelt, welcher Agent im Schwarm am besten geeignet ist, die Aufgabe zu beginnen. In diesem Muster kann jeder Agent mit jedem anderen Agenten kommunizieren. So können sie Ergebnisse austauschen, Vorschläge kritisieren und auf der Arbeit der anderen aufbauen, um eine Lösung iterativ zu verfeinern. Jeder Agent im Schwarm kann die Aufgabe an einen anderen Agenten übergeben, der seiner Meinung nach besser für den nächsten Schritt geeignet ist, oder die endgültige Antwort über den Koordinator-Agenten an den Nutzer zurückgeben.
Ein Schwarm hat in der Regel keinen zentralen Supervisor oder Koordinator, der den Prozess im Auge behält. Der Dispatcher-Agent orchestriert den agentischen Workflow nicht, anders als beim Coordinator-Muster. Stattdessen erleichtert der Dispatcher-Agent die Kommunikation zwischen den Sub-Agents des Schwarms und dem Nutzer. Damit der Schwarm schließlich stoppt und ein Ergebnis zurückgibt, müssen Sie eine explizite Beendigungsbedingung definieren. Diese Bedingung ist oft eine maximale Anzahl von Iterationen, ein Zeitlimit oder das Erreichen eines bestimmten Ziels, z. B. das Erreichen eines Konsens.
Verwenden Sie das Schwarmmuster für mehrdeutige oder hochkomplexe Probleme, die von Diskussionen und iterativer Verfeinerung profitieren. Für die Entwicklung eines neuen Produkts könnten beispielsweise ein Marktforschungs-Agent, ein Engineering-Agent und ein Finanzmodellierungs-Agent erforderlich sein. Die Kundenservicemitarbeiter würden erste Ideen austauschen, die Kompromisse zwischen Funktionen und Kosten diskutieren und gemeinsam eine endgültige Designspezifikation entwickeln, die alle konkurrierenden Anforderungen berücksichtigt.
Das Schwarmmuster simuliert ein kollaboratives Team von Experten und kann daher außergewöhnlich hochwertige und kreative Lösungen liefern. Es ist jedoch das komplexeste und kostspieligste Multi-Agent-Muster, das implementiert werden kann. Wenn kein Agent vorhanden ist, der ein KI-Modell zur Orchestrierung verwendet, besteht das Risiko, dass es zu unproduktiven Schleifen kommt oder keine Lösung gefunden wird. Sie müssen daher eine ausgefeilte Logik entwickeln, um die komplexe Kommunikation zwischen den Agents zu verwalten, den iterativen Workflow zu steuern und die erheblichen Betriebskosten und die Latenz zu bewältigen, die mit der Ausführung einer dynamischen Konversation mit mehreren Zügen zwischen mehreren Agents verbunden sind.
Muster „Reason and act“ (ReAct)
Das ReAct-Muster ist ein Ansatz, bei dem das KI-Modell seine Denkprozesse und Aktionen als eine Reihe von Interaktionen in natürlicher Sprache formuliert. In diesem Muster arbeitet der Agent in einem iterativen Zyklus aus Denken, Handeln und Beobachten, bis eine Endbedingung erfüllt ist.
- Thought: Das Modell überlegt, wie es mit der Aufgabe fortfahren soll. Das Modell wertet alle gesammelten Informationen aus, um festzustellen, ob die Anfrage des Nutzers vollständig beantwortet wurde.
- Aktion: Basierend auf dem Denkprozess führt das Modell eine von zwei Aktionen aus:
- Wenn die Aufgabe nicht abgeschlossen ist, wird ein Tool ausgewählt und dann eine Anfrage formuliert, um weitere Informationen zu erhalten.
- Wenn die Aufgabe abgeschlossen ist, wird die endgültige Antwort formuliert, die an den Nutzer gesendet wird. Damit wird der Loop beendet.
- Beobachtung: Das Modell empfängt die Ausgabe des Tools und speichert relevante Informationen im Arbeitsspeicher. Da das Modell relevante Ausgaben speichert, kann es auf früheren Beobachtungen aufbauen. So wird verhindert, dass es sich wiederholt oder den Kontext verliert.
Die iterative Schleife wird beendet, wenn der Agent eine schlüssige Antwort findet, eine voreingestellte maximale Anzahl von Iterationen erreicht oder ein Fehler auftritt, der ihn daran hindert, fortzufahren. In dieser iterativen Schleife kann der Agent dynamisch einen Plan erstellen, Beweise sammeln und seinen Ansatz anpassen, während er auf eine endgültige Antwort hinarbeitet.
Das folgende Diagramm zeigt einen allgemeinen Überblick über das ReAct-Muster:
Verwenden Sie das ReAct-Muster für komplexe, dynamische Aufgaben, die eine kontinuierliche Planung und Anpassung erfordern. Stellen Sie sich beispielsweise einen Roboter-Agent vor, der einen Pfad generieren muss, um von einem Ausgangszustand in einen Zielzustand zu gelangen:
- Gedanke: Das Modell überlegt, wie es am besten vom aktuellen Zustand in den Zielzustand übergeht. Während des Denkprozesses optimiert das Modell Messwerte wie Zeit oder Energie.
- Aktion: Das Modell führt den nächsten Schritt in seinem Plan aus, indem es sich entlang eines berechneten Pfadsegments bewegt.
- Beobachtung: Das Modell beobachtet und speichert den neuen Zustand der Umgebung. Das Modell speichert seine neue Position und alle Änderungen an der Umgebung, die es wahrnimmt.
Durch diese Schleife kann der Agent dynamische Einschränkungen wie das Ausweichen vor neuen Hindernissen oder das Einhalten von Verkehrsregeln berücksichtigen, indem er seinen Plan auf Grundlage neuer Beobachtungen ständig aktualisiert. Der Agent setzt seinen iterativen Loop fort, bis er sein Ziel erreicht oder ein Fehler auftritt.
Ein einzelner ReAct-Agent kann einfacher und kostengünstiger zu implementieren und zu warten sein als ein komplexes Multi-Agenten-System. „Model thinking“ bietet ein Transkript der Argumentation des Modells, was bei der Fehlerbehebung hilfreich ist. Diese Flexibilität bringt jedoch auch Nachteile mit sich. Die iterative, mehrstufige Natur des Loops kann im Vergleich zu einer einzelnen Anfrage zu einer höheren End-to-End-Latenz führen. Außerdem hängt die Effektivität des Agents stark von der Qualität der Argumentation des KI-Modells ab. Daher kann ein Fehler oder ein irreführendes Ergebnis eines Tools in einem Beobachtungsschritt sich fortsetzen und dazu führen, dass die endgültige Antwort falsch ist.
Human-in-the-Loop-Muster
Das Human-in-the-Loop-Muster integriert Punkte für menschliche Intervention direkt in den Workflow eines Agents. An einem vordefinierten Prüfpunkt unterbricht der Agent die Ausführung und ruft ein externes System auf, um darauf zu warten, dass eine Person seine Arbeit überprüft. Mit diesem Muster kann eine Person eine Entscheidung genehmigen, einen Fehler korrigieren oder die erforderlichen Eingaben machen, bevor der Agent fortfahren kann.
Das folgende Diagramm zeigt einen groben Überblick über ein Human-in-the-Loop-Muster:
Verwenden Sie das Human-in-the-Loop-Muster für Aufgaben, die menschliche Aufsicht, subjektive Beurteilung oder die endgültige Genehmigung für kritische Aktionen erfordern. Dazu gehören beispielsweise das Genehmigen einer großen Finanztransaktion, das Validieren der Zusammenfassung eines vertraulichen Dokuments oder das Bereitstellen von subjektivem Feedback zu generierten kreativen Inhalten. Einem Agent kann beispielsweise die Aufgabe übertragen werden, ein Patientendataset für Forschungszwecke zu anonymisieren. Der Agent würde automatisch alle geschützten Gesundheitsinformationen erkennen und entfernen, aber an einem letzten Prüfpunkt pausieren. Anschließend würde ein Compliance-Beauftragter das Dataset manuell validieren und seine Freigabe genehmigen. So wird sichergestellt, dass keine vertraulichen Daten offengelegt werden.
Das Human-in-the-Loop-Muster verbessert die Sicherheit und Zuverlässigkeit, indem menschliche Entscheidungen an kritischen Entscheidungspunkten im Workflow eingefügt werden. Dieses Muster kann die Architektur erheblich komplexer machen, da Sie das externe System für die Nutzerinteraktion erstellen und verwalten müssen.
Benutzerdefiniertes Logikmuster
Das benutzerdefinierte Logikmuster bietet die größte Flexibilität beim Entwerfen von Workflows. Mit diesem Ansatz können Sie eine spezifische Orchestrierungslogik implementieren, die Code wie bedingte Anweisungen verwendet, um komplexe Workflows mit mehreren Verzweigungspfaden zu erstellen.
Das folgende Diagramm veranschaulicht ein Beispiel für die Verwendung eines benutzerdefinierten Logikmusters zur Erfassung eines Erstattungsprozesses:
Im obigen Diagramm ist der Agent-Workflow für den Beispiel-Agent für Kundenerstattungen so dargestellt:
- Der Nutzer sendet eine Anfrage an den Kundenservicemitarbeiter für Erstattungen, der als Koordinator fungiert.
- Die benutzerdefinierte Logik des Koordinators ruft zuerst einen parallelen Prüfagenten auf, der gleichzeitig zwei untergeordnete Agenten startet: den Käuferprüfagenten und den Agenten für die Berechtigung zur Erstattung.
- Nachdem die Ergebnisse zusammengetragen wurden, führt der Coordinator-Agent ein Tool aus, um zu prüfen, ob die Anfrage für eine Erstattung infrage kommt.
- Wenn der Nutzer die Voraussetzungen erfüllt, leitet der Koordinator die Aufgabe an einen Erstattungsbearbeiter weiter, der das Tool
process_refund
aufruft. - Wenn der Nutzer nicht berechtigt ist, leitet der Koordinator die Aufgabe an einen separaten sequenziellen Ablauf weiter, der mit dem Kundenservicemitarbeiter für Store-Guthaben und dem Kundenservicemitarbeiter für die Entscheidung über die Bearbeitung von Guthaben beginnt.
- Wenn der Nutzer die Voraussetzungen erfüllt, leitet der Koordinator die Aufgabe an einen Erstattungsbearbeiter weiter, der das Tool
- Das Ergebnis des jeweiligen Pfads wird an den Agenten für die endgültige Antwort gesendet, damit dieser die Antwort für den Nutzer formulieren kann.
Für das Beispiel mit dem Kundenerstattungs-Agent ist eine einzigartige Lösung für die Orchestrierung auf Logikebene erforderlich, die über die strukturierten Ansätze hinausgeht, die andere Muster bieten. In diesem Workflow werden Muster gemischt, da eine parallele Prüfung ausgeführt und dann eine benutzerdefinierte bedingte Verzweigung ausgeführt wird, die zu zwei völlig unterschiedlichen Downstream-Prozessen führt. Diese Art von komplexem Workflow mit gemischten Mustern ist der ideale Anwendungsfall für das benutzerdefinierte Logikmuster.
Verwenden Sie das Muster für benutzerdefinierte Logik, wenn Sie eine detaillierte Kontrolle über die Ausführung des Agents benötigen oder wenn Ihr Workflow nicht zu einem der anderen in diesem Dokument beschriebenen Muster passt. Dieser Ansatz erhöht jedoch die Komplexität der Entwicklung und Wartung. Sie sind für das Design, die Implementierung und das Debugging des gesamten Orchestrierungsablaufs verantwortlich. Das erfordert mehr Entwicklungsaufwand und kann fehleranfälliger sein als die Verwendung eines vordefinierten Musters, das von einem Tool zur Agent-Entwicklung wie dem Agent Development Kit (ADK) unterstützt wird.
Informationen zu benutzerdefinierten Agents und zur Implementierung benutzerdefinierter Logik mit dem ADK finden Sie unter Benutzerdefinierte Agents.
Designmuster vergleichen
Die Auswahl eines Agent-Musters ist eine grundlegende Architekturentscheidung. Jedes Muster bietet unterschiedliche Kompromisse in Bezug auf Flexibilität, Komplexität und Leistung. Berücksichtigen Sie die Designmuster in den folgenden Abschnitten, um das geeignete Muster für Ihre Arbeitslast zu ermitteln.
Deterministische Workflows
Deterministische Workflows umfassen Aufgaben, die vorhersehbar und sequenziell sind und einen klar definierten Workflow-Pfad vom Anfang bis zum Ende haben. Die Schritte in Ihren Aufgaben sind im Voraus bekannt und der Prozess ändert sich von einem Lauf zum nächsten kaum. Im Folgenden finden Sie Agent-Designmuster für deterministische Workflows:
Arbeitslasteigenschaften | Entwurfsmuster für KI-Agenten |
---|---|
|
Sequenzielles Muster mit mehreren Agents |
|
Paralleles Muster mit mehreren Kundenservicemitarbeitern |
|
Iteratives Muster für die Verfeinerung mit mehreren Agents |
Workflows, die eine dynamische Orchestrierung erfordern
Workflows, die eine dynamische Orchestrierung erfordern, umfassen komplexe Probleme, bei denen die Agents den besten Weg zur Lösung ermitteln müssen. Das agentische KI-System muss Aufgaben dynamisch planen, delegieren und koordinieren, ohne dass ein vordefiniertes Skript vorhanden ist. Im Folgenden finden Sie Agent-Designmuster für Workflows, die eine autonome und dynamische Orchestrierung erfordern:
Arbeitslasteigenschaften | Entwurfsmuster für KI-Agenten |
---|---|
|
Muster mit einem einzelnen Agent |
|
Multi-Agent Coordinator-Muster |
|
Muster für die hierarchische Aufgabenzerlegung mit mehreren Agents |
|
Multi-Agent-Schwarmmuster |
Workflows mit Iteration
Workflows, die Iteration beinhalten, umfassen Aufgaben, bei denen das Endergebnis durch Zyklen von Verfeinerung, Feedback und Verbesserung erzielt wird. Im Folgenden finden Sie Agent-Designmuster für Workflows, die Iteration umfassen:
Arbeitslasteigenschaften | Entwurfsmuster für KI-Agenten |
---|---|
|
ReAct-Muster |
|
Multi-Agent-Schleifenmuster |
|
Muster für die Überprüfung und Kritik durch mehrere Agents |
|
Iteratives Muster für die Verfeinerung mit mehreren Agents |
Workflows mit besonderen Anforderungen
Workflows mit besonderen Anforderungen umfassen Aufgaben, die nicht den gängigen Agentenmustern entsprechen. Ihre Aufgaben können eine einzigartige Geschäftslogik enthalten oder an kritischen Stellen eine menschliche Beurteilung und Intervention erfordern. Ihr agentisches KI-System ist eine speziell entwickelte Maschine für einen einzigen, bestimmten Zweck. Im Folgenden finden Sie Agent-Designmuster für Workflows mit besonderen Anforderungen:
Arbeitslasteigenschaften | Entwurfsmuster für KI-Agenten |
---|---|
|
Human-in-the-Loop-Muster |
|
Benutzerdefiniertes Logikmuster |
Nächste Schritte
- Weitere Informationen zum Erstellen und Verwalten von Multi-Agent-Systemen mit ADK-Primitiven
- KI-Apps und ‑Agents in Cloud Run hosten
- Weitere Informationen zu Agentic Design Patterns: A Hands-On Guide to Building Intelligent Systems
- Informationen zum Erstellen eines Agenten mit dem Agent Development Kit
- Weitere Informationen zum Erstellen von KI-Systemen mit mehreren Agenten in Google Cloud
- Weitere Referenzarchitekturen, Diagramme und Best Practices finden Sie im Cloud-Architekturcenter.
Beitragende
Autorin: Samantha He | Technische Autorin
Weitere Beitragende:
- Abdul Saleh | Software Engineer
- Amina Mansour | Head of Cloud Platform Evaluations Team
- Amit Maraj | Developer Relations Engineer
- Casey West | Architecture Advocate, Google Cloud
- Jack Wotherspoon | Developer Advocate
- Joe Fernandez | Staff Technical Writer
- Joe Shirey | Cloud Developer Relations Manager
- Karl Weinmeister | Head of Cloud Product Developer Relations
- Kumar Dhanagopal | Cross-Product Solution Developer
- Lisa Shen | Senior Outbound Product Manager, Google Cloud
- Mandy Grover | Head of Architecture Center
- Mark Lu | Technical Writer
- Megan O'Keefe | Developer Advocate
- Olivier Bourgeois | Developer Relations Engineer
- Shir Meir Lador | Developer Relations Engineering Manager
- Vlad Kolesnikov | Developer Relations Engineer