Agentic Relations

Function Calling

API-Mechanik, mit der ein Sprachmodell strukturierte Funktionsaufrufe als JSON ausgibt, die der Host ausführt und deren Ergebnisse zurück ins Modell speist.

Definition

Function Calling ist die API-Mechanik, mit der ein Sprachmodell strukturierte Funktionsaufrufe als JSON ausgibt, die der Host-Code ausführt und deren Ergebnisse zurück ins Modell speist. Der Entwickler übergibt dem Modell pro Request ein Tool-Schema mit Funktionsname, Beschreibung und Argument-Definition. Das Modell entscheidet pro Iteration, ob es eine Funktion aufruft und gibt im Erfolgsfall einen strukturierten Call zurück.

OpenAI prägte den Begriff im Juni 2023, Anthropic, Google und andere haben das Pattern adoptiert. 2026 ist Function Calling Standardausstattung jedes produktionsreifen Modells und Basis für KI-Agenten, Workflow-Automation und LLM-getriebene Pipelines.

Mechanismus

Der Ablauf ist klar definiert:

  • Tool-Schema: Der Entwickler definiert eine Liste von Tools mit JSON-Schema. Jedes Tool hat einen Namen, eine Beschreibung und ein Argument-Schema.
  • Request: Das Schema wird mit der User-Anfrage an die API gesendet.
  • Modell-Entscheidung: Das Modell entscheidet anhand der Beschreibungen, ob eine Funktion aufgerufen werden soll.
  • Tool-Call: Bei positivem Entscheid gibt das Modell einen strukturierten Call mit Funktionsnamen und ausgefüllten Argumenten zurück, statt einer Text-Antwort.
  • Ausführung: Der Host parst den Call, ruft die Funktion auf und erhält ein Ergebnis.
  • Tool-Result: Der Host hängt das Ergebnis als Tool-Result an die Conversation an und schickt einen Folge-Request.
  • Finale Antwort: Das Modell integriert das Ergebnis und gibt eine natürliche Antwort zurück, oder ruft weitere Tools auf.

Schema-Design

Ein gutes Function-Schema folgt klaren Konventionen:

  • Funktionsname: kurz, eindeutig, verbal (get_weather, send_email, search_products).
  • Beschreibung: ein bis zwei Sätze, was die Funktion tut und wann sie verwendet werden soll. Mini-Beispiel ist hilfreich.
  • Argumente: typisiert, mit Beschreibung pro Feld, optional mit enum, default und required-Liste.
  • Returns: strukturiertes JSON, idealerweise konsistent über alle Tools.
  • Errors: standardisierte Error-Returns mit code und message.

OpenAI führte 2024 den Strict Mode ein, der via Constrained Decoding garantiert, dass die Modell-Ausgabe schema-konform ist. Anthropic bietet Ähnliches via Structured Outputs beziehungsweise strict tool use; der Parameter tool_choice steuert dagegen nur, ob und welches Tool aufgerufen wird.

Parallel Function Calls

Moderne APIs unterstützen Parallel Function Calls. Das Modell kann in einer Iteration mehrere unabhängige Tool-Aufrufe gleichzeitig generieren. Der Host führt sie parallel aus (z. B. mit Promise.all in JavaScript oder asyncio.gather in Python) und liefert alle Ergebnisse zusammen zurück. Bei Aufgaben mit mehreren unabhängigen Lookups (z. B. Wetter in drei Städten) spart das Round-Trips und reduziert Latenz erheblich.

Praxis und Anwendung

Function Calling ist die Grundlage praktisch aller LLM-getriebenen Backend-Workflows:

  • Daten-Lookups: Datenbank-Queries, CRM-Abfragen, ERP-Calls.
  • Aktionen: E-Mails senden, Datensätze erstellen, Termine buchen.
  • Tool-Orchestrierung: Modelle koordinieren mehrere APIs in einer Pipeline.
  • Strukturierte Extraktion: Function Calling wird zweckentfremdet als Mechanismus für garantiert gültige JSON-Outputs.
  • Routing: Pro Anfrage entscheidet das Modell, welcher Handler zuständig ist, und ruft ihn auf.

Tooling-seitig ist Function Calling Voraussetzung für jedes Agent-Framework: LangGraph, Claude Agent SDK, OpenAI Agents API, LlamaIndex, CrewAI und Smolagents bauen darauf auf.

Häufige Fehler

  • Mehrdeutige Argument-Schemas: Modell halluziniert Werte. Klare Typen, enum-Werte und Beschreibungen pro Feld.
  • Schwache Tool-Beschreibungen: Modell wählt das falsche Tool. Beschreibung muss klar trennen, wann welches Tool zuständig ist.
  • Zu lange Tool-Outputs: Kontext-Inflation. Outputs zusammenfassen oder paginieren.
  • Errors als Free-Text: Modell missinterpretiert Fehler. Standardisierte Error-Returns.
  • Fehlendes Retry-Handling: transiente Fehler scheitern endgültig. Exponential Backoff im Host.
  • Sicherheitslücken bei Schreib-Tools: unkontrollierte Aufrufe. Consent, Sandbox, Audit.

Sicherheit

Function Calling lässt das Modell echte Aktionen auslösen. Schreib-Tools sind besonders kritisch:

  • Consent: User muss destruktive Aktionen explizit bestätigen.
  • Authorization: Backend prüft Berechtigung pro Call, nicht nur im Modell-Prompt.
  • Rate-Limiting: Pro Conversation und pro User.
  • Audit: vollständiges Logging aller Calls.
  • Schema-Validierung: Host validiert Argumente unabhängig vom Modell.

Abgrenzung

  • Tool Use: Oberbegriff, Function Calling die API-Mechanik darunter.
  • Plugins (alte ChatGPT-Generation): kuratiertes geschlossenes Ökosystem, Function Calling ist offen und vom Entwickler definiert.
  • Structured Output: verwandte Technik für garantiert gültige JSON-Antworten ohne Tool-Aufruf-Semantik.
  • RAG: retrieved Daten in den Kontext, Function Calling ruft aktiv Funktionen auf.
  • MCP: Protokoll darüber, das Tools standardisiert bereitstellt und Function Calling als Modell-Schnittstelle voraussetzt.

Weiter im KI-Lexikon

← Zurück zum Lexikon

Häufige Fragen

Was ist Function Calling?+

Function Calling ist die API-Mechanik, mit der ein Sprachmodell strukturierte Funktionsaufrufe ausgibt. Der Entwickler übergibt dem Modell ein Schema mit Funktionsname, Argument-Typen und Beschreibung. Das Modell entscheidet, ob es die Funktion aufrufen will und gibt einen JSON-Call mit ausgefüllten Argumenten zurück.

Wer hat Function Calling eingeführt?+

OpenAI hat Function Calling im Juni 2023 für GPT-3.5 und GPT-4 freigeschaltet. Anthropic folgte 2024 mit Tool Use für Claude, Google Gemini 2024 mit eigener Variante. Heute unterstützen alle führenden Modelle das Pattern, oft mit geringfügigen Unterschieden in der API-Form.

Wie ist ein Function-Call-Schema aufgebaut?+

Ein Schema enthält Funktionsname, eine Beschreibung in natürlicher Sprache, und ein JSON-Schema für die Argumente mit Typen, Beschreibungen und optionalen Enum-Werten. Das Modell sieht das Schema im System-Prompt und nutzt die Beschreibungen als primären Auswahlgrund.

Was ist der Unterschied zu Tool Use?+

Tool Use ist der Oberbegriff, Function Calling die konkrete Mechanik. Tool Use umfasst zusätzlich die Ausführungsschleife, das Handling von Ergebnissen, das Multi-Step-Reasoning und die Integration mehrerer Tools. Die Begriffe werden oft synonym verwendet, in der Anthropic-Welt dominiert Tool Use, in der OpenAI-Welt Function Calling.

Was sind Parallel Function Calls?+

Moderne APIs erlauben es dem Modell, in einem Output mehrere unabhängige Funktionsaufrufe gleichzeitig zu generieren. Der Host führt sie parallel aus und liefert alle Ergebnisse zusammen zurück. Spart Round-Trips und reduziert Latenz erheblich.

Welche Probleme gibt es bei Function Calling?+

Häufige Probleme sind halluzinierte Argumente bei mehrdeutigem Schema, falsche Tool-Auswahl bei schwachen Beschreibungen, JSON-Parse-Fehler bei alten Modellen, Kontext-Inflation bei langen Tool-Outputs und Sicherheitsrisiken bei unkontrollierten Schreib-Funktionen.

Was ist Structured Output und wie hängt das zusammen?+

Structured Output ist der Mechanismus, der garantiert, dass ein Modell gültiges JSON nach gegebenem Schema produziert. OpenAIs Strict Mode und Anthropics Structured Outputs (strict tool use) nutzen Constrained Decoding, um die Token-Auswahl auf Schema-konforme Ausgaben zu beschränken. Anthropics tool_choice erzwingt dagegen nur, dass beziehungsweise welches Tool aufgerufen wird. Function Calling profitiert direkt davon.

Wie steht Function Calling zu MCP?+

Function Calling ist die Modell-API-Schicht, MCP ist das offene Protokoll darüber, das Tools standardisiert über Prozessgrenzen hinweg bereitstellt. Ein MCP-Server exponiert Tools, die der Host als Function-Calling-Schemas dem Modell präsentiert. MCP entkoppelt Tool-Implementierung von Modell-Integration.

Verwandte Begriffe

Quellen

  • OpenAI Function Calling Guide (2023)
  • Anthropic Tool Use Documentation
  • Google Gemini Function Calling Reference

Zuletzt geprüft: 2026-07-02