Startseite / Dokumentation / Tool-Nutzung und Funktionsaufrufe

Tool-Nutzung und Funktionsaufrufe

Lassen Sie ein Modell Ihre Funktionen aufrufen — die Anfrageschleife, beide Formate und die Fehler, die Tokens kosten.

Durch Tool-Nutzung kann das Modell Sie auffordern, eine Funktion auszuführen, und anschließend mit dem Ergebnis fortfahren. Dieser Mechanismus steckt hinter jedem Coding-Agenten.

Der Ablauf

  1. Sie senden messages zusammen mit tools zur Beschreibung der verfügbaren Möglichkeiten.
  2. Das Modell antwortet mit einem stop_reason: tool_use und ein tool_use Block, der das Tool und seine Argumente angibt.
  3. Sie führen es aus — das Gateway führt Ihren Code niemals aus.
  4. Sie senden den gesamten Verlauf zusammen mit einem tool_result Block zurück.
  5. Das Modell erstellt seine endgültige Antwort oder fordert ein weiteres Tool an.

Tools definieren (Messages-Format)

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "tools": [{
    "name": "get_weather",
    "description": "Current weather for a city. Use when the user asks about weather.",
    "input_schema": {
      "type": "object",
      "properties": {"city": {"type": "string", "description": "City name"}},
      "required": ["city"]
    }
  }],
  "messages": [{"role": "user", "content": "Weather in Paris?"}]
}

Ein Ergebnis zurückgeben

{
  "role": "user",
  "content": [{
    "type": "tool_result",
    "tool_use_id": "toolu_01ABC...",
    "content": "18C, light rain"
  }]
}
tool_result wird in einer Nachricht mit der Rolle eingefügt userund tool_use_id muss exakt mit der ID aus der Anfrage des Modells übereinstimmen. Nicht übereinstimmende IDs werden als ungültige Anfrage zurückgewiesen.

OpenAI-Format

Das /v1/chat/completions Endpunkt verwendet das OpenAI- tools / tool_calls Format stattdessen, wobei Ergebnisse als Nachrichten mit der Rolle zurückgegeben werden tool.

Was die Tool-Nutzung kostet

Tool-Schemas bleiben über mehrere Durchläufe hinweg unverändert und eignen sich daher gut als Prompt-Caching Kandidat neben dem System-Prompt.