Was this page helpful?
L'impostazione di strict: true su una definizione di strumento utilizza il campionamento vincolato dalla grammatica per garantire che gli input degli strumenti di Claude corrispondano al tuo schema JSON. Questa pagina spiega perché la modalità rigorosa è importante per gli agenti, come abilitarla e i casi d'uso comuni. Per il sottoinsieme di schema JSON supportato, vedi Limitazioni dello schema JSON. Per indicazioni su schema non rigoroso, vedi Definire gli strumenti.
L'utilizzo rigoroso degli strumenti convalida i parametri dello strumento, assicurando che Claude chiami le tue funzioni con argomenti correttamente tipizzati. Usa l'utilizzo rigoroso degli strumenti quando hai bisogno di:
La costruzione di sistemi agentici affidabili richiede la conformità dello schema garantita. Senza la modalità rigorosa, Claude potrebbe restituire tipi incompatibili ("2" invece di 2) o campi obbligatori mancanti, interrompendo le tue funzioni e causando errori di runtime.
L'utilizzo rigoroso degli strumenti garantisce parametri type-safe:
Ad esempio, supponiamo che un sistema di prenotazione abbia bisogno di passengers: int. Senza la modalità rigorosa, Claude potrebbe fornire passengers: "two" o passengers: "2". Con strict: true, la risposta conterrà sempre passengers: 2.
Formato della risposta: Blocchi di utilizzo dello strumento con input convalidati in response.content[x].input
{
"type": "tool_use",
"name": "get_weather",
"input": {
"location": "San Francisco, CA"
}
}Garanzie:
input dello strumento segue rigorosamente l'input_schemaname dello strumento è sempre valido (dagli strumenti forniti o dagli strumenti del server)Definisci lo schema del tuo strumento
Crea uno schema JSON per l'input_schema del tuo strumento. Lo schema utilizza il formato standard dello schema JSON con alcune limitazioni (vedi Limitazioni dello schema JSON).
Aggiungi strict: true
Imposta "strict": true come proprietà di primo livello nella definizione del tuo strumento, insieme a name, description e input_schema.
Gestisci le chiamate dello strumento
Quando Claude utilizza lo strumento, il campo input nel blocco tool_use seguirà rigorosamente il tuo input_schema, e il name sarà sempre valido.
L'uso rigoroso degli strumenti compila le definizioni di input_schema degli strumenti in grammatiche utilizzando la stessa pipeline degli output strutturati. Gli schemi degli strumenti vengono memorizzati temporaneamente nella cache per un massimo di 24 ore dall'ultimo utilizzo. I prompt e le risposte non vengono conservati oltre la risposta dell'API.
L'uso rigoroso degli strumenti è idoneo per HIPAA, ma le PHI non devono essere incluse nelle definizioni dello schema degli strumenti. L'API memorizza nella cache gli schemi compilati separatamente dal contenuto dei messaggi, e questi schemi memorizzati nella cache non ricevono le stesse protezioni PHI dei prompt e delle risposte. Non includere PHI nei nomi delle proprietà di input_schema, nei valori di enum, nei valori di const o nelle espressioni regolari di pattern. Le PHI devono apparire solo nel contenuto dei messaggi (prompt e risposte), dove sono protette dalle garanzie di sicurezza HIPAA.
Per l'idoneità ZDR e HIPAA in tutte le funzionalità, consulta Conservazione dell'API e dei dati.
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-4-6",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "What is the weather in San Francisco?"}
],
"tools": [{
"name": "get_weather",
"description": "Get the current weather in a given location",
"strict": true,
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["location"],
"additionalProperties": false
}
}]
}'