Konzepte des Agent-Frameworks

Auf dieser Seite finden Sie einen konzeptionellen Überblick über das Agent Framework und die wichtigsten Bausteine für die Entwicklung effektiver Bots.

Was sind Kundenservicemitarbeiter?

Ein generativer KI-Agent ist ein intelligentes Computerprogramm, das wie ein unabhängiger Assistent funktioniert. Sie wird mit einem Ziel programmiert, kann die Welt um sich herum (über Daten oder Informationen) verstehen und verschiedene Tools verwenden, um dieses Ziel zu erreichen, ohne dass eine ständige menschliche Überwachung erforderlich ist. Es kann sogar seine nächsten Schritte planen, um seinem Ziel näher zu kommen.

Technisch gesehen ist ein generativer KI-Agent eine Softwareabstraktion, die ein definiertes Ziel eigenständig verfolgt, indem sie ihre Umgebung beobachtet, den besten Handlungsablauf überlegt und Aktionen mithilfe der verfügbaren Tools ausführt. Sie arbeitet unabhängig von direkten Anweisungen durch Menschen für jeden Schritt und kann proaktiv nachfolgende Aktionen bestimmen, um ihr Endziel zu erreichen. Dies wird durch Modelle für generative KI ermöglicht, die die Argumentations- und Entscheidungsfindungsfähigkeiten des Bots unterstützen.

Was sind keine Kundenservicemitarbeiter?

Im Folgenden finden Sie häufige Fallstricke, die so aussehen, als wären sie Bots, aber nicht den gewünschten Effekt erzielen:

Hardcodierter „Wenn-Dann“-Chatbot (Anti-Muster):

Ein mit LLM erstellter Chatbot, bei dem Sie jede mögliche Nutzereingabe und LLM-Antwort sorgfältig vorab definieren. Auch wenn Sie Funktionsaufrufe verwenden, ist es kein Agent, wenn die Logik vollständig hartcodiert ist. Es ist ein ausgeklügelter Entscheidungsbaum, kein Argumentationssystem.

Beispiel: Wenn der Nutzer „Flug buchen“ sagt, wird die Funktion book_flight() aufgerufen. Dies ist kein Kundenservicemitarbeiter, sondern ein regelbasiertes System.

Übermäßiges Vertrauen in ReAct-Prompts (potenzielles Anti-Muster):

ReAct (Reason + Act) ist eine Technik, bei der Prompts so strukturiert werden, dass das LLM dazu angeregt wird, Schritt für Schritt zu denken und dann zu handeln. Das kommt dem Verhalten von Kundenservicemitarbeitern näher, kann aber zu einem Anti-Muster werden, wenn Sie als Entwickler die ReAct-Prompts für jedes mögliche Szenario noch manuell erstellen. Der Bot sollte in der Lage sein, seine eigenen ReAct-Argumente zu generieren und nicht nur vorgefertigte Vorlagen zu verwenden. Der ausführende Teil ist auf einfache Funktionsaufrufe beschränkt und es gibt keine Planung oder Anpassung auf höherer Ebene.

Denkprozess (Chain of Thought, CoT) ohne Aktion (Anti-Muster):

Es ist hilfreich, den LLM durch CoT-Aufforderungen dazu zu bringen, seine Begründung zu erläutern. Er ist jedoch kein Agent, wenn er nicht auf diese Begründung reagiert. Es ist nur eine transparentere LLM, keine autonome Entität.

Agents und LLMs im Vergleich

Einzelner Prompt:

Sie fragen LLM: „Schreiben Sie eine Zusammenfassung der Geschichte des Römischen Reiches.“ Dies ist eine einzelne Interaktion. Gemini verarbeitet den Prompt und generiert eine Antwort. Es gibt keine Erinnerung an frühere Interaktionen, kein langfristiges Ziel und keine Interaktion mit externen Tools. Es ist rein Eingabe-/Ausgabebasiert.

Prompt-Kette:

Sie könnten dann fragen: „Nennen Sie jetzt die Hauptursachen für den Niedergang des Römischen Reiches.“ Dies ist eine Kette von Prompts. Sie, der Mensch, übernehmen das kundenserviceorientierte Verhalten, indem Sie die Unterhaltung leiten und die Aufgabe in Teilaufgaben unterteilen. Gemini antwortet immer noch nur auf jeden Prompt einzeln, ohne das übergeordnete Ziel zu verstehen, es sei denn, Sie geben es wiederholt explizit an. Sie sind der Agent, nicht Gemini.

Kundenservicemitarbeiter:

Ein Agent, der LLM verwendet, wäre grundlegend anders.

Stellen Sie sich einen „Forschungsmitarbeiter für römische Geschichte“ vor, dessen Ziel es ist:

„Erstellen Sie einen umfassenden Bericht über das Römische Reich, einschließlich seiner Geschichte, wichtiger Persönlichkeiten, kultureller Auswirkungen und Gründe für seinen Niedergang. Der Bericht sollte wöchentlich mit neuen Informationen aus wissenschaftlichen Quellen aktualisiert werden.“

Wichtige Unterschiede:

  • Dauerhaftes Ziel: Der Kundenservicemitarbeiter hat ein kontinuierliches, langfristiges Ziel, nicht nur eine Aufgabe, die in einem einzigen Schritt erledigt werden kann.
  • Planung: Der Kundenservicemitarbeiter könnte dies in folgende Schritte unterteilen:
    • Erste Recherche mit Gemini (Verlauf zusammenfassen, wichtige Zahlen ermitteln)
    • Suche in akademischen Datenbanken (mit einem separaten Tool)
    • Informationen aus mehreren Quellen zusammenführen
    • Der Bericht wird erstellt.
    • Planen Sie eine wöchentliche Aufgabe, um die Schritte 2 bis 4 zu wiederholen.
  • Toolnutzung: Der Kundenservicemitarbeiter verwendet aktiv Tools, die über Gemini hinausgehen (z.B. eine Such-API oder eine Datenbank).
  • Autonomie: Der Bot arbeitet unabhängig und trifft Entscheidungen darüber, welche Informationen er erfassen und wie er sie präsentieren soll.
  • Speicher: Der Bot speichert kontinuierlich Informationen (z. B. in einer Datenbank), um die Ergebnisse zu organisieren und seine Prompts eigenständig zu verbessern.

Der entscheidende Punkt ist, dass Sie bei den Szenarien mit einzelnen oder verketteten Prompts der Regisseur sind. Im Agenten-Szenario ist der Agent selbst der Orchestrator, der Gemini als eines seiner Tools verwendet.

Unterschiede zwischen Kundenservicemitarbeiter- und typischen LLM-Arbeitslasten

Der wichtigste Unterschied zwischen Agenten und typischen LLM-Arbeitslasten ist das autonome, zielorientierte Verhalten mit iterativer Optimierung und Planung. Stellen Sie sich folgende Fragen:

  • Dauerhaftes Zielvorhaben
    • Hat das System ein klar definiertes, langfristiges Ziel, auf das es hinarbeitet, und reagiert es nicht nur auf einzelne Prompts?
  • Autonome Aktion
    • Kann das System Aktionen ausführen (Tools verwenden, Entscheidungen treffen) ohne explizite, detaillierte Anleitungen von einem Menschen für jede Aktion?
  • Planung und Argumentation
    • Zeigt das System Anzeichen von Planung (ein komplexes Ziel in kleinere Schritte unterteilen) und Argumentation (Entscheidungen auf der Grundlage des Verständnisses der Situation treffen)?
  • Iterative Verbesserung
    • Lernt das System und verbessert es seinen Ansatz? Das muss nicht unbedingt maschinelles Lernen sein. Es kann sich um eine selbst initiierte Verbesserung auf der Grundlage von Beobachtungen handeln.
  • Zustandsorientiertheit
    • Speichert und verwendet das System Statusinformationen, um weiter auf das Ziel hinzuarbeiten?

Wenn Sie alle diese Fragen mit „Ja“ beantworten können, handelt es sich wahrscheinlich um einen KI-Chatbot. Wenn eine der Antworten „Nein“ lautet, haben Sie wahrscheinlich eine ausgefeiltere LLM-Anwendung, aber keinen vollwertigen Agenten. Die Kombination dieser Faktoren, nicht nur einer davon, ist das, was Agenten ausmacht. Ein Agent muss nicht nur Dinge tun, sondern auch entscheiden, was er tun soll und warum, und seinen Ansatz anpassen, um ein bestimmtes Ziel zu erreichen.

Wichtige Komponenten von Kundenservicemitarbeitern:

Architekturdiagramm der Laufzeitkomponenten des Kundenservicemitarbeiters 

  • Modell: Das Sprachmodell (LM) dient als zentrale Entscheidungsinstanz und nutzt anweisungsbasierte Argumentations- und Logikmodelle.
  • Tools: Tools schließen die Lücke zwischen den internen Fähigkeiten des Kundenservicemitarbeiters und der Außenwelt und eröffnen so ein breiteres Spektrum an Möglichkeiten. Sie ermöglichen die Interaktion mit externen Daten und Diensten.
  • Orchestration Layer: Diese Schicht steuert, wie der Bot Informationen aufnimmt, interne Überlegungen anstellt und diese Überlegungen für seine nächste Aktion oder Entscheidung nutzt.

Kundenservicemitarbeiter und Funktionsaufrufe

Der Funktionsaufruf von LLM ist ein wichtiger Schritt in Richtung des Verhaltens eines Kundenservicemitarbeiters, aber er entspricht nicht einem vollständigen Kundenservicemitarbeiter.

LLM + Funktionsaufruf:Sie definieren Funktionen, die vom LLM aufgerufen werden können (z.B. get_weather(location),search_wikipedia(topic)). Wenn in einer LLM-Antwort angegeben wird, dass eine Funktion verwendet werden muss, führt Ihr Code diese Funktion aus und gibt das Ergebnis an das LLM zurück. So kann das Modell auf externe Daten zugreifen oder Aktionen ausführen.

LLM + Kundenservicemitarbeiter:

Ein Agent basiert auf Funktionsaufrufen. Der Funktionsaufruf ist ein Mechanismus, den Kundenservicemitarbeiter verwenden können. Der Kundenservicemitarbeiter fügt Folgendes hinzu:

  • Strategische Entscheidungsfindung: Der Agent entscheidet basierend auf seinem Gesamtziel und seinem Plan, wann und warum Funktionen aufgerufen werden sollen. Sie reagiert nicht nur auf einen einzelnen Prompt.
  • Mehrstufige Argumentation: Ein Bot kann mehrere Funktionsaufrufe und Gemini-Interaktionen basierend auf seinem internen Argumentationsprozess verketten. Sie sind nicht auf einen einzigen Funktionsaufruf pro Prompt beschränkt.
  • Fehlerbehandlung und Anpassung: Ein guter Kundenservicemitarbeiter kann mit Situationen umgehen, in denen ein Funktionsaufruf fehlschlägt oder unerwartete Ergebnisse zurückgibt. Sie kann ihren Plan entsprechend anpassen.
  • Statusverwaltung: Der Bot verwaltet einen internen Status (Speicher), der über mehrere Interaktionen hinweg erhalten bleibt. So kann er den Fortschritt verfolgen und fundiertere Entscheidungen treffen.

Stellen Sie sich den Funktionsaufruf als Möglichkeit vor, dem LLM die Interaktion mit der Welt zu ermöglichen. Ein Agent verleiht dem LLM die Intelligenz und Autonomie, diese Fähigkeit effektiv einzusetzen, um ein komplexes Ziel zu erreichen.

LLM-Pipelines und ‑Ketten

In diesem Abschnitt erfahren Sie, wie LLMs mithilfe von Pipelines und Ketten innerhalb von Agenten strukturiert und organisiert werden können. Wir besprechen verschiedene Muster für die Verknüpfung von LLM-Aufrufen, Toolinteraktionen und anderen Kundenservicemitarbeiter-Komponenten, um komplexe Aufgaben zu erledigen. Sie erhalten Erklärungen zu gängigen Pipeline- und Kettenarchitekturen, die für das Design von Kundenservicemitarbeitern relevant sind.

Anti-Muster beim Erstellen von Bots

In diesem Abschnitt geht es um häufige Fehler und Fallstricke, die Sie bei der Entwicklung von Bots vermeiden sollten. Wir identifizieren und beschreiben „Anti-Muster“ – Designentscheidungen oder Implementierungsstrategien, die die Leistung, Wartbarkeit oder Skalierbarkeit von Kundenservicemitarbeitern beeinträchtigen können. Wenn Entwickler sich mit diesen Anti-Mustern vertraut machen, können sie robustere und effektivere Bots entwickeln.

Mehrstufige Agents oder mehrere Agents – was sollten Sie wählen?

In diesem Abschnitt werden zwei verschiedene Ansätze für die Komplexität von Agenten verglichen: mehrstufige Agenten (Agenten, die Aufgaben in einer Abfolge von Schritten ausführen) und Mehragentensysteme (Systeme, die aus mehreren interagierenden Agenten bestehen). Wir besprechen die Stärken und Schwächen der einzelnen Ansätze und geben Empfehlungen dazu, wann Sie je nach Anwendungsfall und gewünschtem Kundenservicemitarbeiterverhalten einen Ansatz dem anderen vorziehen sollten.

Wann sollten Multi-Agent-Abläufe verwendet werden?

In diesem Abschnitt werden Multi-Agent-Systeme weiter erläutert und es werden insbesondere Szenarien untersucht, in denen die Verwendung von Multi-Agent-„Abläufen“ vorteilhaft ist. Wir sehen uns Anwendungsfälle an, die von der Zusammenarbeit, Delegation oder verteilten Problemlösungen zwischen mehreren Kundenservicemitarbeitern profitieren. Ziel ist es, die praktischen Anwendungen und Vorteile von Mehragentenflüssen in komplexen Agentensystemen zu veranschaulichen.

Kundenservicemitarbeiter mit mehreren Tools oder Multi-Agent-System?

In diesem Abschnitt wird die Designentscheidung zwischen der Ausstattung eines einzelnen Kundenservicemitarbeiters mit mehreren Tools und der Erstellung eines Multi-Agent-Systems behandelt. Wir analysieren Situationen, in denen es ausreicht, das Toolset eines einzelnen Kundenservicemitarbeiters zu erweitern, und Situationen, in denen die Verteilung von Aufgaben und Funktionen auf mehrere Kundenservicemitarbeiter effektiver ist. So können Entwickler anhand der Komplexität und der Funktionsanforderungen die optimale Architektur auswählen.

Agent mit vordefinierten Abläufen oder autonomer Agent?

Hier unterscheiden wir zwischen Bots mit vordefinierten, strukturierten Workflows („Abläufen“) und autonomeren Bots, die bei ihrer Arbeit flexibler sind und bessere Entscheidungen treffen. Wir besprechen die Vor- und Nachteile von Kontrolle und Anpassungsfähigkeit und wann die einzelnen Agententypen für verschiedene Anwendungen am besten geeignet sind.

Kurz- und Langzeitgedächtnis

In diesem Abschnitt werden die Konzepte des Kurz- und Langzeitgedächtnisses im Agent Framework erläutert. Wir besprechen, wie Kundenservicemitarbeiter den Konversationskontext (Kurzzeitgedächtnis) verwalten und Wissen oder Daten über Sitzungen hinweg speichern (Langzeitgedächtnis). Das Verständnis dieser Speichermechanismen ist entscheidend für die Entwicklung von Agenten, die den Status beibehalten und im Laufe der Zeit lernen können.

Planung mit einem oder mehreren Schritten

Wir werden die Planungsfunktionen von Agenten untersuchen und die Planung in einem Schritt (sofortige Entscheidungen treffen) mit der mehrstufigen Planung (Entwicklung einer Strategie und Aufschlüsselung komplexer Aufgaben in Abfolgen) vergleichen. In diesem Abschnitt werden die Vorteile und Komplexitäten der einzelnen Planungsansätze sowie ihre Auswirkungen auf das Verhalten der Kundenservicemitarbeiter und ihre Problemlösungsfähigkeiten erläutert.

Einzelne Tools, mehrere Tools und AgentTools

In diesem Abschnitt finden Sie einen vergleichenden Überblick über verschiedene Toolkonfigurationen für Kundenservicemitarbeiter. Wir werden die Verwendung einzelner Tools, mit mehreren Tools ausgestatteter Agenten und der speziellen „AgentTools“ (Tools, die andere Agenten aufrufen) untersuchen. Ziel ist es, den Zweck und die Anwendungsfälle für jeden Tooltyp und jede Konfiguration zu klären.

Tools und Gedächtnis

In diesem Abschnitt wird das Zusammenspiel und die Beziehung zwischen Tools und Gedächtnis beim Design von Agenten besprochen. Wir sehen uns an, wie Kundenservicemitarbeiter den Arbeitsspeicher nutzen, um die Toolnutzung zu beeinflussen, Tool-Ausgaben zu speichern und die Toolauswahl im Laufe der Zeit zu optimieren. Das Verständnis dieser Interaktion ist entscheidend, um Agenten zu entwickeln, die sowohl Tools als auch Arbeitsspeicher effektiv nutzen, um die Leistung zu verbessern.

Agent-Tests und QA

In diesem Abschnitt geht es um die wichtigsten Aspekte von Tests und Qualitätssicherung für Kundenservicemitarbeiter. Wir besprechen Strategien und Methoden zum strengen Testen des Kundenservicemitarbeiterverhaltens, der Toolintegration und der Gesamtsystemleistung. Ziel ist es, Ihnen vor der Bereitstellung eine Anleitung zur Gewährleistung der Zuverlässigkeit und Richtigkeit von Kundenservicemitarbeitern an die Hand zu geben.

Bewertungen von Kundenservicemitarbeitern

Aufbauend auf den Tests geht es in diesem Abschnitt speziell um die Bewertung von Kundenservicemitarbeitern. Wir werden uns mit Methoden zur systematischen Messung und Bewertung der Leistung von Kundenservicemitarbeitern anhand definierter Messwerte und Benchmarks befassen. Es geht um Bewertungsrahmen, Messwerte wie Genauigkeit und Effizienz und darum, wie Sie Bewertungen zur Verbesserung des Designs von Kundenservicemitarbeitern nutzen können.

Mehrere Kundenservicemitarbeiter

In diesem Abschnitt werden wir uns eingehender mit dem Konzept von Multiagentensystemen im Rahmen des Frameworks befassen. Darin werden frühere Erwähnungen von Multi-Agent-Konzepten zusammengefasst und erweitert. Außerdem erhalten Sie einen umfassenden Überblick über ihre Architektur, Vorteile und Herausforderungen. Dieser dient als zentrale Ressource zum Verständnis und Entwerfen von Multi-Agent-Anwendungen.

Abläufe

In diesem Abschnitt werden „Abläufe“ im Agent-Framework erläutert. Dort werden die verschiedenen Arten von vordefinierten Abläufen (sequentiell, Schleife, automatisch usw.) beschrieben und wie sie das Verhalten von Kundenservicemitarbeitern und die Interaktion mit untergeordneten Kundenservicemitarbeitern steuern. Sie sollten eine klare und strukturierte Erklärung der Navigationsmechanismen und Anpassungsoptionen erhalten.

Kommunikation

In diesem Abschnitt wird die Kommunikation innerhalb des Agent-Frameworks, insbesondere in Multi-Agent-Systemen, untersucht. Wir besprechen, wie Kundenservicemitarbeiter Informationen austauschen, Aktionen koordinieren und zusammenarbeiten, um gemeinsame Ziele zu erreichen. Der Schwerpunkt liegt auf den Mechanismen und Mustern für eine effektive Kommunikation zwischen Kundenservicemitarbeitern.

Planung

In diesem Abschnitt werden die Planungsmöglichkeiten für Kundenservicemitarbeiter genauer erläutert. Es werden verschiedene Planungsalgorithmen, Strategien zur Aufschlüsselung komplexer Aufgaben und die Art und Weise behandelt, wie Kundenservicemitarbeiter die Planung als Grundlage für ihre Aktionen und die Nutzung von Tools nutzen. Es folgt eine detailliertere technische Diskussion der Planungsmethoden, die für die Entwicklung von Kundenservicemitarbeitern relevant sind.

Sitzung und Status

In diesem Abschnitt wird die Sitzungs- und Zustandsverwaltung im Agent Framework ausführlich erläutert. Es wird beschrieben, wie Sitzungen erstellt und verwaltet werden, wie Statusvariablen zum Speichern und Abrufen von Informationen verwendet werden und wie Sitzungsdaten verwaltet werden. Das Verständnis von Sitzungen und Status ist entscheidend, um Chatbots zu entwickeln, die den Kontext verwalten und die Kontinuität über Interaktionen hinweg aufrechterhalten können.

Callbacks

Abschließend wird in diesem Abschnitt eine ausführliche Erklärung zu Callbacks im Agent Framework gegeben. Es werden die verschiedenen Arten von Rückrufen (vor/nach dem Kundenservicemitarbeiter, Modell, Tool), ihr Zweck und die Möglichkeiten beschrieben, wie Entwickler sie verwenden können, um das Verhalten von Kundenservicemitarbeitern in verschiedenen Verarbeitungsphasen anzupassen und zu erweitern. Sie erhalten eine ausführliche Anleitung zur Verwendung von Rückrufen für die erweiterte Anpassung von Kundenservicemitarbeitern.