Tool-Use: das Interface des Agenten zur Welt
Einführung · 7 Abschnitte · ~9 Min Lesezeit · Stand
Tools bestimmen, wie gut ein Agent ist
Ein Agent handelt über Tools — Funktionen, die er aufrufen kann. Das Modell wählt anhand von Name, Beschreibung und Schema, welches Tool es mit welchen Argumenten aufruft. Die Qualität der Tools deckelt damit die Qualität des Agenten: schlechte Tools ergeben schlechte Agenten, egal wie fähig das Modell ist.
Gutes Tool-Design
Ein Tool braucht einen aussagekräftigen Namen, eine klare Beschreibung (was es tut, wann es zu nutzen ist) und ein typisiertes Schema für die Parameter (Name, Typ, erlaubte Werte). get_data(x) mit „gets data“ lädt zu Fehlgebrauch ein — das Modell liest genau diese Beschreibung, um zu wählen und aufzurufen.
Kleine, orthogonale Tool-Menge
Je mehr Tools — und je stärker sie sich überschneiden —, desto schwerer fällt dem Modell die Auswahl. Vier Tools, die alle „irgendwas suchen“, führen zu Fehlgriffen. Halte die Menge klein und orthogonal: klare, sich nicht überschneidende Zuständigkeiten.
Traue den Argumenten nicht
Die Tool-Argumente, die das LLM erzeugt, sind nicht vertrauenswürdige Eingabe: sie können fehlformatiert, halluziniert oder gefährlich breit sein (ein leerer Filter, der alles löscht). Validiere sie am Tool-Rand (Schema, Grenzen, Plausibilität) vor der Ausführung.
Und Tools scheitern — sie sollten strukturierte, verwertbare Fehler zurückgeben (was schiefging, ob retrybar), keinen rohen Stacktrace und keinen stillen Fehlschlag. Ein guter Fehler ist eine Beobachtung, aus der der Agent den nächsten Schritt ableitet.
Least-Privilege & irreversible Aktionen
Der Blast-Radius eines Tools ist gleich seinen Rechten. Gib jedem Tool die minimalen Berechtigungen (read-only, wo möglich; nur die nötigen Tabellen) — entscheidend, wenn der Agent untrusted Input verarbeitet, der ihn steuern könnte.
Irreversible/destruktive Aktionen (Löschen, Zahlungen) dürfen nicht autonom aus einer LLM-Entscheidung feuern: ein erzwungener Human-in-the-Loop- oder Bestätigungs-/Dry-Run-Schritt davor, plus Limits.
Was Tools zurückgeben
Tool-Ausgaben fließen zurück in den Kontext — und sind damit zweierlei Problem: Größe (eine riesige Webseite bläht Kontext und Kosten, „lost in the middle“) und Trust (der Inhalt kann versteckte Anweisungen tragen — indirekte Prompt Injection über Tool-Output).
Tool oder Code? — gleich im Check
Nicht alles gehört als Tool. Deterministische Logik, die immer (und in fester Reihenfolge) laufen muss, kodiert man fest im Ablauf — nicht als optionales, vom LLM gewähltes Tool, das es überspringen oder umsortieren kann. Tools sind für Aktionen, bei denen das Modell echt entscheiden soll.