Function Calling ist eine Funktion großer Sprachmodelle, mit der diese die Ausführung externen Codes oder von Tools anfordern können, indem sie strukturierte Argumente ausgeben, anstatt Freitext zu erzeugen. Sie überbrückt natürlichsprachliche Eingaben und deterministische Software, sodass ein LLM zuverlässig mit Datenbanken, APIs oder anderen Diensten agieren kann. Das Modell entscheidet, wann eine Funktion benötigt wird, und liefert eine maschinenlesbare Payload, während die aufrufende Anwendung dafür verantwortlich ist, die Funktion tatsächlich auszuführen und das Ergebnis an das Modell zurückzugeben.
So funktioniert Function Calling
Entwickler registrieren einen Satz von Funktionsdefinitionen beim Modell, typischerweise als JSON-Schemas, die Name, Zweck und Parameter jeder Funktion beschreiben. Wenn ein Nutzer eine Eingabe wie „Wie ist das Wetter in Tokio?" sendet, antwortet das Modell nicht direkt. Stattdessen gibt es ein strukturiertes Objekt zurück – zum Beispiel {"name": "get_weather", "arguments": {"city": "Tokyo"}}. Die Host-Anwendung parst dieses Objekt, führt die eigentliche Funktion aus (häufig durch Aufruf einer Drittanbieter-API) und hängt das Ergebnis als neue Nachricht an die Konversation an. Das LLM wandelt dieses Ergebnis dann in eine natürlichsprachliche Antwort für den Nutzer um.
Die meisten Anbieter stellen denselben Ablauf über ihre Chat-Completion-APIs bereit. Das Modell führt selbst keinen Code aus; Function Calling ist im Wesentlichen eine disziplinierte Methode, ein Sprachmodell dazu zu bringen, „JSON zu sprechen", damit deterministische Software sicher darauf reagieren kann.
Warum es wichtig ist
LLMs sind gut in Sprache und Schlussfolgerungen, aber schlecht in Arithmetik, Echtzeitdaten und Seiteneffekten. Function Calling verwandelt ein Chat-Modell in die Schlussfolgerungsschicht eines agentenbasierten Systems: Das Modell plant, die Tools führen aus. Dieses Muster ermöglicht KI-Assistenten, die Kalender buchen, CRMs abfragen, SQL ausführen, interne Microservices aufrufen oder Roboteraktionen auslösen können – während der Entwickler stets die volle Kontrolle darüber behält, welcher Code tatsächlich läuft. Es reduziert außerdem Halluzinationen bei faktischen Abfragen drastisch, da die Antworten auf echten Tool-Ergebnissen beruhen und nicht auf dem parametrischen Gedächtnis des Modells.
Wichtige Arten von Function-Calling-Mustern
- Single-Shot-Tool-Nutzung: Das Modell ruft pro Durchgang eine Funktion auf, etwa einen Taschenrechner oder eine Websuche.
- Parallele Aufrufe: Das Modell fordert in einer Antwort mehrere unabhängige Funktionen an, nützlich, um Daten aus mehreren Quellen gleichzeitig abzurufen.
- Mehrstufige / agentenbasierte Schleifen: Die Anwendung schleust Tool-Ergebnisse zurück, bis das Modell entscheidet, dass keine weiteren Aufrufe nötig sind, was Ketten von Aktionen ermöglicht.
- Constrained Decoding: Techniken, die die Token-für-Token-Ausgabe des Modells zwingen, einem JSON-Schema zu entsprechen, was die Zuverlässigkeit bei strikten APIs verbessert.
Function Calling ist mittlerweile eine Standardfunktion aller großen Modellanbieter und bildet das Fundament, auf dem die meisten modernen KI-Agenten, Copiloten und Retrieval-Pipelines aufgebaut sind.