Agenten sind heute das Trendthema in der KI, und das aus gutem Grund. KI-Agenten handeln im Namen ihrer Benutzer und erledigen selbstständig Aufgaben wie Online-Einkäufe, die Entwicklung von Software, die Recherche von Geschäftstrends oder die Buchung von Reisen. Indem die generative KI aus der Sandbox der Chat-Schnittstelle herausgenommen wird und ihr ermöglicht wird, direkt auf die Welt einzuwirken, stellt die Agenten-KI einen Sprung nach vorne in der Leistungsfähigkeit und dem Nutzen der KI dar.Generative KI aus der geschützten Sandbox der Chat-Schnittstelle herauszunehmen und ihr zu ermöglichen, direkt auf die Welt einzuwirken, stellt einen Sprung nach vorne in der Leistungsfähigkeit und dem Nutzen der KI dar.
Agentische KI hat sich sehr schnell entwickelt: Einer der Kernbausteine heutiger Agenten, das Model Context Protocol (MCP), ist beispielsweise erst ein Jahr alt! Wie in jedem schnelllebigen Bereich gibt es viele konkurrierende Definitionen, heiße Meinungen und irreführende Meinungen.
Um den Lärm zu unterdrücken, möchte ich die Kernkomponenten eines Agenten-KI-Systems beschreiben und wie sie zusammenpassen: Es ist wirklich nicht so kompliziert, wie es scheint. Wenn Sie diesen Beitrag zu Ende gelesen haben, werden Ihnen die Agenten hoffentlich nicht mehr so mysteriös vorkommen.
Agentisches Ökosystem
Definitionen für das Wort „Agent“ gibt es in Hülle und Fülle, aber ich mag eine leichte Variation der minimalistischen Interpretation des britischen Programmierers Simon Willison:
Ein LLM-Agent führt Tools in einer Schleife aus, um ein Ziel zu erreichen.
Der Benutzer fordert ein großes Sprachmodell (LLM) mit einem Ziel an: Sagen wir, einen Tisch in einem Restaurant in der Nähe eines bestimmten Theaters zu reservieren. Zusammen mit dem Ziel erhält das Modell eine Liste der ihm zur Verfügung stehenden Tools, beispielsweise eine Datenbank mit Restaurantstandorten oder eine Aufzeichnung der Essenspräferenzen des Benutzers. Das Modell plant dann, wie das Ziel erreicht werden kann, und ruft eines der Tools auf, das eine Antwort liefert. Das Modell ruft dann ein neues Werkzeug auf. Durch Wiederholungen kommt der Agent dem Erreichen des Ziels näher. In einigen Fällen werden die Orchestrierungs- und Planungsoptionen des Modells durch zwingenden Code ergänzt oder verbessert.
Doch welche Infrastruktur braucht es, um diesen Ansatz umzusetzen? Ein Agentensystem benötigt einige Kernkomponenten:
-
Ein Weg dazu Erstellen Sie den Agenten. Wenn Sie einen Agenten bereitstellen, möchten Sie ihn nicht von Grund auf neu programmieren müssen. Es gibt mehrere Frameworks für die Agentenentwicklung.
-
Irgendwo hin Führen Sie das KI-Modell aus. Ein erfahrener KI-Entwickler kann ein Open-Weight-LLM herunterladen, aber es erfordert Fachwissen, um das richtig zu machen. Außerdem ist teure Hardware erforderlich, die für den durchschnittlichen Benutzer schlecht genutzt wird.
-
Irgendwo hin Führen Sie den Agentencode aus. Bei etablierten Frameworks erstellt der Benutzer Code für ein Agentenobjekt mit einem definierten Satz von Funktionen. Die meisten dieser Funktionen beinhalten das Senden von Eingabeaufforderungen an ein KI-Modell, aber der Code muss irgendwo ausgeführt werden. In der Praxis werden die meisten Agenten in der Cloud ausgeführt, da wir möchten, dass sie auch dann weiterlaufen, wenn unsere Laptops geschlossen sind, und dass sie sich vergrößern und verkleinern können, um ihre Arbeit zu erledigen.
-
Ein Mechanismus zum Übersetzen zwischen dem textbasierten LLM und Werkzeugaufrufe.
-
A kurzfristig Erinnerung zur Verfolgung des Inhalts von Agenteninteraktionen.
-
A Langzeitgedächtnis zur Verfolgung der Präferenzen und Affinitäten des Benutzers über Sitzungen hinweg.
-
Ein Weg dazu verfolgen die Ausführung des Systems, um die Leistung des Agenten zu bewerten.
Lassen Sie uns näher auf jede dieser Komponenten eingehen.
Aufbau eines Agenten
Wenn man einen LLM bittet, zu erklären, wie er eine bestimmte Aufgabe angehen will, verbessert sich seine Leistung bei dieser Aufgabe. Diese „Gedankenkette“ ist mittlerweile in der KI allgegenwärtig.
Das Analogon in Agentensystemen ist das ReAct-Modell (Begründung + Aktion), bei dem der Agent einen Gedanken hat („Ich verwende die Kartenfunktion, um Restaurants in der Nähe zu finden“), eine Aktion ausführt (einen API-Aufruf an die Kartenfunktion ausgibt) und dann eine Beobachtung macht („Es gibt zwei Pizzerien und ein indisches Restaurant innerhalb von zwei Blocks vom Kino“).
ReAct ist nicht die einzige Möglichkeit, Agenten zu erstellen, aber es ist das Herzstück der erfolgreichsten Agentensysteme. Heutzutage sind Agenten häufig Schleifen über die Gedanken-Handlung-Beobachtung Sequenz.
Zu den dem Agenten zur Verfügung stehenden Tools können lokale Tools und Remote-Tools wie Datenbanken, Microservices und Software as a Service gehören. Die Spezifikation eines Tools enthält eine Erklärung in natürlicher Sprache darüber, wie und wann es verwendet wird, sowie die Syntax seiner API-Aufrufe.
Der Entwickler kann den Agenten auch anweisen, im Wesentlichen spontan eigene Tools zu erstellen. Angenommen, ein Tool ruft eine Tabelle ab, die als durch Kommas getrennter Text gespeichert ist, und um sein Ziel zu erreichen, muss der Agent die Tabelle sortieren.
Eine Tabelle zu sortieren, indem man sie wiederholt durch ein LLM schickt und die Ergebnisse auswertet, wäre eine enorme Ressourcenverschwendung – und es ist nicht einmal garantiert, dass man das richtige Ergebnis erhält. Stattdessen kann der Entwickler den Agenten einfach anweisen, seinen eigenen Python-Code zu generieren, wenn er auf eine einfache, aber sich wiederholende Aufgabe stößt. Diese Codeschnipsel können lokal neben dem Agenten oder in einem speziellen sicheren Code-Interpreter-Tool ausgeführt werden.
Verfügbare Tools können die Verantwortung zwischen dem LLM und dem Entwickler aufteilen. Sobald die dem Agenten zur Verfügung stehenden Tools festgelegt wurden, kann der Entwickler dem Agenten einfach mitteilen, welche Tools er bei Bedarf verwenden soll. Oder der Entwickler kann angeben, welches Tool für welche Datentypen verwendet werden soll und sogar welche Datenelemente als Argumente bei Funktionsaufrufen verwendet werden sollen.
Ebenso kann der Entwickler den Agenten einfach anweisen, bei Bedarf Python-Code zu generieren, um sich wiederholende Aufgaben zu automatisieren, oder ihm alternativ mitteilen, welche Algorithmen für welche Datentypen verwendet werden sollen, und sogar Pseudocode bereitstellen. Der Ansatz kann von Agent zu Agent unterschiedlich sein.
Laufzeit
Historisch gesehen gab es zwei Hauptmethoden, um Code, der auf gemeinsam genutzten Servern ausgeführt wurde, zu isolieren: Containerisierung, die zwar effizient war, aber weniger Sicherheit bot; und virtuelle Maschinen, die sicher waren, aber mit viel Rechenaufwand verbunden waren.
Im Jahr 2018 wurde der serverlose Computing-Dienst Lambda von Amazon Web Services (AWS) eingeführt Kracherein neues Paradigma in der Serverisolation. Firecracker erstellt „microVMs“, komplett mit Hardware-Isolation und eigenen Linux-Kerneln, aber mit reduziertem Overhead (nur wenige Megabyte) und Startzeiten (nur wenige Millisekunden). Der geringe Overhead bedeutet, dass jede auf einem Lambda-Server ausgeführte Funktion über eine eigene microVM verfügen kann.
Da die Instanziierung eines Agenten jedoch die Bereitstellung eines LLM sowie der Speicherressourcen zum Verfolgen der Ein- und Ausgaben des LLM erfordert, ist das Isolationsmodell pro Funktion unpraktisch. Stattdessen wird bei der sitzungsbasierten Isolation jeder Sitzung eine eigene microVM zugewiesen. Wenn die Sitzung beendet ist, werden die Statusinformationen des LLM in den Langzeitspeicher kopiert und die microVM wird zerstört. Dies gewährleistet eine sichere und effiziente Bereitstellung von Agenten-Hosts.
Werkzeugaufrufe
So wie es bereits mehrere Entwicklungs-Frameworks für die Agentenerstellung gibt, gibt es auch mehrere bestehende Standards für die Kommunikation zwischen Agenten und Tools, von denen der derzeit beliebteste das Model Context Protocol (MCP) ist.
MCP stellt eine Eins-zu-eins-Verbindung zwischen dem LLM des Agenten und einem dedizierten MCP-Server her, der Toolaufrufe ausführt, und erstellt außerdem ein Standardformat für die Hin- und Rückübertragung verschiedener Datentypen zwischen dem LLM und seinem Server.
Viele Plattformen verwenden MCP standardmäßig, sind aber auch konfigurierbar, sodass sie im Laufe der Zeit eine wachsende Anzahl von Protokollen unterstützen.
Manchmal verfügt das erforderliche Tool jedoch nicht über eine verfügbare API. In solchen Fällen besteht die einzige Möglichkeit, Daten abzurufen oder eine Aktion auszuführen, darin, Cursorbewegungen und Klicks auf einer Website durchzuführen. Für die Durchführung stehen eine Reihe von Diensten zur Verfügung Computernutzung. Dies macht jede Website zu einem potenziellen Werkzeug für Agenten und erschließt jahrzehntelange Inhalte und wertvolle Dienste, die noch nicht direkt über APIs verfügbar sind.
Berechtigungen
Bei Agenten funktioniert die Autorisierung in zwei Richtungen. Zunächst benötigen Benutzer natürlich die Berechtigung, die von ihnen erstellten Agenten auszuführen. Da der Agent jedoch im Namen des Benutzers handelt, benötigt er normalerweise eine eigene Autorisierung, um auf Netzwerkressourcen zuzugreifen.
Es gibt verschiedene Möglichkeiten, das Problem der Autorisierung anzugehen. Eine davon ist ein Zugriffsdelegierungsalgorithmus wie OAuth, der im Wesentlichen den Autorisierungsprozess über das Agentensystem durchführt. Der Benutzer gibt Anmeldeinformationen in OAuth ein und das Agentensystem verwendet OAuth, um sich bei geschützten Ressourcen anzumelden, aber das Agentensystem hat nie direkten Zugriff auf die Passwörter des Benutzers.
Beim anderen Ansatz meldet sich der Benutzer bei einer sicheren Sitzung auf einem Server an und der Server verfügt über eigene Anmeldeinformationen für geschützte Ressourcen. Berechtigungen ermöglichen es dem Benutzer, aus einer Vielzahl von Autorisierungsstrategien und Algorithmen zur Implementierung dieser Strategien auszuwählen.
Erinnerung und Spuren
Kurzzeitgedächtnis
LLMs sind Vorhersage-Engines für das nächste Wort. Was sie so erstaunlich vielseitig macht, ist, dass ihre Vorhersagen auf langen Wortfolgen basieren, die sie bereits gesehen haben, sogenannte „ Kontext. Der Kontext ist an sich eine Art Erinnerung. Aber es ist nicht die einzige Art, die ein Agentensystem benötigt.
Nehmen wir erneut an, dass ein Agent versucht, ein Restaurant in der Nähe eines Kinos zu buchen, und von einem Kartentool werden ein paar Dutzend Restaurants im Umkreis von einer Meile abgerufen. Es möchte keine Informationen über all diese Restaurants in den LLM-Kontext einfließen lassen: All diese irrelevanten Informationen könnten verheerende Auswirkungen auf die Wahrscheinlichkeiten des nächsten Wortes haben.
Stattdessen kann die vollständige Liste im Kurzzeitgedächtnis gespeichert und ein oder zwei Datensätze gleichzeitig abgerufen werden, beispielsweise basierend auf den Preis- und Küchenpräferenzen des Benutzers sowie der Nähe zum Theater. Wenn keines dieser Restaurants funktioniert, kann der Agent in das Kurzzeitgedächtnis zurückgreifen, anstatt einen weiteren Tool-Aufruf ausführen zu müssen.
Langzeitgedächtnis
Agenten müssen sich auch an ihre früheren Interaktionen mit ihren Kunden erinnern. Wenn ich letzte Woche dem Reservierungsagenten im Restaurant gesagt habe, welche Art von Essen ich mag, möchte ich es diese Woche nicht noch einmal sagen müssen. Das Gleiche gilt für meine Preistoleranz, die Art von Atmosphäre, die ich suche, und so weiter.
Das Langzeitgedächtnis ermöglicht es dem Agenten, nachzuschlagen, was er über frühere Gespräche mit dem Benutzer wissen muss. Allerdings schaffen Agenten normalerweise selbst keine Langzeiterinnerungen. Stattdessen wird das gesamte Gespräch nach Abschluss einer Sitzung an ein separates KI-Modell übergeben, das neue Langzeitgedächtnisse erstellt oder bestehende aktualisiert.
Die Speichererstellung kann eine LLM-Zusammenfassung und „Chunking“ umfassen, bei der Dokumente in nach Themen gruppierte Abschnitte aufgeteilt werden, um sie in nachfolgenden Sitzungen leichter wiederfinden zu können. Verfügbare Systeme ermöglichen es dem Benutzer, Strategien und Algorithmen für die Zusammenfassung, Chunking und andere Techniken zur Informationsextraktion auszuwählen.
Beobachtbarkeit
Agenten sind eine neue Art von Softwaresystem und erfordern neue Denkweisen zur Beobachtung, Überwachung und Prüfung ihres Verhaltens. Einige der Fragen, die wir stellen, kommen Ihnen bekannt vor: Ob die Agenten schnell genug laufen, wie viel sie kosten, wie viele Tool-Aufrufe sie tätigen und ob die Benutzer zufrieden sind. Aber es werden auch neue Fragen auftauchen, und wir können nicht unbedingt vorhersagen, welche Daten wir zur Beantwortung dieser Fragen benötigen.
Beobachtbarkeits- und Nachverfolgungstools können eine End-to-End-Ansicht der Ausführung einer Sitzung mit einem Agenten bieten und Schritt für Schritt aufschlüsseln, welche Aktionen durchgeführt wurden und warum. Für den Agentenentwickler sind diese Spuren der Schlüssel zum Verständnis, wie gut Agenten funktionieren – und stellen die Daten bereit, damit sie besser funktionieren.
Ich hoffe, dass diese Erklärung die Agenten-KI so weit entmystifiziert hat, dass Sie bereit sind, zu versuchen, Ihre eigenen Agenten zu entwickeln!

