Was sind KI-Agenten? Wie sie funktionieren, mit einer einfachen Agentenschleife, die Sie ausführen können
Ein KI-Agent kann mehr als nur antworten. Es nimmt ein Ziel, wählt Maßnahmen aus, überprüft die Ergebnisse und macht weiter. Erfahren Sie, was sich darin befindet, führen Sie eine kleine Schleife in Python aus und verstehen Sie die Risiken, bevor Sie einem vertrauen.
- Ein KI-Agent ist typischerweise ein Sprachmodell, das in einer Schleife läuft, mit Werkzeugen und einem Ziel.
- Die Schleife ist einfach: entscheiden, handeln, das Ergebnis beobachten und wiederholen, bis alles erledigt ist.
- Das Modell schlägt lediglich Aktionen vor. Ihr Code führt sie aus, wo Sie die Regeln durchsetzen.
- Agenten können Tools missbrauchen oder missbrauchen. Legen Sie daher Schrittgrenzen fest und fordern Sie für riskante Aktionen eine Genehmigung ein.
Wenn Sie einen Chatbot nach einer verspäteten Bestellung fragen, erhalten Sie einige Ratschläge. Fragen Sie einen KI-Agenten, und dieser kann die Bestellung nachschlagen, die Verzögerung überprüfen, einen Gutschein einlösen und eine Rückmeldung geben. Der Unterschied besteht darin, dass ein Agent Maßnahmen ergreifen und auf das Geschehen reagieren kann, anstatt nur eine Antwort zu geben.
Der Begriff wird im Marketing weit gedehnt, daher konzentriert sich dieser Leitfaden darauf, wie diese Systeme tatsächlich funktionieren. Um es konkret zu machen, haben wir eine kleine Agentenschleife in Python 3.13 erstellt und ausgeführt. Die folgende Ausgabe stammt aus diesen Ausführungen. Unser „Modell“ ist eine Skriptfunktion, kein echtes KI-Modell, sodass die Schleife von jedem ausgeführt und getestet werden kann. Es zeigt die Kontrollstruktur, nicht die Intelligenz. Neu in den Grundlagen? Lesen Sie zuerst, was ein großes Sprachmodell ist.
Was ist ein KI-Agent?
Es gibt keine einheitliche einheitliche Definition. In der aktuellen Praxis handelt es sich bei einem KI-Agenten um eine Software, die ein Ziel verfolgt, indem sie wiederholt entscheidet, was als nächstes zu tun ist, mithilfe von Werkzeugen auf die Welt einwirkt und sich auf der Grundlage der Ergebnisse anpasst. Normalerweise basiert die Entscheidungsfindung auf einem großen Sprachmodell.
Denken Sie an den Unterschied zwischen einer Person, die Anweisungen gibt, und einer Person, die den Auftrag erledigt. Der erste antwortet einmal. Der zweite macht sich auf den Weg, stellt fest, dass der Laden geschlossen ist, probiert einen anderen aus und kommt erst zurück, wenn die Arbeit erledigt ist.
Chatbot, Workflow oder Agent?
| Typ | Wer entscheidet über die Schritte? | Kann es wirken? | Beispiel |
|---|---|---|---|
| Chatbot | Der Benutzer fährt jede Runde | Normalerweise nicht | Beantwortet Fragen aus dem Text |
| Fester Arbeitsablauf | Der Entwickler im Voraus | Ja, auf festgelegten Wegen | Fassen Sie jedes Ticket zusammen und leiten Sie es dann weiter |
| KI-Agent | Das Modell zur Laufzeit | Ja, in Grenzen | Untersucht und löst ein Ticket |
Diese existieren in einem Spektrum, und viele nützliche Systeme sind eine Mischung. Die entscheidende Frage ist, wie viel vom Pfad zur Laufzeit entschieden wird.
Was steckt in einem Agenten?
| Teil | Rolle |
|---|---|
| Modell | Entscheidet den nächsten Schritt, basierend auf dem Ziel und dem, was bisher passiert ist |
| Anweisungen | Das Ziel, die Regeln und Grenzen, denen es folgen sollte |
| Werkzeuge | Funktionen, die es anfordern kann, z. B. das Suchen oder Aufrufen einer API |
| Erinnerung | Was es aus früheren Schritten oder vergangenen Sitzungen weiß |
| Regelkreis | Gewöhnlicher Code, der Tools ausführt und Grenzwerte durchsetzt |
Die Agentenschleife
- Entscheiden. Das Modell betrachtet das Ziel und den Verlauf und wählt eine Aktion aus oder entscheidet, dass sie abgeschlossen ist.
- Aktion. Ihr Code führt das angeforderte Tool aus.
- Beobachten. Das Ergebnis wird dem Verlauf hinzugefügt.
- Wiederholen, bis das Ziel erreicht oder eine Grenze erreicht ist.
Das ist der Kern der meisten Agenten. Die Raffinesse liegt hauptsächlich im Modell, den Werkzeugen und den Sicherheitsmaßnahmen rund um diese Schleife.
Eine Schleife, die Sie ausführen können
Unser kleiner Agent kümmert sich um verspätete Bestellungen. Es verfügt über zwei Tools, und eines davon benötigt die Zustimmung eines Menschen, weil es Geld kostet:
ORDERS = {
"A100": {"status": "delayed", "days_late": 6},
"B200": {"status": "shipped", "days_late": 0},
}
def get_order(order_id):
return ORDERS.get(order_id, {"error": "order not found"})
def issue_voucher(order_id, amount):
return {"voucher": f"V-{order_id}", "amount": amount}
TOOLS = {"get_order": get_order, "issue_voucher": issue_voucher}
NEEDS_APPROVAL = {"issue_voucher"}
Und hier ist die Schleife selbst. Es handelt sich um gewöhnlichen Code, und jede Sicherheitsregel lebt hier und nicht im Modell:
def run_agent(goal, model, approve, max_steps=5):
history = []
for step in range(1, max_steps + 1):
decision = model(goal, history)
if "finish" in decision:
return decision["finish"]
name, args = decision["tool"], decision["args"]
if name in NEEDS_APPROVAL and not approve(name, args):
result = {"denied": True}
else:
result = TOOLS[name](**args)
history.append({"tool": name, "result": result})
return None # stopped: step limit reached
Um ein reales Modell zu verwenden, ersetzen Sie die Funktion model durch einen Aufruf einer LLM-API und übergeben ihr das Ziel, den Verlauf und Beschreibungen Ihrer Tools. Die Schleife bleibt nahezu gleich.
Was ist bei unseren Läufen passiert?
Wir haben fünf Situationen mit der skriptgesteuerten Entscheidungsfunktion ausprobiert und jeden Schritt protokolliert.
Eine verspätete Bestellung mit genehmigtem Gutschein
step 1: get_order({'order_id': 'A100'}) -> {'status': 'delayed', 'days_late': 6}
step 2: issue_voucher({'order_id': 'A100', 'amount': 200}) -> {'voucher': 'V-A100', 'amount': 200}
step 3: finish -> Sorry for the delay. Voucher V-A100 issued.
Jeder Schritt verwendete das Ergebnis des vorherigen. Der Gutschein wurde erst berücksichtigt, nachdem die Verspätung bestätigt wurde.
Derselbe Befehl, jedoch wurde die Genehmigung verweigert
step 2: issue_voucher({'order_id': 'A100', 'amount': 200}) -> {'denied': True}
step 3: finish -> Your order is late. A person will review compensation.
Der Mensch sagte Nein, das Tool wurde nie ausgeführt und der Agent passte seine Antwort an.
Eine unbekannte Reihenfolge
step 1: get_order({'order_id': 'Z999'}) -> {'error': 'order not found'}
step 2: finish -> I could not find that order.
Es hilft, den Tools klare Fehlermeldungen zu geben. Ein echtes Modell kann sie lesen und vernünftig reagieren, anstatt zu raten.
Ein Modell, das stecken bleibt
Wir haben auch eine fehlerhafte Entscheidungsfunktion ausgetauscht, die die gleiche Aktion für immer wiederholte:
step 1: get_order({'order_id': 'B200'}) -> {'status': 'shipped', 'days_late': 0}
step 2: get_order({'order_id': 'B200'}) -> {'status': 'shipped', 'days_late': 0}
step 3: get_order({'order_id': 'B200'}) -> {'status': 'shipped', 'days_late': 0}
stopped: step limit reached
Agenten können wirklich in solche Schleifen geraten und jeder Schritt mit einem echten Modell kostet Geld. Ohne max_steps wäre dieser Teil nie zu Ende gegangen.
Wie Werkzeuge funktionieren
Dies ist der am meisten missverstandene Teil. Ein Sprachmodell kann nichts alleine ausführen. Es erzeugt strukturierten Text, der angibt, welches Werkzeug mit welchen Argumenten benötigt wird. Ihr Code entscheidet, ob er ausgeführt wird. Deshalb ist die Schleife der richtige Ort für Berechtigungen, Validierung und Protokollierung.
Modellanbieter bieten hierfür Tool- oder Funktionsaufrufe an. Das Model Context Protocol (MCP) ist ein offener Standard zum Verbinden von Modellen mit Tools und Daten, und unser Artikel über Playwright MCP zeigt eine Verwendung. Schreiben Sie klare Werkzeugnamen und -beschreibungen, da das Modell bei der richtigen Auswahl darauf angewiesen ist.
Tipp: Beginnen Sie mit schreibgeschützten Tools. Ein Agent, der nur nachschlagen kann, ist weit weniger gefährlich als einer, der senden, löschen oder bezahlen kann. Fügen Sie den Schreibzugriff für jedes Tool einzeln hinzu, sobald Sie gesehen haben, wie es sich verhält.
Erinnerung
| Typ | Hält | Beispiel |
|---|---|---|
| Kurzfristig | Der Verlauf der aktuellen Aufgabe | Die history-Liste in unserer Schleife |
| Langfristig | Zwischen den Sitzungen werden Fakten aufbewahrt | Benutzereinstellungen in einer Datenbank |
| Wissen | Dokumente, die bei Bedarf abgerufen werden | RAG mit Einbettungen |
Lange Aufgaben können über das Kontextfenster eines Modells hinauswachsen, daher fassen Systeme häufig ältere Schritte zusammen. In Zusammenfassungen können Details verloren gehen, was einer der Gründe dafür ist, dass langwierige Agenten möglicherweise vom Kurs abweichen.
Multiagentensysteme
Einige Systeme teilen die Arbeit auf mehrere spezialisierte Agenten auf, beispielsweise einen Planer, einen Forscher und einen Prüfer. Dies kann bei großen Aufgaben hilfreich sein, die sich sauber aufteilen lassen. Es verursacht außerdem höhere Kosten, mehr Fehlermöglichkeiten und ein schwierigeres Debugging. Probieren Sie zunächst einen einzelnen Agenten mit guten Tools aus und teilen Sie ihn nur auf, wenn es einen klaren Grund gibt.
Risiken und Grenzen
- Falsche Handlungen. Der Fehler eines Chatbots ist ein schlechter Satz. Der Fehler eines Agenten könnte eine gesendete E-Mail oder ein gelöschter Datensatz sein.
- Sofortige Injektion. Eine Webseite oder E-Mail, die der Agent liest, könnte versteckte Anweisungen enthalten. Behandeln Sie alle Tool-Ausgaben als nicht vertrauenswürdige Daten und nicht als Befehle.
- Fehler verstärken. Ein kleiner Fehler zu Beginn kann jeden späteren Schritt in die falsche Richtung lenken.
- Kosten und Latenz. Jeder Schritt kann ein weiterer Modellaufruf sein, sodass eine Aufgabe möglicherweise viel langsamer und teurer ist als eine einzelne Eingabeaufforderung.
- Inkonsistenz. Das gleiche Ziel kann bei jedem Durchlauf einen anderen Weg einschlagen, was das Testen schwieriger macht.
- Verantwortung. Die Menschen bleiben für das, was das System tut, verantwortlich, also führen Sie Aufzeichnungen.
Wichtige Leitplanken
- Geringeste Berechtigung. Geben Sie jedem Agenten nur die Tools und den Zugriff, die er benötigt.
- Menschliche Zustimmung für alles, was kostspielig, irreversibel oder äußerlich ist, wie es unsere Demo tut.
- Feste Grenzen für Schritte, Zeit und Ausgaben.
- Validieren Sie Werkzeugeingaben im Code und verlassen Sie sich nicht auf Anweisungen an das Modell.
- Protokollieren Sie jeden Schritt, damit Sie sehen können, warum etwas passiert ist. Siehe Überwachung vs. Beobachtbarkeit.
- Testen Sie mit realen Szenarien, einschließlich Fehlern. Überprüfen Sie die Endergebnisse sowie die einzelnen Antworten. Unser Leitfaden zu Best Practices für KI-Agenten geht weiter auf die Bereitstellung ein.
Wann sollte ein Agent eingesetzt werden?
| Verwenden Sie einen Agenten, wenn | Verwenden Sie etwas Einfacheres, wenn |
|---|---|
| Schritte können nicht im Voraus bekannt sein | Die Schritte sind immer gleich |
| Die Aufgabe erfordert mehrere Werkzeuge | Eine Eingabeaufforderung kann die Aufgabe erledigen |
| Ergebnisse verändern, was als nächstes passiert | Ein fester Workflow würde funktionieren |
| Fehler sind billig oder überprüfbar | Fehler sind kostspielig und schwer wiedergutzumachen |
Codierungsassistenten gehören heutzutage zu den ausgereiftesten Beispielen, da sie Dateien lesen, Tests ausführen, Fehler erkennen und es erneut versuchen können, wobei ein Mensch das Ergebnis überprüft. Eine Testsuite gibt ihnen ein klares Erfolgssignal. Unser Leitfaden für zeitnahes Engineering gilt auch für das Verfassen guter Makleranweisungen. Beginnen Sie mit der einfachsten Lösung, die funktionieren könnte, denn ein gut eingeleiteter Einzelanruf übertrifft oft einen komplizierten Agenten.
Fazit
Ein KI-Agent ist weniger mysteriös, als es klingt: ein Modell, einige Werkzeuge und eine Schleife mit Grenzen. Der schwierige Teil ist Vertrauen, nicht der Code. Um zu erfahren, wie sie sich verhalten, nehmen Sie unsere kleine Schleife, verbinden Sie sie mit schreibgeschützten Tools mit einem realen Modell und beobachten Sie die Protokolle, während sie funktionieren. Sie werden bald sehen, wo es glänzt und wo es einen Menschen braucht.
Häufige Fragen
Was ist ein KI-Agent in einfachen Worten?
Es handelt sich um eine Software, die auf ein Ziel hinarbeitet, indem sie Aktionen auswählt, Tools verwendet und Ergebnisse in einer Schleife überprüft, anstatt nur eine einzige Antwort zu geben.
Was ist der Unterschied zwischen einem Chatbot und einem KI-Agenten?
Ein Chatbot antwortet hauptsächlich auf jede Nachricht. Ein Agent kann mehrere Schritte planen, Tools aufrufen und den Kurs ändern, je nachdem, was auf dem Weg passiert.
Brauchen KI-Agenten ein großes Sprachmodell?
Die meisten modernen Systeme verwenden ein LLM für Entscheidungen, obwohl die umfassendere Idee von Software-Agenten älter ist und Regeln oder andere KI-Methoden verwenden kann.
Sind KI-Agenten sicher?
Sie bergen echte Risiken, einschließlich falscher Handlungen und sofortiger Injektion. Schränken Sie ihre Berechtigungen ein, verlangen Sie eine Genehmigung für riskante Schritte, legen Sie strenge Grenzen fest und protokollieren Sie alles.
Kann ein KI-Agent einen Entwickler oder Tester ersetzen?
Heute im Allgemeinen nicht. Sie können viele klar definierte Aufgaben bewältigen, aber die Mitarbeiter müssen dennoch Ziele setzen, die Ergebnisse überprüfen und Verantwortung für das Ergebnis übernehmen.
Lerne weiter
Benötigen Sie Hilfe beim Testen, WordPress oder SEO?
Wir helfen Teams, bessere Software zu liefern und ihre Websites zu erweitern. Sagen Sie uns, woran Sie gerade arbeiten, und wir schlagen Ihnen einen klaren nächsten Schritt vor.
Weitere Anleitungen finden Sie unter Tests, KI und moderne Entwicklung
Hat Ihnen dieser Artikel gefallen? Wählen Sie ein Thema und springen Sie direkt in unsere neuesten Tutorials.
KI-Halluzinationen erklärt: Warum Sprachmodelle Dinge erfinden und wie man sie reduziert
KI-Halluzinationen erklärt: Was sie sind, warum Sprachmodelle sie produzieren, gängige Typen, wie man sie mit Erdung und Eingabeaufforderungen reduz…
Artikel lesen →DevOpsErklärte Umgebungsvariablen: .env-Dateien, Geheimnisse und Konfiguration richtig gemacht
Umgebungsvariablen anhand von Python-Beispielen erklärt, die wir ausgeführt haben: Sie lesen und festlegen, warum jeder Wert ein String ist, .env-Da…
Artikel lesen →SoftwareentwicklungAPI-Ratenbegrenzung erklärt: Algorithmen, Header und Behandlung von 429-Fehlern
API-Ratenbegrenzung anhand einer von uns durchgeführten Simulation erklärt: Token-Bucket, festes Fenster, gleitendes Fenster, 429 Antworten, Ratenbe…
Artikel lesen →TestautomatisierungSpott in Python: unittest.mock, Patch und die Fehler, die Tests zum Lügen machen
Mocking in Python mit unittest.mock, getestet: Mock und return_value, side_effect, Patchen, wo ein Name verwendet wird, Spezifikation und Autospec, …
Artikel lesen →SoftwaretestsCode-Abdeckung erklärt: Leitungs- und Zweigstellenabdeckung und was 100 % wirklich bedeutet
Erklärung der Codeabdeckung anhand eines echten Coverage.py-Laufs: Zeilen-, Zweig- und Bedingungsabdeckung, Lesen eines Berichts, warum bei 100 % Ab…
Artikel lesen →Datenbanken & SQLDELETE vs. TRUNCATE vs. DROP in SQL: Unterschiede, Rollback und Verwendungszweck
DELETE vs. TRUNCATE vs. DROP erklärt mit getestetem SQL: was jeweils entfernt wird, Rollback, Trigger, Identitätsrücksetzung, Geschwindigkeit und wi…
Artikel lesen →Datenbanken & SQLErklärte SQL-Ansichten: Erstellen, nutzen und vermeiden Sie Fallstricke mit Beispielen
SQL-Ansichten anhand der von uns ausgeführten Abfragen erklärt: Erstellen einer Ansicht, Live-Ergebnisse, Ausblenden von Spalten, Leistung, aktualis…
Artikel lesen →SoftwareentwicklungTypeScript-Schnittstelle vs. Typ: Echte Unterschiede, getestet mit dem Compiler
TypeScript-Schnittstelle vs. Typ, überprüft mit dem echten Compiler: Was beide können, was nur einer kann, Deklarationszusammenführung, Erweiterunge…
Artikel lesen →SoftwareentwicklungPython *args und **kwargs erklärt: Flexible Funktionen mit klaren Beispielen
Python *args und **kwargs erklärt mit Code, den wir ausgeführt haben: Packen und Entpacken, Parameterreihenfolge, Nur-Schlüsselwort- und Nur-Positio…
Artikel lesen →SoftwareentwicklungPython-Lambda-Funktionen: Syntax, tatsächliche Verwendung und wann man sie nicht verwendet
Python-Lambda-Funktionen erklärt mit Code, den wir ausgeführt haben: Syntax, Sortierung mit Schlüssel, Karte und Filter, Abschlüsse, die Late-Bindin…
Artikel lesen →Künstliche IntelligenzWas sind KI-Agenten? Wie sie funktionieren, mit einer einfachen Agentenschleife, die Sie ausführen können
Was sind KI-Agenten? Eine einfache Anleitung zur Agentenschleife, zu Tools, Speicher und Leitplanken, mit einer kleinen Python-Schleife, die wir aus…
Artikel lesen →DevOpsÜberwachung vs. Beobachtbarkeit: Der wahre Unterschied, mit Protokollen, Metriken und Traces
Überwachung vs. Beobachtbarkeit erklärt: bekannte und unbekannte Fehler, Protokolle, Metriken und Spuren, eine exemplarische Vorgehensweise für Chec…
Artikel lesen →DevOpsDocker-Volumes vs. Bind Mounts: Containerdaten auf die richtige Art und Weise beibehalten
Docker-Volumes vs. Bind-Mounts erklärt: Warum Containerdaten verschwinden, benannte Volumes, Bind-Mounts, tmpfs, Compose-Beispiele, Backups, Berecht…
Artikel lesen →TestautomatisierungTDD vs. BDD: Hauptunterschiede, eine Funktion, die auf beide Arten entwickelt wurde und wann sie jeweils verwendet werden sollte
TDD vs. BDD erklärt mit einer Rabattfunktion, die in beide Richtungen aufgebaut ist: Rot-Grün-Refaktor mit Code, den wir ausgeführt haben, Gegeben-W…
Artikel lesen →SoftwareentwicklungGit merge vs rebase: Unterschiede, Beispiele und wann man was nutzt
Git merge vs rebase erklärt mit echter Log-Ausgabe, einer Vergleichstabelle, der goldenen Regel des Rebase und einem sicheren Team-Workflow.
Artikel lesen →SoftwareentwicklungPython List Comprehension: Syntax, Beispiele und wann man darauf verzichtet
Python List Comprehension erklärt: Syntax, Filter, if-else, verschachtelte Schleifen, gemessene Zeiten und Fälle, in denen eine normale for-Schleife…
Artikel lesen →Datenbanken & SQLSQL Joins erklärt mit Beispielen (Inner, Left, Right, Full)
SQL Joins Schritt für Schritt mit Beispieltabellen und Abfragen verstehen: INNER, LEFT, RIGHT, FULL, CROSS und SELF, plus typische Fehler und Perfor…
Artikel lesen →