📖

Was ist Function Calling?

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.

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.

Häufig gestellte Fragen

Is function calling the same as an AI agent?
No, but it is a building block. Function calling is the mechanism that lets a model request tools; an agent is the surrounding system that plans, loops, and decides which tools to call and when to stop. Most agents rely on function calling under the hood.</</a>
Does the language model actually execute the function?
No. The model only proposes a function name and arguments. Your application receives the structured request, runs the real code in a controlled environment, and sends the output back to the model for the next turn. This separation is what makes function calling safe.
How is function calling different from standard prompt-based tool use?
Earlier approaches asked the model to "write a function call" as plain text, which required fragile regex parsing. Modern function calling is a first-class API feature where the model emits a schema-conformant JSON object, dramatically improving reliability and reducing parsing errors.
What are common pitfalls when using function calling?
Common issues include ambiguous function descriptions that make the model pick the wrong tool, missing or weakly typed parameters in the schema, and failing to validate arguments before execution. Clear, well-scoped function definitions and schema-constrained decoding help avoid most of these problems.