web_search_20250305
, text_editor_20250124
), um die Kompatibilität zwischen Modellversionen zu gewährleisten.Stellen Sie Claude Tools und eine Benutzeraufforderung zur Verfügung
Claude entscheidet, ein Tool zu verwenden
stop_reason
von tool_use
, der Claudes Absicht signalisiert.Führen Sie das Tool aus und geben Sie Ergebnisse zurück
user
-Nachricht zurück, die einen tool_result
-Inhaltsblock enthältClaude verwendet das Tool-Ergebnis, um eine Antwort zu formulieren
Stellen Sie Claude Tools und eine Benutzeraufforderung zur Verfügung
Claude führt das Server-Tool aus
Claude verwendet das Server-Tool-Ergebnis, um eine Antwort zu formulieren
Einzelnes Tool-Beispiel
get_weather
-Funktion mit der bereitgestellten Eingabe ausführen und das Ergebnis in einer neuen user
-Nachricht zurückgeben:Parallele Tool-Nutzung
tool_use
-Blöcke in einer einzigen Assistant-Nachricht enthalten, und alle entsprechenden tool_result
-Blöcke müssen in der nachfolgenden Benutzer-Nachricht bereitgestellt werden.Mehrere Tools-Beispiel
get_weather
- als auch einem get_time
-Tool, zusammen mit einer Benutzeranfrage, die nach beiden fragt.get_weather
aufrufen, dann get_time
nach Erhalt des Wetterergebnissestool_use
-Blöcke in einer einzigen Antwort ausgeben, wenn die Operationen unabhängig sinduser
-Nachricht zurückgeben, wobei jedes Ergebnis in seinem eigenen tool_result
-Block steht.Fehlende Informationen
get_weather
-Tool Claude fragen “Wie ist das Wetter?” ohne einen Ort anzugeben, kann Claude, insbesondere Claude Sonnet, eine Vermutung über Tool-Eingaben anstellen:Sequenzielle Tools
get_location
-Tools, um den Standort des Benutzers zu erhalten, und dann diesen Standort an das get_weather
-Tool zu übergeben:get_location
-Tool aufrufen, um den Standort des Benutzers zu erhalten. Nachdem Sie den Standort in einem tool_result
zurückgegeben haben, würde Claude dann get_weather
mit diesem Standort aufrufen, um die endgültige Antwort zu erhalten.Die vollständige Unterhaltung könnte so aussehen:Rolle | Inhalt |
---|---|
Benutzer | Wie ist das Wetter dort, wo ich bin? |
Assistant | Ich werde zuerst Ihren aktuellen Standort finden und dann das Wetter dort überprüfen. [Tool-Nutzung für get_location] |
Benutzer | [Tool-Ergebnis für get_location mit passender ID und Ergebnis San Francisco, CA] |
Assistant | [Tool-Nutzung für get_weather mit der folgenden Eingabe]{ “location”: “San Francisco, CA”, “unit”: “fahrenheit” } |
Benutzer | [Tool-Ergebnis für get_weather mit passender ID und Ergebnis “59°F (15°C), größtenteils bewölkt”] |
Assistant | Basierend auf Ihrem aktuellen Standort in San Francisco, CA, ist das Wetter gerade 59°F (15°C) und größtenteils bewölkt. Es ist ein ziemlich kühler und bedeckter Tag in der Stadt. Sie sollten vielleicht eine leichte Jacke mitnehmen, wenn Sie nach draußen gehen. |
get_location
-Tool auf.get_location
-Funktion aus und gibt das Ergebnis “San Francisco, CA” in einem tool_result
-Block zurück.get_weather
-Tool auf und übergibt “San Francisco, CA” als location
-Parameter (sowie einen geratenen unit
-Parameter, da unit
kein erforderlicher Parameter ist).get_weather
-Funktion mit den bereitgestellten Argumenten aus und gibt die Wetterdaten in einem weiteren tool_result
-Block zurück.Chain of Thought Tool-Nutzung
Beantworten Sie die Anfrage des Benutzers mit relevanten Tools (falls verfügbar). Bevor Sie ein Tool aufrufen, führen Sie eine Analyse durch. Denken Sie zuerst darüber nach, welches der bereitgestellten Tools das relevante Tool ist, um die Anfrage des Benutzers zu beantworten. Zweitens, gehen Sie jeden der erforderlichen Parameter des relevanten Tools durch und bestimmen Sie, ob der Benutzer direkt bereitgestellt oder genügend Informationen gegeben hat, um einen Wert zu schließen. Bei der Entscheidung, ob der Parameter geschlossen werden kann, berücksichtigen Sie sorgfältig den gesamten Kontext, um zu sehen, ob er einen bestimmten Wert unterstützt. Wenn alle erforderlichen Parameter vorhanden sind oder vernünftig geschlossen werden können, fahren Sie mit dem Tool-Aufruf fort. ABER, wenn einer der Werte für einen erforderlichen Parameter fehlt, rufen Sie die Funktion NICHT auf (auch nicht mit Füllern für die fehlenden Parameter) und bitten Sie stattdessen den Benutzer, die fehlenden Parameter bereitzustellen. Fragen Sie NICHT nach weiteren Informationen zu optionalen Parametern, wenn sie nicht bereitgestellt werden.
JSON-Modus
tool_choice
setzen (siehe Tool-Nutzung erzwingen), um das Modell anzuweisen, dieses Tool explizit zu verwendeninput
an das Tool weitergibt, also sollten der Name des Tools und die Beschreibung aus der Perspektive des Modells sein.record_summary
-Tool, um ein Bild in einem bestimmten Format zu beschreiben.tools
parameter)tools
parameter in API requests (tool names, descriptions, and schemas)tool_use
content blocks in API requests and responsestool_result
content blocks in API requeststools
, we also automatically include a special system prompt for the model which enables tool use. The number of tool use tokens required for each model are listed below (excluding the additional tokens listed above). Note that the table assumes at least 1 tool is provided. If no tools
are provided, then a tool choice of none
uses 0 additional system prompt tokens.
Model | Tool choice | Tool use system prompt token count |
---|---|---|
Claude Opus 4.1 | auto , none any , tool | 346 tokens 313 tokens |
Claude Opus 4 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 4 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 3.7 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 3.5 (Oct) (deprecated) | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 3.5 (June) (deprecated) | auto , none any , tool | 294 tokens 261 tokens |
Claude Haiku 3.5 | auto , none any , tool | 264 tokens 340 tokens |
Claude Opus 3 (deprecated) | auto , none any , tool | 530 tokens 281 tokens |
Claude Sonnet 3 | auto , none any , tool | 159 tokens 235 tokens |
Claude Haiku 3 | auto , none any , tool | 264 tokens 340 tokens |
usage
-Metriken aus.