Function Calling — auch Tool Use genannt — ist die Technik, die Sprachmodelle von Textgeneratoren zu handlungsfähigen Systemen macht. Statt nur Text zu produzieren, kann das Modell strukturiert anfordern, dass eine definierte Funktion mit bestimmten Parametern ausgeführt wird: eine Datenbank abfragen, eine Berechnung durchführen, eine externe API aufrufen. Das eröffnet enorme Möglichkeiten — und ebenso viele Fehlerquellen. Wer LLM-Produkte mit echten Aktionen baut, muss das Zusammenspiel von Modell und Werkzeugen sauber verstehen.
Wie Function Calling funktioniert
Der Ablauf ist im Kern einfach. Sie beschreiben dem Modell eine Menge verfügbarer Werkzeuge, jeweils mit Name, Zweck und einem Schema der erwarteten Parameter. Das Modell entscheidet anhand der Nutzeranfrage, ob und welches Werkzeug es nutzen will, und gibt einen strukturierten Aufruf mit konkreten Parametern zurück — es führt die Funktion nicht selbst aus. Ihre Anwendung führt die Funktion aus, gibt das Ergebnis an das Modell zurück, und das Modell formuliert daraus die Antwort oder ruft das nächste Werkzeug auf. Dieser Kreislauf — Modell schlägt vor, Anwendung führt aus, Ergebnis zurück — ist das Herzstück jedes Agenten.
Gute Werkzeuge definieren
Die Qualität eines Agenten hängt entscheidend von der Qualität seiner Werkzeugdefinitionen ab. Ein gutes Werkzeug hat einen aussagekräftigen Namen, eine präzise Beschreibung seines Zwecks und seiner Grenzen, und ein klares Parameterschema mit Typen und Pflichtangaben. Die Beschreibung ist dabei wichtiger, als viele denken — das Modell wählt das Werkzeug allein anhand der Beschreibung aus. Vage Beschreibungen führen zu falscher Werkzeugwahl. Halten Sie die Zahl der Werkzeuge zudem überschaubar; ein Modell, dem man fünfzig Werkzeuge anbietet, wählt schlechter als eines mit einer Handvoll gut abgegrenzter.
Strukturierte Parameter erzwingen
Ein häufiges Problem ist, dass das Modell Parameter erfindet oder im falschen Format liefert. Definieren Sie das Parameterschema so strikt wie möglich — mit Aufzählungen statt freiem Text, wo es geht, mit klaren Typen und mit Pflichtfeldern. Validieren Sie jeden Aufruf gegen das Schema, bevor Sie die Funktion ausführen, und geben Sie bei einem Fehler eine aussagekräftige Fehlermeldung an das Modell zurück, damit es den Aufruf korrigieren kann. Diese Validierungsschleife macht den Unterschied zwischen einem brüchigen Demo-Agenten und einem produktionstauglichen System.
Sicherheit: jedes Werkzeug ist eine Angriffsfläche
Jedes Werkzeug, das echte Wirkung hat, ist ein potenzielles Einfallstor — besonders im Zusammenspiel mit Prompt Injection. Wenden Sie das Prinzip der minimalen Rechte an: Geben Sie dem Agenten nur die Werkzeuge, die er für seine Aufgabe braucht, und beschränken Sie deren Wirkungsbereich. Trennen Sie lesende von schreibenden Werkzeugen und sichern Sie jede Aktion mit irreversibler oder externer Wirkung — Zahlungen, Löschungen, Versand — mit einer menschlichen Bestätigung ab, statt sie autonom ausführen zu lassen. Validieren Sie ausserdem die Werkzeugausgaben, bevor sie zurück in den Modellkontext fliessen, denn auch ein Werkzeugergebnis kann manipulierte Inhalte transportieren.
Mehrschrittige Abläufe beherrschen
Echte Aufgaben erfordern oft mehrere Werkzeugaufrufe nacheinander. Hier entstehen neue Herausforderungen: Das Modell kann in Schleifen geraten, denselben Aufruf wiederholen oder den Faden verlieren. Begrenzen Sie die Zahl der Schritte pro Aufgabe mit einem harten Limit, um Endlosschleifen und Kostenexplosionen zu verhindern. Geben Sie dem Modell nach jedem Schritt klares Feedback über den Stand. Und protokollieren Sie die gesamte Werkzeugkette — welcher Aufruf mit welchen Parametern welches Ergebnis lieferte —, denn ohne dieses Protokoll ist ein fehlgeschlagener mehrschrittiger Ablauf praktisch nicht zu debuggen.
Testen wie ein Produkt
Behandeln Sie Werkzeugnutzung wie jede andere Produktfunktion: mit Tests. Bauen Sie ein Set typischer Aufgaben und prüfen Sie, ob der Agent die richtigen Werkzeuge in der richtigen Reihenfolge mit den richtigen Parametern aufruft. Weil LLM-Verhalten nicht deterministisch ist, prüfen Sie nicht auf exakte Gleichheit, sondern auf das Erreichen des Ziels und die Einhaltung der Sicherheitsgrenzen. Diese Evaluierung läuft idealerweise automatisiert mit, damit eine Änderung am Prompt oder Modell nicht unbemerkt das Werkzeugverhalten verschlechtert.
Fazit
Function Calling verwandelt ein Sprachmodell in ein handlungsfähiges System — und verlagert die technische Sorgfalt von der Texterzeugung auf die Werkzeuggestaltung. Definieren Sie wenige, klar beschriebene Werkzeuge mit strikten Schemata, validieren Sie jeden Aufruf, wenden Sie das Prinzip der minimalen Rechte an und sichern Sie wirkungsvolle Aktionen mit menschlicher Bestätigung. Begrenzen Sie mehrschrittige Abläufe und protokollieren Sie die gesamte Werkzeugkette. Wer diese Disziplin einhält, baut Agenten, die nicht nur in der Demo beeindrucken, sondern in der Produktion verlässlich und sicher handeln.
Kosten und Latenz im Blick behalten
Jeder Werkzeugaufruf bedeutet eine zusätzliche Runde durch das Modell — und damit zusätzliche Latenz und Kosten. Ein mehrschrittiger Ablauf mit fünf Werkzeugaufrufen durchläuft das Modell sechsmal, mit entsprechendem Zeit- und Tokenaufwand. Behalten Sie das im Design im Blick: Manchmal ist es besser, ein einziges, mächtigeres Werkzeug bereitzustellen, das mehrere Schritte intern erledigt, als das Modell viele kleine Aufrufe orchestrieren zu lassen. Messen Sie die durchschnittliche Zahl der Werkzeugaufrufe pro Aufgabe — sie ist ein direkter Treiber Ihrer Kosten und der wahrgenommenen Geschwindigkeit.
Wo Werkzeuge unabhängig voneinander sind, prüfen Sie die parallele Ausführung. Moderne Modelle können mehrere Werkzeugaufrufe gleichzeitig anfordern; führt Ihre Anwendung diese parallel statt nacheinander aus, sinkt die Gesamtlatenz erheblich. Achten Sie dabei auf Abhängigkeiten — ein Werkzeug, dessen Eingabe vom Ergebnis eines anderen abhängt, kann nicht parallel laufen. Eine saubere Trennung von unabhängigen und abhängigen Aufrufen ist deshalb nicht nur eine Performance-, sondern auch eine Korrektheitsfrage. Wer beides beherrscht, baut Agenten, die sich schnell anfühlen, ohne an Verlässlichkeit zu verlieren.

