Was ist Function Calling und Tool Use bei LLMs?

Prozessautomatisierung-Wiki > Was ist Function Calling und Tool Use bei LLMs?

Kurzdefinition

Function Calling (auch Tool Use) ist die Fähigkeit moderner Large Language Models, auf Basis einer Benutzeranfrage strukturiert externe Funktionen, APIs oder Dienste aufzurufen. Das LLM liefert dabei keinen Freitext, sondern ein strukturiertes JSON-Objekt mit Funktionsname und Parametern. Die Anwendung führt die Funktion aus und gibt das Ergebnis zurück. Function Calling transformiert LLMs von Sprach- zu Handlungsmodellen.

Vor Function Calling: Wie LLMs an Systemgrenzen scheiterten

Frühe Large Language Models wie GPT-3.5 waren reine Textgeneratoren. Sie konnten beeindruckend formulieren, aber nicht handeln. Typische Schwächen ohne Tool Use:

  • Keine Echtzeitdaten: Fragen zu aktuellen Börsenkursen, Wetter oder Nachrichten endeten in veralteten oder erfundenen Informationen (Halluzinationen).
  • Keine Berechnungen: Mathematisch anspruchsvolle Aufgaben wurden oft falsch berechnet, da das Modell Zahlen statistisch behandelt, nicht algebraisch.
  • Keine persistenten Aktionen: Das Modell konnte keine E-Mails versenden, keine Kalendereinträge erstellen, keine Datenbankabfragen starten.
  • Keine Systemintegration: APIs, CRM-Systeme, ERP-Lösungen waren für das LLM vollständig unsichtbar.

Function Calling überbrückt exakt diese Lücken. Es gibt dem LLM „Hände“, also die Fähigkeit, die Außenwelt zu erreichen und zu verändern.

 

Function Calling Schritt für Schritt

Der Ablauf lässt sich in sieben klar definierte Schritte unterteilen. Am Beispiel einer Aktienabfrage:

Schritt 1: Tool-Registrierung

Die Anwendung registriert beim LLM verfügbare Funktionen als JSON-Schema-Definition:

{
  "name": "get_stock_price",
  "description": "Ruft den aktuellen Aktienkurs eines Unternehmens ab.",
  "parameters": {
    "type": "object",
    "properties": {
      "symbol": {
        "type": "string",
        "description": "Das Börsenkürzel, z.B. SAP, AAPL, BMW"
      }
    },
    "required": ["symbol"]
  }
}

Schritt 2: Nutzeranfrage

Der Nutzer stellt eine natürlichsprachliche Frage: „Was ist der aktuelle Aktienkurs von SAP?“

Schritt 3: LLM-Entscheidung

Das LLM analysiert die Anfrage, erkennt, dass das registrierte Tool get_stock_price relevant ist, und entscheidet sich für dessen Aufruf, anstatt eine (womöglich halluzinierte) Freitextantwort zu generieren.

Schritt 4: Structured Output

Das LLM gibt kein Freitextdokument zurück, sondern ein strukturiertes JSON-Objekt:

{
  "tool_use": {
    "name": "get_stock_price",
    "parameters": {
      "symbol": "SAP"
    }
  }
}

Schritt 5: Tool-Ausführung durch die Anwendung

Die umgebende Applikation empfängt das JSON, führt tatsächlich die Funktion get_stock_price("SAP") aus, zum Beispiel durch einen Aufruf an die Yahoo Finance API, und erhält den aktuellen Kurs.

Schritt 6: Ergebnis an LLM zurückgeben

Das Ergebnis („SAP: 187,40 EUR“) wird als neue Nachricht in den Gesprächskontext eingespeist.

Schritt 7: LLM formuliert finale Antwort

Nun erst formuliert das LLM eine vollständige, natürlichsprachliche Antwort: „Der aktuelle Aktienkurs von SAP beträgt 187,40 EUR (Stand: gerade eben).“

 

Paralleles Function Calling

Moderne Modelle (GPT-4o, Claude Sonnet 4.6, Gemini 2.5 Pro) unterstützen paralleles Tool Use: In einem einzigen Schritt können mehrere Funktionen gleichzeitig aufgerufen werden. Beispiel: „Plane ein Meeting mit Max für morgen, schick ihm eine Einladung und prüfe das Wetter in München.“

Das LLM gibt in diesem Fall ein Array von Tool-Aufrufen zurück:

  • check_calendar(user="max", date="tomorrow")
  • send_email(to="max@firma.de", subject="Meeting-Einladung", ...)
  • get_weather(city="München", date="tomorrow")

Alle drei Funktionen werden parallel ausgeführt, die Ergebnisse werden gebündelt zurückgegeben und das LLM formuliert eine konsolidierte Antwort. Das reduziert Latenz erheblich.

 

Function Calling vs. klassische API-Aufrufe vs. RPA

Kriterium Klassischer API-Aufruf RPA (Robotergesteuerte Prozessautomation) Function Calling (LLM)
Entscheidungslogik Hartkodiert im Programm Regelbasiert, aufgezeichnet KI-gesteuert, kontextabhängig
Flexibilität Gering durch feste Endpunkte Mittel (anfällig bei UI-Änderungen) Hoch (reagiert auf Nutzungskontext)
Natürlichsprachige Steuerung Nein Nein Ja
Fehlertoleranz Niedrig (Exception oder Crash) Niedrig geht bei Änderungen kaputt Mittel (kann Alternativen wählen)
Typische Anwendung Systemintegration Legacy-Systeme ohne API KI-Assistenten, Agenten
Wartungsaufwand Mittel Hoch Niedrig (bei Schemaänderungen)

 

JSON Schema für Tool-Definitionen: Aufbau und Best Practices

Das JSON Schema einer Tool-Definition besteht aus drei Pflichtfeldern:

  • name: Eindeutiger, maschinenlesbarer Bezeichner (snake_case empfohlen, z.B. send_slack_message)
  • description: Natürlichsprachige Beschreibung für das LLM. Hier entscheidet sich, wann das Modell das Tool wählt. Präzision ist entscheidend.
  • parameters: JSON Schema mit Typen, Beschreibungen und Required-Feldern für jeden Parameter

Best Practices:

  • Descriptions so formulieren, als würde man einem neuen Mitarbeiter erklären, wann er diese Funktion aufrufen soll
  • Parameter-Descriptions mit Beispielen anreichern („z.B. ‚AAPL‘ für Apple Inc.“)
  • Enum-Werte für begrenzte Parametermöglichkeiten nutzen (verhindert Halluzinationen)
  • Nicht zu viele Tools auf einmal registrieren; Qualität vor Quantität (Richtwert: unter 20 Tools)

 

Tool-Kategorien im Überblick

Kategorie Beispiele Typische Nutzung
Suche & Retrieval Web-Suche, Vektordatenbank (RAG), SQL-Query Aktuelle Informationen abrufen, Wissensbasis durchsuchen
Berechnung & Code Python-Interpreter, Wolfram Alpha, Code Sandbox Mathematische Berechnungen, Datenanalyse, Code-Ausführung
Externe APIs CRM (Salesforce, HubSpot), ERP (SAP), Kalender, E-Mail, Slack, Stripe Geschäftsprozesse auslösen, Daten lesen und schreiben
Dateisystem Datei lesen, schreiben, suchen, umbenennen Dokumentenverarbeitung, Datenextraktion, Archivierung
Browser / Web Screenshot erstellen, klicken, Formular ausfüllen, navigieren Web Scraping, Automatisierung, Computer Use
Datenbanken SQL-Abfragen, NoSQL, Vektordatenbanken Strukturierte Datenanalyse, semantische Suche

 

Modell-Support: Welche LLMs unterstützen Function Calling?

Anbieter Modell(e) Feature-Name Besonderheit
OpenAI GPT-4o, GPT-4 Turbo, GPT-3.5 Turbo Function Calling / Tools Parallele Tool-Calls, Strict Mode (erzwungenes JSON-Schema), Assistants API
Anthropic Claude Haiku 4.5, Sonnet 4.6, Opus 4.8, Fable 5 (Claude 3.x-Generation eingestellt seit Jan. 2026) Tool Use / Computer Use Sehr präzise Tool-Auswahl, Computer Use für Screenshot- und Klick-Automatisierung, bis zu 1 Million Token Kontextfenster bei Opus 4.8
Google Gemini 2.0 Flash, Gemini 2.5 Pro/Flash (Gemini 1.5 abgelöst) Function Declarations Native Google Workspace Integration, multimodales Tool Use, sehr großes Kontextfenster (2 Mio. Token bei 2.5 Pro)
Meta LLaMA 4 Scout, LLaMA 4 Maverick (LLaMA 3.x abgelöst seit April 2025) Tool Calling (fine-tuned) Open Source, lokal deploybar, keine Datenweitergabe an Dritte, Multimodalität bereits im Basismodell
Mistral Mistral Large, Mistral Nemo Tool Calling EU-basiert, DSGVO-konform, starke Performance bei strukturiertem Output
Cohere Command R+ Tool Use Optimiert für RAG + Tool Use Kombination in Enterprise

 

Tool Use in Produktionssystemen

Der Schritt von der Demo zur Produktion erfordert robuste Fehlerbehandlung:

  • Timeouts: Jede Tool-Ausführung sollte ein definiertes Timeout haben (Empfehlung: 5 bis 30 Sekunden je nach API). Das LLM muss mit Timeout-Fehlern als Ergebnis umgehen können.
  • Fallbacks: Wenn Tool A nicht verfügbar ist, sollte die Architektur einen Plan B kennen (alternatives Tool, Fehlermeldung an Nutzer, Warteschleife).
  • Retry-Logik: Transiente Fehler (HTTP 429, 503) sollten mit exponentiellem Backoff wiederholt werden, aber nicht endlos.
  • Logging & Tracing: Jeder Tool-Aufruf sollte mit Timestamp, Input, Output und Latenz protokolliert werden (für Debugging und Kostenanalyse).
  • Idempotenz: Schreibende Operationen (E-Mail senden, Zahlung auslösen) müssen idempotent gestaltet sein, um Doppelausführungen zu verhindern.

 

Sicherheitsaspekte bei Function Calling

Function Calling erweitert die Angriffsfläche von LLM-Anwendungen erheblich. Wichtige Schutzmaßnahmen:

  • Tool-Isolation: Tools sollten nur auf die Ressourcen zugreifen dürfen, die sie wirklich benötigen (Principle of Least Privilege). Ein Kalender-Tool braucht keinen Datenbankzugriff.
  • Berechtigungsmanagement: Nutzerkontext an Tools übergeben. Eine KI darf nicht im Namen eines Nutzers Aktionen durchführen, die dieser nicht genehmigt hat.
  • Prompt Injection verhindern: Externe Daten (Webseiteninhalt, E-Mail-Inhalt), die in den Kontext eingespeist werden, können bösartige Instruktionen enthalten. Sanitization und Isolation sind Pflicht.
  • Confirmation Gates: Für destruktive Aktionen (löschen, senden, zahlen) immer eine explizite Nutzerbestätigung einbauen, auch wenn das LLM sicher ist.

 

Function Calling als Basis für KI-Agenten

Function Calling ist der technische Unterbau für KI-Agenten und Multi-Agent-Systeme. Ein Agent ist ein LLM, das in einer Schleife operiert: Beobachten → Denken → Handeln (Tool Use) → Beobachten. Bekannte Frameworks:

  • OpenAI Assistants API: Managed Agent-Infrastruktur mit Code Interpreter, File Search und Custom Tools
  • LangChain Tools: Open-Source-Framework mit Hunderten von vordefinierten Tool-Integrationen
  • LlamaIndex Query Engines: Spezialisiert auf RAG + Tool Use über strukturierte Daten
  • AutoGen (Microsoft): Multi-Agent-Conversations mit spezialisierten Agenten-Rollen
  • Claude Tool Use: Native Anthropic-Implementierung mit besonders präziser Tool-Auswahl

 

Häufige Fragen zu Function Calling

Was ist der Unterschied zwischen Function Calling und normalen API-Aufrufen?

Bei normalen API-Aufrufen entscheidet ein Programmierer im Voraus, welche API wann aufgerufen wird. Die Logik ist hartkodiert. Beim Function Calling entscheidet das LLM dynamisch zur Laufzeit, welches Tool für die aktuelle Nutzeranfrage am geeignetsten ist. Das macht die Anwendung flexibel und natürlichsprachig steuerbar.

Wie verhindere ich Missbrauch durch Function Calling?

Durch strikte Berechtigungsmodelle (jedes Tool nur mit minimalem Scope), Confirmation Gates für destruktive Aktionen, Prompt-Injection-Schutz bei externen Daten und vollständiges Audit-Logging aller Tool-Aufrufe. Sensitive Operationen wie Zahlungen oder Datenlöschungen sollten immer eine menschliche Bestätigung erfordern.

Kann ein LLM unbegrenzt viele Tools nutzen?

Theoretisch ja, praktisch nein. Die meisten Modelle haben ein Kontextfenster-Limit, und zu viele Tool-Definitionen verschlechtern die Entscheidungsqualität des Modells. Best Practice: Maximal 15 bis 20 hochrelevante Tools pro Session. Bei größeren Tool-Bibliotheken dynamisch nur die kontextuell relevanten Tools einblenden (Tool Routing).

Was kostet Function Calling?

Function Calling selbst kostet keinen Aufpreis pro Aufruf; es wird über den normalen Token-Verbrauch abgerechnet. Tool-Definitionen und Tool-Ergebnisse verbrauchen Input-Token. Bei OpenAI GPT-4o liegen die Kosten bei ca. 2,50 USD pro 1 Million Input-Token. Wer viele komplexe Tool-Definitionen und große Ergebnisse hat, sollte die Token-Kosten kalkulieren.

 

Weiterführende Quellen

 

Verwandte Artikel

Mehr Zeit für dein Business?
Mit Prozessautomation!

Lass uns gemeinsam schauen, wie wir euch unterstützen können.
Unverbindlich und mit konkreten Handlungsideen!