Tool Calling, auch Function Calling oder Tool Use genannt, ist die Fähigkeit eines Sprachmodells, statt einer Textantwort einen strukturierten Aufruf einer Funktion auszugeben. Gemeint sind hier Funktionen, die Entwickler dem Modell zur Verfügung stellen, etwa eine Datenbankabfrage oder ein API-Aufruf. Das Modell führt die Funktion nicht selbst aus. Ausgeführt wird sie von der Anwendung oder vom Anbieter des Modells.
Auf einen Blick
- Art
- Fähigkeit von Sprachmodellen, strukturierte Funktionsaufrufe auszugeben
- Genutzt in
- OpenAI-API, Anthropic-API und weitere
- Ablauf
- Anfrage mit Tools, Tool Call, Ausführung durch die Anwendung, Ergebnis, Antwort
Stand:
Wie läuft ein Tool Call ab?
OpenAI beschreibt den Ablauf in fünf Schritten. Die Anwendung übermittelt dem Modell zuerst die Liste der verfügbaren Tools. Das Modell entscheidet anhand der Anfrage, ob und welches Tool es braucht, und liefert einen Aufruf mit Argumenten zurück. Die Anwendung führt die Funktion aus und sendet das Ergebnis an das Modell. Mit diesem Ergebnis formuliert das Modell die endgültige Antwort.
Jedes Tool wird mit Name, Beschreibung und einem JSON-Schema für die Parameter definiert. Die Definitionen zählen zum Kontext und verbrauchen Tokens. Bei Anthropic unterscheidet die Doku Client-Tools, die in der eigenen Anwendung laufen, und Server-Tools wie die Websuche, die auf der Infrastruktur des Anbieters laufen. Bei Client-Tools antwortet das Modell mit stop_reason: "tool_use", die Anwendung schickt das Ergebnis in einem tool_result zurück.
Beispiel
Eine Anwendung definiert ein Tool:
{
"name": "get_weather",
"description": "Get the current weather for a given location.",
"input_schema": {
"type": "object",
"properties": {
"location": { "type": "string" }
},
"required": ["location"]
}
}
Auf die Frage nach dem Wetter in San Francisco antwortet das Modell mit einem tool_use-Block, der get_weather und das Argument San Francisco, CA enthält. Die Anwendung ruft den Wetterdienst ab und gibt das Ergebnis zurück.
Tool Calling und MCP
Tool Calling beschreibt, wie ein Modell Funktionsaufrufe ausgibt. MCP legt fest, wie eine KI-Anwendung Tools von externen Servern findet und aufruft. In einer Anwendung mit MCP leitet der Host einen vom Modell erzeugten Tool Call an den passenden MCP-Server weiter und gibt das Ergebnis an das Modell zurück.
Häufige Fehler
- Unklare Namen und Beschreibungen. OpenAI rät zu klaren, ausführlichen Namen, Parameterbeschreibungen und Anweisungen.
- Zu viele Tools auf einmal. OpenAI nennt als Richtwert weniger als 20 anfangs verfügbare Funktionen. Die Definitionen zählen außerdem als Eingabe-Tokens.
- Pflichtangaben offenlassen. Fehlt dem Modell ein Pflichtparameter, kann es laut Anthropic-Doku einen plausiblen Wert annehmen, statt nachzufragen.
Häufige Fragen
Führt das Modell die Funktion selbst aus? Nein, bei Client-Tools führt die Anwendung sie aus. Server-Tools führt der Anbieter aus.
Ist Tool Calling dasselbe wie Function Calling? Die Anbieter verwenden die Begriffe für dasselbe Verfahren. Die Anthropic-Doku nennt Tool Use ausdrücklich „auch Function Calling“.
Quellen
- Function calling – OpenAI Developersdevelopers.openai.com
- Tool use with Claude – Anthropicplatform.claude.com
- Architecture overview – modelcontextprotocol.iomodelcontextprotocol.io
Stand: