Sofortantwort
Function Calling einfach erklärt
LLMs generieren strukturierte Aufrufe für externe Tools und APIs.
- Kurz gesagt
- LLM generiert strukturierte JSON-Aufrufe statt nur Text
- Typischer Einsatz
- API-Integration, Datenbank-Abfragen, Multi-Tool Agents
- Wichtig zu wissen
- Grundlage für Agents und Tool Use in modernen KI-Anwendungen
Function Calling im Überblick
Function Calling ermöglicht LLMs, strukturierte Funktionsaufrufe zu generieren statt nur Text. Das Modell entscheidet, welche Funktion mit welchen Parametern aufgerufen werden soll – deine Anwendung führt sie aus.
Warum ist das wichtig?
Ohne Function Calling kann ein LLM nur Text ausgeben. Mit Function Calling kann es Aktionen auslösen: E-Mails senden, Termine buchen, Daten abfragen, Berechnungen durchführen.
Der Ablauf:
1. Du definierst verfügbare Funktionen (JSON Schema)
2. User fragt: "Wie ist das Wetter in Berlin?"
3. LLM generiert: {"name": "get_weather", "arguments": {"city": "Berlin"}}
4. Deine App ruft die Wetter-API auf
5. Ergebnis geht zurück ans LLM
6. LLM antwortet: "In Berlin sind es 18°C und sonnig."
Technisch betrachtet
Funktionsdefinition
{
"name": "get_weather",
"description": "Ruft aktuelle Wetterdaten für eine Stadt ab",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Name der Stadt"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"default": "celsius"
}
},
"required": ["city"]
}
}
Parallel Function Calling
Moderne APIs unterstützen mehrere Funktionsaufrufe gleichzeitig:
User: "Wie ist das Wetter in Berlin und München?"
LLM: [
{"name": "get_weather", "arguments": {"city": "Berlin"}},
{"name": "get_weather", "arguments": {"city": "München"}}
]
Best Practices
- Klare Beschreibungen: Je besser die Funktionsbeschreibung, desto zuverlässiger die Auswahl
- Validierung: Alle Parameter vor Ausführung prüfen
- Fehlerbehandlung: Was passiert, wenn die Funktion fehlschlägt?
- Timeouts: Externe APIs können langsam sein – Timeouts setzen
Schritt für Schritt
Vom Wunsch zur sicheren Tool-Ausführung
Das Modell führt eine Funktion nicht selbst aus. Es erzeugt einen strukturierten Vorschlag, den die Anwendung prüft und ausführt.
Werkzeuge beschreiben
Schema
Die Anwendung definiert Name, Zweck, erlaubte Parameter und erwartete Rückgabe für jede Funktion.
Funktion + Parameter + RegelnAufruf vorschlagen
Entscheidung
Aus Nutzereingabe und verfügbaren Werkzeugen wählt das Modell eine Funktion und füllt Argumente strukturiert aus.
Anfrage → Tool-Name + ArgumenteServerseitig validieren
Sicherheit
Die Anwendung prüft Schema, Berechtigungen, Geschäftsregeln und gegebenenfalls eine menschliche Freigabe.
Vorschlag → erlauben, ändern oder ablehnenErgebnis zurückgeben
Rückgabe
Das Tool liefert ein strukturiertes Ergebnis zurück. Erst dann formuliert das Modell eine Antwort oder plant den nächsten Schritt.
Tool-Ergebnis → Modell → Antwort
Konkretes Beispiel
Beispiel: Einen Termin suchen
Eine Person fragt nach einem freien Termin in der kommenden Woche.
Nur Textantwort
Das Modell kann mögliche Zeiten vorschlagen, kennt aber den tatsächlichen Kalender nicht.
Function Calling mit Kontrolle
Das Modell schlägt eine Kalenderabfrage mit Zeitraum vor. Die Anwendung prüft den Zugriff, fragt den Kalender ab und gibt freie Zeiten zurück.
Der strukturierte Aufruf verbessert Zuverlässigkeit, aber die Anwendung bleibt verantwortlich für Rechte, Validierung und die echte Aktion.
Einordnung
Vorteile und Grenzen
Das spricht dafür
- Verbindet natürliche Sprache mit APIs, Datenbanken und Berechnungen.
- Erlaubt strukturierte Übergaben statt fehleranfälligem Textparsing.
- Macht Tool-Nutzung für Agenten und Workflows planbar.
- Kann mehrere unabhängige Abfragen klar voneinander trennen.
Das solltest du beachten
- Das Modell kann falsche Funktionen oder unpassende Argumente vorschlagen.
- Schemas allein ersetzen keine Rechte- und Geschäftslogik.
- Extern ausgeführte Aktionen brauchen Fehlerbehandlung und Nachvollziehbarkeit.
- Komplexe Tools benötigen klare Beschreibungen und sorgfältige Tests.
Vertiefung · für FortgeschritteneVerantwortlichkeiten beim Function Calling
Das Modell schlägt vor; die Anwendung entscheidet und führt aus.
Strukturierter Vorschlag