web_search_20250305
, text_editor_20250124
) per garantire compatibilità tra le versioni del modello.Fornisci a Claude strumenti e un prompt utente
Claude decide di utilizzare uno strumento
stop_reason
di tool_use
, segnalando l’intenzione di Claude.Esegui lo strumento e restituisci i risultati
user
contenente un blocco di contenuto tool_result
Claude utilizza il risultato dello strumento per formulare una risposta
Fornisci a Claude strumenti e un prompt utente
Claude esegue lo strumento server
Claude utilizza il risultato dello strumento server per formulare una risposta
Esempio di strumento singolo
get_weather
con l’input fornito, e restituire il risultato in un nuovo messaggio user
:Uso di strumenti paralleli
tool_use
sono inclusi in un singolo messaggio assistant, e tutti i blocchi tool_result
corrispondenti devono essere forniti nel messaggio user successivo.Esempio di strumenti multipli
get_weather
che uno get_time
, insieme a una query utente che chiede entrambi.get_weather
, poi get_time
dopo aver ricevuto il risultato meteorologicotool_use
in una singola risposta quando le operazioni sono indipendentiuser
, con ogni risultato nel proprio blocco tool_result
.Informazioni mancanti
get_weather
sopra, se chiedi a Claude “Com’è il tempo?” senza specificare una posizione, Claude, in particolare Claude Sonnet, può fare una supposizione sui parametri degli strumenti:Strumenti sequenziali
get_location
per ottenere la posizione dell’utente, quindi passare quella posizione allo strumento get_weather
:get_location
per ottenere la posizione dell’utente. Dopo che restituisci la posizione in un tool_result
, Claude chiamerebbe poi get_weather
con quella posizione per ottenere la risposta finale.La conversazione completa potrebbe apparire così:Ruolo | Contenuto |
---|---|
User | Com’è il tempo dove mi trovo? |
Assistant | Troverò prima la tua posizione attuale, poi controllerò il tempo lì. [Uso strumento per get_location] |
User | [Risultato strumento per get_location con id corrispondente e risultato di San Francisco, CA] |
Assistant | [Uso strumento per get_weather con il seguente input]{ “location”: “San Francisco, CA”, “unit”: “fahrenheit” } |
User | [Risultato strumento per get_weather con id corrispondente e risultato di “59°F (15°C), per lo più nuvoloso”] |
Assistant | Basandomi sulla tua posizione attuale a San Francisco, CA, il tempo in questo momento è 59°F (15°C) e per lo più nuvoloso. È una giornata abbastanza fresca e coperta in città. Potresti voler portare una giacca leggera se stai uscendo. |
get_location
.get_location
effettiva e restituisce il risultato “San Francisco, CA” in un blocco tool_result
.get_weather
, passando “San Francisco, CA” come parametro location
(così come un parametro unit
indovinato, poiché unit
non è un parametro richiesto).get_weather
effettiva con gli argomenti forniti e restituisce i dati meteorologici in un altro blocco tool_result
.Uso di strumenti con catena di pensiero
Rispondi alla richiesta dell'utente utilizzando strumenti pertinenti (se sono disponibili). Prima di chiamare uno strumento, fai un'analisi. Prima, pensa a quale degli strumenti forniti è lo strumento pertinente per rispondere alla richiesta dell'utente. Secondo, esamina ciascuno dei parametri richiesti dello strumento pertinente e determina se l'utente ha fornito direttamente o dato abbastanza informazioni per inferire un valore. Quando decidi se il parametro può essere inferito, considera attentamente tutto il contesto per vedere se supporta un valore specifico. Se tutti i parametri richiesti sono presenti o possono essere ragionevolmente inferiti, procedi con la chiamata dello strumento. MA, se uno dei valori per un parametro richiesto manca, NON invocare la funzione (nemmeno con riempitivi per i parametri mancanti) e invece, chiedi all'utente di fornire i parametri mancanti. NON chiedere più informazioni sui parametri opzionali se non vengono forniti.
Modalità JSON
tool_choice
(vedi Forzare l’uso degli strumenti) per istruire il modello a utilizzare esplicitamente quello strumentoinput
allo strumento, quindi il nome dello strumento e la descrizione dovrebbero essere dalla prospettiva del modello.record_summary
per descrivere un’immagine seguendo un formato particolare.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
riportate.