Agenten- vs. Intent-basierte Systeme

Agenten- vs. Intent-basierte Systeme

Avatar von Lorenz Herbst

In diesem Beitrag beschäftigen wir uns mit dem Unterschied von Agenten-basierten und Intent-basierten Systemen.

Bisher sind uns digitale Beratersysteme meist in Form von Chatbots über den Weg gelaufen. Wir alle kennen sie, diese freundlichen Helfer im Internet, besonders auf Seiten von Service-Providern. Nach einer Begrüßung tippen wir unsere Frage oder unser Problem ins Chat-Fenster und erhalten eine maßgeschneiderte Lösung für unser Problem.

Digitale Beratersysteme

Die Realität sieht jedoch bisher meist anders aus. Manchmal trifft unsere Frage auf einen Standardfall, den der Berater durch mehrfaches Frage-Antwort Ping-Pong lösen kann. Oft stoßen die digitalen Helfer jedoch an ihre Grenzen und verweisen uns nach kurzem Hin und Her an eine FAQ/Hotline/Chat mit einem Mitarbeiter.

Es muss also doch ein Mensch einspringen, da das System unser Problem nicht lösen kann. Manchmal können wir nicht einmal selbst eine eigene Fragen stellen, sondern erhalten nur vordefinierte Fragen zur Auswahl.

Doch seit dem Durchbruch von generativer AI und Sprachmodellen wie Chat-GPT erfährt das Segment der digitalen Berater gerade eine Revolution. Systeme wie Chatbots können plötzlich intelligent jegliche Nutzerfragen verstehen und Lösungen finden. Darüber hinaus haben wir nun die Möglichkeit, sogenannte Agenten performant betreiben zu können – damit lassen sich automatisierte Beratersysteme, weit über einfache Chatbots hinaus auf einem völlig neuen Level betreiben.

Doch schauen wir uns zuerst einmal die verschiedenen Systeme im Überblick an.

Intent-basierte Systeme

Sehen wir uns zunächst einmal klassische Beratersysteme wie zum Beispiel Rasa an. Nachdem der Nutzer seine Frage eingetippt hat passiert folgendes:

1. Schritt

Der Bot versucht die Absicht, also den Intent, der Nutzeranfrage herauszufinden. Hierzu gibt es folgende Möglichkeiten:

rule-based: Die Absicht des Nutzers wird anhand vordefinierter Regeln erkannt. Zum Beispiel wird die Erkennung einer E-Mail-Adresse mittels einer vorgegebenen Regex-Regel durchgeführt. Wenn die E-Mail-Adresse jedoch nicht den Regeln der Regex-Abfrage entspricht, wird sie auch nicht erkannt. Jeder, der sich schon mal mit der Validierung von E-Mail-Adressen beschäftigt hat, wird die Herausforderungen dahinter verstehen … Aufgrund der Komplexität von E-Mail-Adressen gibt es keine einheitliche Lösung, um alle Varianten von Adressen zu erkennen. Regelbasierte Methoden funktionieren also nur begrenzt gut.

nural-approach: Hierbei kommt Natural Language Processing (NLP) und auf Transformer-Modellen basierende Technologien zum Einsatz. Durch diese Methode können Absichten anhand bestimmter Muster in der Anfrage erkannt werden. Diese Muster müssen allerdings vorab eintrainiert werden. Das bedeutet, man sammelt möglichst viele Varianten, auf welche Art und Weiße ein Nutzer eine Frage stellen würde, um ein bestimmtes Ziel zu erreichen. Je mehr Beispiele eintrainiert werden, desto höher die Wahrscheinlichkeit dass eine Absicht erkannt werden kann.

2. Schritt

Nachdem eine Absicht erkannt wurde, wird entschieden, wie die Konversation weiter laufen soll. Hierfür gibt es wieder zwei Möglichkeiten:

rule-based: Es liegt ein Baum an möglichen Dialog-Pfaden vor. Aufgrund des zuvor ermittelten Intents wird der richtige Pfad gewählt und Schritt für Schritt durchlaufen.
Die Erstellung dieser Pfade erfordert im Vorfeld eine aufwendige Ausarbeitung von Fragen und Antworten. Je nach Größe und Verzweigungen der Pfade kann auch das Maintaining dieser Struktur sehr aufwendig werden.
neural-approach: Hierbei werden mögliche Antworten auf Fragen gesammelt und trainiert. Auch hier gilt wieder: je mehr, desto besser. Aufgrund dessen kann entschieden werden, welche Antwort auf eine Frage am wahrscheinlichsten und am besten geeignet ist.
Zudem kann während des Gesprächs auf andere Dialogpfade gewechselt werden, sollte die Konversation während des Verlaufs vom ursprünglichen Pfad abweichen.

Nachteile von Intent-basierten Systemen

Bevor solch ein System produktiv eingesetzt werden kann, müssen sämtliche Dialogpfade umfassend getestet werden. Treten dabei Probleme auf, müssen die Pfade manuell angepasst und nach einer erneuten Bereitstellung (Redeployment) erneut getestet werden.

Das Endergebnis ist ein Beratersystem, das sich meist unnatürlich anfühlt. Es ist auf ganz bestimmte, vorher festgelegte Lösungspfade beschränkt. Dabei besteht kaum Flexibilität für unvorhergesehene Anfragen. Zudem folgt es stets dem gleichen vordefinierten Gesprächsverlauf.
Intelligentes Verhalten – wie beispielsweise die Frage nach einer Kundennummer nur dann zu stellen, wenn diese zuvor nicht bekannt war – muss vorher von einem Entwickler einprogrammiert werden.

Agenten-basierte Systeme

Ein Agentensystem arbeitet grundlegend anders als ein zuvor beschriebenes Intent-basiertes System. Während bei einem Intent-System jede Fähigkeit separat trainiert werden muss, verfügt ein Agenten-System von Natur aus über ein extrem breites Spektrum an Fähigkeiten. Es muss also nicht jede Fähigkeiten mühselig antrainiert werden. Vielmehr geht es darum, dem Agenten „mitzuteilen“ was er nicht tun soll. Mit Werkzeugen stellt man zusätzliche Fähigkeiten bereit, die über die des eingesetzten Sprachmodells hinaus gehen.

Doch fangen wir von vorne an. Was ist ein Agent überhaupt und was wird dafür benötigt?
Jedem Agenten liegt ein LLM (Large Language Model) zugrunde. Das eingesetzte LLM muss für den Umgang mit Agenten trainiert worden sein (z. B: GPT-3.5, GPT4 von OpenAi).
Von Haus aus kann also ein Agent erst einmal alles, was das zugrunde liegende Sprachmodell auch kann: Fragen zu dem eintrainierten Weltwissen beantworten, Texte bearbeiten, zusammenfassen, Texte generieren, klassifizieren, etc.

Darüber hinaus verwendet ein Agent Tools. Das sind Werkzeuge, mit denen er zusätzliche Fähigkeiten erhält, die über die Grundfähigkeiten des Sprachmodells hinaus gehen. Tools können einzelne Funktionalitäten darstellen, wie zum Beispiel eine Websuche. Es können aber auch eigens entwickelte Funktionen oder API-Calls sein, die ausgeführt werden. Für besonders komplexe Aufgabe können selbst weitere Agenten als Tool eingesetzt werden. Ein Agent entscheidet dabei immer eigenständig, wann er welches Tool einsetzt.

Zusätzlich benötigt ein Agent einen Agenten-Prompt. Das Base-Template für einen solchen Prompt sieht folgendermaßen aus:

template = """Answer the following questions as best you can. You have access to the following tools:
​
{tools}
​
Use the following format:
​
Question: the input question you must answer
Thought: you should always think about what to do
Action: the action to take, should be one of [{tool_names}]
Action Input: the input to the action
Observation: the result of the action
... (this Thought/Action/Action Input/Observation can repeat N times)
Thought: I now know the final answer
Final Answer: the final answer to the original input question
​
Question: {input}
{agent_scratchpad}"""

Der Weg des Agenten

Hierbei passiert folgendes: Der Agent bekommt eine Aufgabe, eine Liste an Tools die er einsetzen darf und ein Scratchpad, quasi einen Notizblock, auf dem er sich Notizen machen kann.

Jetzt beginnt ein fester Ablauf:

Der Agent erstellt einen Thought, also einen Gedanken, wie er der Problemlösung einen Schritt näher kommen kann. Als nächstes wird eine Action erstellt: „Kann ich das Problem selbst lösen oder muss ich ein Tool einsetzen?“. Ein Action Input wird generiert (z. B. eine Suchanfrage für eine Websuche).
Daraufhin wir die Action ausgeführt und der Agent erstellt eine Observation, in der das Ergebnis der Action festgehalten wird. Diese Informationen werden jetzt im Scratchpad festgehalten und der Ablauf beginnt von vorne. Der Agent erstellt einen neuen Thought, indem er die Frage mit den bisher ermittelten Informationen abgleicht.

Dieser Vorgang wird solange wiederholt, bis der Agent ausreichend Informationen gesammelt hat, um die gestellte Anfrage zu beantworten. Dabei wird im letzten Thought „I now know the final answer“ ausgegeben, wodurch die Kette durchbrochen und anschließend eine Final Answer generiert wird. Diese finale Antwort wird als Ergebnis des Agentenlaufs ausgegeben. Alles was dazwischen passiert bleibt dem Aufrufer des Agenten verborgen.

Kurzzeitgedächtnis für AI-Agenten

Damit ein Agent Informationen über mehrere Iterationen behalten kann, kann er mit einem Kurzzeitgedächtnis (History) ausgestattet werden. Das Kurzzeitgedächtnis behält alle Informationen während einer Session und ermöglicht es dem Agenten, aus einem größeren Kontext zu schöpfen. Ein Agent kann beispielsweise Informationen wie eine Kundennummer über längere Gesprächsverläufe behalten und muss diese nicht mehrfach erfragen.

Zusätzlich kann ein Agent mit einem Langzeitgedächtnis ausgestattet werden. Dieses besteht in der Regel aus einer beliebigen Vektordatenbank. Hier lassen sich zum einen Anweisungen abspeichern wie der Agent auf bestimmte Anfragen reagieren soll. Zum anderen lassen sich Learnings aus früheren Fehlern ablegen, denn ein guter Agent sollte einen Fehler nicht zweimal machen. Hierzu jedoch später mehr.


Mayflower AI Starter Kit

Das AI Starter Kit ist ein von Mayflower entwickeltes Rapid-Prototyping-Framework, mit dem sich kundenindividuelle Lösungen mit kurzer Time-to-Market entwickeln lassen.
Melde Dich gerne bei uns, wenn Du mehr erfahren möchtest.

Agenten-basierte Systeme: Erstellung und Maintaining

Um einen Agenten aufzusetzen, empfiehlt sich der Einsatz von Frameworks wie zum Beispiel LangChain. Mit LangChain lässt sich ein funktionierendes Agenten-Grundgerüst in Python oder JavaScript mit nur wenigen Codezeilen erstellen.

In einem nächsten Schritt gibt man dem Agenten Tools an die Hand. Auch hier bietet LangChain bereits eine Vielzahl an vorgefertigten Tools „Out of the box“. Beispielsweise gibt es Tools, die eigenständig mit Datenbanken kommunizieren, Strukturen analysieren und Daten extrahieren können.

Natürlich lassen sich diese Tools auch durch prompting weiter anpassen, indem beispielsweise spezifische SQL Queries wie Table-Joins als Beispiele aufgeführt werden. Dem Tool kann damit bei Datenbankspezifischen Anfragen ein Lösungsweg vorgegeben werden.

Ein weiteres wichtiges Werkzeug ist das sogenannte „Human Tool“. Es ermöglicht dem Agenten, direkt mit menschlichen Benutzern zu interagieren, um gezielte Rückfragen zu stellen oder zusätzliche Informationen zu erlangen. Die Integration von menschlichem Feedback ist entscheidend, um komplexe Aufgaben besser zu bewältigen und eine höhere Genauigkeit in den Ergebnissen zu erreichen.

Nun gilt es noch ein Prompting für den Haupt-Agenten zu verfassen. Hierbei wird dem Agenten eine Impersonation zugewiesen. Man versetzt ihn beispielsweise in die Rolle eines freundlichen Kundenberaters der Firma XY, dessen Ziel es ist, den Kunden beim Kauf der eigenen Produkte zu beraten. Außerdem können Regeln festgelegt werden, um das Verhalten des Agenten zu steuern oder bestimmtes Verhalten einzuschränken. Für das Prompting muss dabei keine Syntax eingehalten werden, da es in menschlicher Sprache erfolgt.

Jetzt kann auch schon das Testing beginnen. Man spielt verschiedene Problemstellungen durch und beobachtet, wie der Agent handelt. Bei auftretenden Problemen passt man das Prompting oder die Tools an, beziehungsweise lagert Anwendungen die komplexeres Prompting benötigen in Tools aus.

Was bieten Agenten-basierte Systeme zusätzlich zu klassischen Systemen?

Zunächst sollten wir uns einige Beispiele ansehen, die zeigen, wie mächtig solche Systeme sind und welcher Benefit daraus entsteht:

Autonomes Handeln

Ein Agent ist in der Lage, mit jeglicher Anfrage umzugehen und eigenständig eine Lösung zu finden. Im Gegensatz zu Intent-basierten Lösungen ist kein aufwändiges Training oder Erstellen von Lösungen bzw. Antwortpfaden notwendig. Komplexere Vorgänge können einfach in Tools ausgelagert und dort per Prompting beschrieben werden.

Sprachverständnis

Ein natürliches Sprachverständnis ermöglicht dem Agenten, Anfragen tiefgründig zu verstehen. Dies führt zu flexibleren Reaktionen und einem hohen Maß an Kontextverständnis. Durch intelligente Rückfragen ist ein Agent in der Lage, ein präzises Verständnis für Anfragen zu entwickeln.

Gedächtnis

Ein Kurz- und Langzeitgedächtnis befähigt einen Agenten, sich Informationen zu merken. Dadurch kann ein großer Kontext geschaffen werden, um Fragestellungen noch besser verstehen zu können. Außerdem ermöglicht es dem Agenten, aus Fehlern zu lernen, sodass sich diese nicht wiederholen.

Kundenorientierung

Durch das Anbinden von Datenbanken mit beispielsweise Kunden- oder Produktdaten können hochpersonalisiertere Antworten und maßgeschneiderte Empfehlungen ausgeben werden. Dadurch wird ein Agent zum perfekten Kundenberater, der Produkte sogar anhand einer Verkaufshistorie individuell an den Kunden angepasst empfehlen kann.

Profiling

Selbst ein automatisiertes Kundenprofiling ist möglich. Gesprächsverläufe können durch Agenten während der Interaktion mit dem Nutzer analysiert, Rückschlüsse gezogen und damit intelligent Kundeninformationen gesammelt werden. Mit diesen Informationen können Kundenprofile erstellt oder vorhandene Profile weiter geschärft werden.

Sprachen

Sprachliche Barrieren sind kaum mehr ein Problem, da die großen Sprachmodelle in nahezu jeder beliebigen Sprache kommunizieren können. Auch wenn ein Agentenlauf in englischer Sprache abläuft, können Fragen und Antwort in nahezu jede beliebige Sprache übersetzt und ausgegeben werden.

RAG

Das vorhandene Wissen eines Agenten lässt sich mittels RAG (Retrieval-Augmented-Generation) beliebig erweitern oder auch eingrenzen. Hierzu werden Informationen aus Dokumenten oder anderen Wissensquellen in einer Vektordatenbank abgelegt. Hierauf kann ein Agent semantische Suchen ausführen und so Wissen daraus extrahieren, das im weiteren Ablauf des Agenten genutzt werden kann. So verfügt ein Agent im Handumdrehen über beliebiges Fachwissen.

Human-in-the-loop

Ein weiters sehr nützliches Tool nennt sich „human-in-the-loop“. Hierbei wird ein Mensch als Tool eingesetzt, um generierte Informationen zu validieren oder zu bewerten. Dadurch können generierte Antworten bestärkt oder angepasst werden. Anpassungen können dabei direkt im Langzeitgedächtnis des Agenten abgelegt werden.


AI-Dossier: Grundlagen, Sprachmodelle & Agenten

AI-Dossier: Grundlagen, Sprachmodelle und Agenten

Lerne die Schlüsselaspekte und neuesten Entwicklungen im Bereich der Künstlichen Intelligenz kennen. Wie können KI-Agenten die Effizienz steigern, Kosten senken und innovative Lösungen für branchenübergreifende Herausforderungen bieten?


Anwendungsbeispiele für AI-Agenten

Schauen wir uns als nächstes Beispiele für Agenten-gestützte Softwarelösungen an.

Chatbots

Seit dem Siegeszug von ChatGPT und ähnlichen Systemen wird AI oder künstliche Intelligenz oft mit Chatbots assoziiert. Diese lassen sich im Handumdrehen erstellen, mit Agenten individualisieren und per Tools um beliebige Funktionen erweitern. Darüber hinaus ist mit Agenten allerdings noch viel mehr möglich.

E-Mail-Berater

In vielen Unternehmen treffen täglich eine Vielzahl von E-Mail-Anfragen ein. Viele dieser E-Mails enthalten Standardfragen, die sich stetig wiederholen. In der Regel werden diese Nachrichten manuell von Mitarbeitern beantwortet.

Durch den Einsatz von Agenten kann an der Stelle effektiv entlastet werden. Mit Fachwissen ausgestattete Agenten können E-Mail-Anfragen eigenständig analysieren und Antworten generieren. Die generierten Antworten können dann einem Menschen zur Überprüfung und Freigabe vorgelegt werden.

Wenn erforderlich, können Textanpassungen vorgenommen werden, die wiederum automatisch im Langzeitgedächtnis des Agenten gespeichert werden können. Auf diese Weise kann sich der Agent kontinuierlich weiterentwickeln, was die Generierung von Antworten fortwährend verbessert.

Dokumentenanalyse

Auch dokumentenbasierte Aufgaben lassen sich sehr gut automatisieren. Beispielsweise können in Rechtsabteilungen Verträge automatisch analysiert und sich wiederholende Recherchen erledigt werden. Im Recruiting können Bewerberunterlagen automatisch vorsortiert und klassifiziert werden. Oder es können Formulare auf Vollständigkeit validiert werden.

Und das sind nur einige Beispiele. Besonders ist hierbei zu erwähnen, dass es sich bei diesen Automatisierungen nicht um klassischen Textsuchen handelt. Ein Agent ist in der Lage, Texte semantisch zu verstehen und darauf autonom Fragestellungen zu beantworten, die weit über einfache Textsuchen hinaus gehen.

Audio / Visuell

Selbst die Verarbeitung von Audio-, Foto- oder Video-Material ist durch Agenten möglich. So können Audioaufnahmen wie Nachrichten auf Anrufbeantwortern dokumentiert und verarbeitet werden. Fotos können analysiert und beschrieben werden.

Selbst ganze Meetings können automatisch protokolliert werden. Woraus wiederum weitere Aufgaben wie das Extrahieren von Wissen und das füllen eines Backlogs automatisiert werden kann.

Herausforderungen beim Einsatz Agenten-basierter Systeme

Natürlich gibt es beim Einsatz von Agentensystem auch Fallstricke und Herausforderungen, die beachtet werden müssen. Hierzu gehören unter anderem folgende:

Railguards

Da ein Agentensystem zweckmäßig autonom agiert, müssen Grenzen – sogenannte Railguards – gesetzt werden. Denn ein Produktberater soll weder über das Wetter berichten, noch in politische Diskussionen einsteigen oder gar Produkte der Konkurrenz empfehlen. Um solches Verhalten zu vermeiden, müssen per Prompting klare Ziele und Regeln gesetzt werden.

Halluzinationen

Auch Halluzinationen – also Informationen, die sich ein Sprachmodell „ausdenkt“ – möchten natürlich möglichst eingedämmt werden. Ein Produktberater sollte keinesfalls Informationen, Fakten oder ganze Produkte erfinden, die in der Realität nicht existieren. Auch hier kann wieder durch Prompting entgegengewirkt werden. Durch Tooling kann zusätzlich weiter eingegrenzt werden; indem einem Agenten beispielsweise nur Produkte aus einem angebundenen Datenbanktool für Empfehlungen zur Verfügung gestellt werden.

Compliance

Compliance ist ein weiterer wichtiger Bereich, der keinesfalls außer acht gelassen werden sollte. Niemand möchte Firmengeheimnisse oder persönliche Informationen an ein stetig dazulernendes, fremdgehostetes Sprachmodell preisgeben.

Hierzu können Techniken wie PII-Scrubbing eingesetzt werden. PII steht für „persönlich identifizierbare Informationen“; das sind Daten wie Namen, Adressen, Kreditkartennummern und ähnliche.

Beim PII-scrubbing werden personenbezogene Daten mit Hilfe von Tools wie z. B. Presidio von Microsoft lokal erkannt und anonymisiert. Danach kann der anonymisierte Text bedenkenlos in das Sprachmodell gegeben werden. Nach der Verarbeitung kann die Antwort aus dem Sprachmodell wieder lokal mit den personenbezogenen Daten angereichert werden.

Fazit

Intent-basierte Systeme können letztlich genau das, was man ihnen beibringt. Und zwar auch nur ganz genau das und auch nur, wenn die Nutzerfrage so formuliert ist, dass eine Absicht erkannt werden kann. Dafür ist viel Training und Design von Lösungswegen notwendig.

Agentensysteme dagegen agieren selbstständig und „intelligent“. Sie haben ein tiefes sprachliches und kontextuelles Verständnis und können Nutzeranfragen in jeglicher Form mit Leichtigkeit verstehen. Durch ihr autonomes Agieren finden sie eigenständig Lösungen. Dazu müssen sie lediglich durch Prompting und Tooling in die richtige Richtung gelenkt werden.

Mittels dem Einsatz von Tooling kann ein Agent mit intelligenten Zusatzfunktionen wie z. B. die autonome Interaktion mit Datenbanken, Wissenserweiterung durch Anbindung von Dokumenten mittels RAG oder auch das Hinzulernen durch Abspeichern von Learnings in Wissensdatenbanken erweitert werden.

Agentensysteme übertreffen klassische Systeme in nahezu allen Disziplinen bei Weitem! Ihre Integration in künftige Projekte verspricht nicht nur nur eine Effizienzsteigerung, sondern auch eine spürbare Erleichterung von Arbeitsprozessen.

Auch in den Mitarbeiter-Teams lässt sich die Effizienz hierdurch steigern. Triviale Aufgaben können einfach wegautomatisiert werden; Mitarbeiter werden dadurch entlastet und erhalten mehr Zeit, sich auf anspruchsvollere Aufgaben zu konzentrieren.

Weshalb also nicht schon heute darüber nachdenken, diese bahnbrechende Technologie in die eigenen Systeme zu integrieren?

AI mit Mayflower

Avatar von Lorenz Herbst

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Für das Handling unseres Newsletters nutzen wir den Dienst HubSpot. Mehr Informationen, insbesondere auch zu Deinem Widerrufsrecht, kannst Du jederzeit unserer Datenschutzerklärung entnehmen.