Loading...
    • Costruisci
    • Admin
    • Modelli e prezzi
    • Client SDK
    • Riferimento API
    Search...
    ⌘K
    Primi passi
    Introduzione a ClaudeAvvio rapido
    Costruire con Claude
    Panoramica delle funzionalitàUtilizzo delle Messages APIGestione dei motivi di arresto
    Capacità del modello
    Ragionamento estesoRagionamento adattivoImpegnoModalità rapida (beta: anteprima di ricerca)Output strutturatiCitazioniMessaggi in streamingElaborazione batchRisultati di ricercaRifiuti in streamingSupporto multilingueEmbeddings
    Strumenti
    PanoramicaCome funziona l'uso degli strumentiStrumento di ricerca webStrumento di recupero webStrumento di esecuzione del codiceStrumento di memoriaStrumento BashStrumento di utilizzo del computerStrumento editor di testo
    Infrastruttura degli strumenti
    Ricerca strumentiChiamata programmatica degli strumentiStreaming granulare degli strumenti
    Gestione del contesto
    Finestre di contestoCompattazioneModifica del contestoCaching dei promptConteggio dei token
    Lavorare con i file
    Files APISupporto PDFImmagini e visione
    Skills
    PanoramicaAvvio rapidoBest practiceSkills per l'impresaSkills nell'API
    MCP
    Server MCP remotiConnettore MCP
    Prompt engineering
    PanoramicaBest practice per i promptStrumenti di prompting in Console
    Testa e valuta
    Definisci il successo e crea valutazioniUtilizzo dello strumento di valutazione in ConsoleRiduzione della latenza
    Rafforzare i guardrail
    Ridurre le allucinazioniAumentare la coerenza dell'outputMitigare i jailbreakRidurre la perdita di prompt
    Risorse
    Glossario
    Note di rilascio
    Claude Platform
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Documentation

    Utilizzo rigoroso degli strumenti

    Applica la conformità dello schema JSON agli input degli strumenti di Claude con campionamento vincolato dalla grammatica.

    Was this page helpful?

    • Perché l'utilizzo rigoroso degli strumenti è importante per gli agenti
    • Avvio rapido
    • Come funziona
    • Casi d'uso comuni
    • Conservazione dei dati

    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:

    • Convalidare i parametri dello strumento
    • Costruire flussi di lavoro agentici
    • Garantire chiamate di funzione type-safe
    • Gestire strumenti complessi con proprietà annidate

    Perché l'utilizzo rigoroso degli strumenti è importante per gli agenti

    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:

    • Le funzioni ricevono argomenti correttamente tipizzati ogni volta
    • Nessuna necessità di convalidare e riprovare le chiamate dello strumento
    • Agenti pronti per la produzione che funzionano in modo coerente su larga scala

    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.

    Avvio rapido

    Formato della risposta: Blocchi di utilizzo dello strumento con input convalidati in response.content[x].input

    Output
    {
      "type": "tool_use",
      "name": "get_weather",
      "input": {
        "location": "San Francisco, CA"
      }
    }

    Garanzie:

    • L'input dello strumento segue rigorosamente l'input_schema
    • Il name dello strumento è sempre valido (dagli strumenti forniti o dagli strumenti del server)

    Come funziona

    1. 1

      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).

    2. 2

      Aggiungi strict: true

      Imposta "strict": true come proprietà di primo livello nella definizione del tuo strumento, insieme a name, description e input_schema.

    3. 3

      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.

    Casi d'uso comuni

    Conservazione dei dati

    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
          }
        }]
      }'