Costruire con il pensiero esteso
Il pensiero esteso offre a Claude capacità di ragionamento migliorate per compiti complessi, fornendo diversi livelli di trasparenza nel suo processo di pensiero passo dopo passo prima di fornire la risposta finale.
Modelli supportati
Il pensiero esteso è supportato nei seguenti modelli:
- Claude Sonnet 4.5 (
claude-sonnet-4-5-20250929) - Claude Sonnet 4 (
claude-sonnet-4-20250514) - Claude Sonnet 3.7 (
claude-3-7-sonnet-20250219) (deprecato) - Claude Haiku 4.5 (
claude-haiku-4-5-20251001) - Claude Opus 4.1 (
claude-opus-4-1-20250805) - Claude Opus 4 (
claude-opus-4-20250514)
Il comportamento dell'API differisce tra i modelli Claude Sonnet 3.7 e Claude 4, ma le forme dell'API rimangono esattamente le stesse.
Per ulteriori informazioni, consulta Differenze nel pensiero tra le versioni dei modelli.
Come funziona il pensiero esteso
Quando il pensiero esteso è attivato, Claude crea blocchi di contenuto thinking in cui produce il suo ragionamento interno. Claude incorpora gli insegnamenti da questo ragionamento prima di formulare una risposta finale.
La risposta dell'API includerà blocchi di contenuto thinking, seguiti da blocchi di contenuto text.
Ecco un esempio del formato di risposta predefinito:
{
"content": [
{
"type": "thinking",
"thinking": "Lasciami analizzare questo passo dopo passo...",
"signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...."
},
{
"type": "text",
"text": "Sulla base della mia analisi..."
}
]
}Per ulteriori informazioni sul formato di risposta del pensiero esteso, consulta il Riferimento API dei Messaggi.
Come utilizzare il pensiero esteso
Ecco un esempio di utilizzo del pensiero esteso nell'API dei Messaggi:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data \
'{
"model": "claude-sonnet-4-5",
"max_tokens": 16000,
"thinking": {
"type": "enabled",
"budget_tokens": 10000
},
"messages": [
{
"role": "user",
"content": "Esiste un numero infinito di numeri primi tali che n mod 4 == 3?"
}
]
}'Per attivare il pensiero esteso, aggiungi un oggetto thinking, con il parametro type impostato su enabled e budget_tokens su un budget di token specificato per il pensiero esteso.
Il parametro budget_tokens determina il numero massimo di token che Claude può utilizzare per il suo processo di ragionamento interno. Nei modelli Claude 4, questo limite si applica ai token di pensiero completo, non all'output riassunto. Budget più grandi possono migliorare la qualità della risposta abilitando un'analisi più approfondita per problemi complessi, anche se Claude potrebbe non utilizzare l'intero budget allocato, specialmente in intervalli superiori a 32k.
budget_tokens deve essere impostato su un valore inferiore a max_tokens. Tuttavia, quando si utilizza il pensiero intercalato con strumenti, è possibile superare questo limite poiché il limite di token diventa l'intera finestra di contesto (200k token).
Pensiero riassunto
Con il pensiero esteso abilitato, l'API dei Messaggi per i modelli Claude 4 restituisce un riassunto del processo di pensiero completo di Claude. Il pensiero riassunto fornisce i vantaggi di intelligenza completa del pensiero esteso, prevenendo l'uso improprio.
Ecco alcune considerazioni importanti per il pensiero riassunto:
- Ti viene addebitato il numero completo di token di pensiero generati dalla richiesta originale, non i token di riepilogo.
- Il conteggio dei token di output fatturati non corrisponderà al conteggio dei token che vedi nella risposta.
- Le prime righe dell'output di pensiero sono più dettagliate, fornendo un ragionamento dettagliato che è particolarmente utile per scopi di ingegneria dei prompt.
- Mentre Anthropic cerca di migliorare la funzione di pensiero esteso, il comportamento di riepilogo è soggetto a modifiche.
- Il riepilogo preserva le idee chiave del processo di pensiero di Claude con una latenza aggiunta minima, abilitando un'esperienza utente trasmissibile e una migrazione facile da Claude Sonnet 3.7 ai modelli Claude 4.
- Il riepilogo viene elaborato da un modello diverso da quello che specifichi nelle tue richieste. Il modello di pensiero non vede l'output riassunto.
Claude Sonnet 3.7 continua a restituire l'output di pensiero completo.
Nei rari casi in cui hai bisogno di accesso all'output di pensiero completo per i modelli Claude 4, contatta il nostro team di vendita.
Pensiero in streaming
Puoi trasmettere risposte di pensiero esteso utilizzando server-sent events (SSE).
Quando lo streaming è abilitato per il pensiero esteso, ricevi contenuto di pensiero tramite eventi thinking_delta.
Per ulteriore documentazione sullo streaming tramite l'API dei Messaggi, consulta Messaggi in Streaming.
Ecco come gestire lo streaming con il pensiero:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data \
'{
"model": "claude-sonnet-4-5",
"max_tokens": 16000,
"stream": true,
"thinking": {
"type": "enabled",
"budget_tokens": 10000
},
"messages": [
{
"role": "user",
"content": "Quanto fa 27 * 453?"
}
]
}'Prova nella Console
Esempio di output in streaming:
event: message_start
data: {"type": "message_start", "message": {"id": "msg_01...", "type": "message", "role": "assistant", "content": [], "model": "claude-sonnet-4-5", "stop_reason": null, "stop_sequence": null}}
event: content_block_start
data: {"type": "content_block_start", "index": 0, "content_block": {"type": "thinking", "thinking": ""}}
event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "Lasciami risolvere questo passo dopo passo:\n\n1. Per prima cosa scomponi 27 * 453"}}
event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "\n2. 453 = 400 + 50 + 3"}}
// Delta di pensiero aggiuntivi...
event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "signature_delta", "signature": "EqQBCgIYAhIM1gbcDa9GJwZA2b3hGgxBdjrkzLoky3dl1pkiMOYds..."}}
event: content_block_stop
data: {"type": "content_block_stop", "index": 0}
event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "text", "text": ""}}
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "text_delta", "text": "27 * 453 = 12.231"}}
// Delta di testo aggiuntivi...
event: content_block_stop
data: {"type": "content_block_stop", "index": 1}
event: message_delta
data: {"type": "message_delta", "delta": {"stop_reason": "end_turn", "stop_sequence": null}}
event: message_stop
data: {"type": "message_stop"}Quando si utilizza lo streaming con il pensiero abilitato, potresti notare che il testo a volte arriva in blocchi più grandi alternati con una consegna token per token più piccola. Questo è il comportamento previsto, specialmente per il contenuto di pensiero.
Il sistema di streaming deve elaborare il contenuto in batch per prestazioni ottimali, il che può risultare in questo modello di consegna "frammentato", con possibili ritardi tra gli eventi di streaming. Stiamo continuamente lavorando per migliorare questa esperienza, con aggiornamenti futuri focalizzati sul rendere il contenuto di pensiero più fluido nello streaming.
Pensiero esteso con uso di strumenti
Il pensiero esteso può essere utilizzato insieme all'uso di strumenti, consentendo a Claude di ragionare sulla selezione degli strumenti e l'elaborazione dei risultati.
Quando si utilizza il pensiero esteso con l'uso di strumenti, tieni presente le seguenti limitazioni:
-
Limitazione della scelta dello strumento: L'uso di strumenti con il pensiero supporta solo
tool_choice: {"type": "auto"}(il valore predefinito) otool_choice: {"type": "none"}. L'utilizzo ditool_choice: {"type": "any"}otool_choice: {"type": "tool", "name": "..."}risulterà in un errore perché queste opzioni forzano l'uso dello strumento, che è incompatibile con il pensiero esteso. -
Preservazione dei blocchi di pensiero: Durante l'uso di strumenti, devi passare i blocchi
thinkingall'API per l'ultimo messaggio dell'assistente. Includi il blocco completo e non modificato all'API per mantenere la continuità del ragionamento.
Attivazione/disattivazione delle modalità di pensiero nelle conversazioni
Non puoi attivare/disattivare il pensiero nel mezzo di un turno dell'assistente, incluso durante i cicli di uso di strumenti. L'intero turno dell'assistente deve operare in una singola modalità di pensiero:
- Se il pensiero è abilitato, il turno finale dell'assistente deve iniziare con un blocco di pensiero.
- Se il pensiero è disabilitato, il turno finale dell'assistente non deve contenere alcun blocco di pensiero
Dal punto di vista del modello, i cicli di uso di strumenti fanno parte del turno dell'assistente. Un turno dell'assistente non si completa finché Claude non finisce la sua risposta completa, che può includere più chiamate di strumenti e risultati.
Ad esempio, questa sequenza fa parte di un singolo turno dell'assistente:
Utente: "Qual è il meteo a Parigi?"
Assistente: [pensiero] + [tool_use: get_weather]
Utente: [tool_result: "20°C, soleggiato"]
Assistente: [testo: "Il meteo a Parigi è 20°C e soleggiato"]Anche se ci sono più messaggi API, il ciclo di uso di strumenti è concettualmente parte di una risposta continua dell'assistente.
Scenari di errore comuni
Potresti incontrare questo errore:
Expected `thinking` or `redacted_thinking`, but found `tool_use`.
When `thinking` is enabled, a final `assistant` message must start
with a thinking block (preceding the lastmost set of `tool_use` and
`tool_result` blocks).Questo si verifica in genere quando:
- Avevi il pensiero disabilitato durante una sequenza di uso di strumenti
- Vuoi abilitare il pensiero di nuovo
- L'ultimo messaggio dell'assistente contiene blocchi di uso di strumenti ma nessun blocco di pensiero
Guida pratica
✗ Non valido: Attivazione/disattivazione del pensiero immediatamente dopo l'uso di strumenti
Utente: "Qual è il meteo?"
Assistente: [tool_use] (pensiero disabilitato)
Utente: [tool_result]
// Non puoi abilitare il pensiero qui - ancora nello stesso turno dell'assistente✓ Valido: Completa il turno dell'assistente per primo
Utente: "Qual è il meteo?"
Assistente: [tool_use] (pensiero disabilitato)
Utente: [tool_result]
Assistente: [testo: "È soleggiato"]
Utente: "E domani?" (pensiero disabilitato)
Assistente: [pensiero] + [testo: "..."] (pensiero abilitato - nuovo turno)Migliore pratica: Pianifica la tua strategia di pensiero all'inizio di ogni turno piuttosto che cercare di attivare/disattivare a metà turno.
L'attivazione/disattivazione delle modalità di pensiero invalida anche il caching dei prompt per la cronologia dei messaggi. Per ulteriori dettagli, consulta la sezione Pensiero esteso con caching dei prompt.
Preservazione dei blocchi di pensiero
Durante l'uso di strumenti, devi passare i blocchi thinking all'API, e devi includere il blocco completo e non modificato all'API. Questo è critico per mantenere il flusso di ragionamento del modello e l'integrità della conversazione.
Anche se puoi omettere i blocchi thinking dai turni precedenti del ruolo assistant, ti suggeriamo di passare sempre tutti i blocchi di pensiero all'API per qualsiasi conversazione multi-turno. L'API:
- Filtrerà automaticamente i blocchi di pensiero forniti
- Utilizzerà i blocchi di pensiero rilevanti necessari per preservare il ragionamento del modello
- Fatturerà solo i token di input per i blocchi mostrati a Claude
Quando attivi/disattivi le modalità di pensiero durante una conversazione, ricorda che l'intero turno dell'assistente (inclusi i cicli di uso di strumenti) deve operare in una singola modalità di pensiero. Per ulteriori dettagli, consulta Attivazione/disattivazione delle modalità di pensiero nelle conversazioni.
Quando Claude invoca strumenti, sta mettendo in pausa la costruzione di una risposta per attendere informazioni esterne. Quando vengono restituiti i risultati dello strumento, Claude continuerà a costruire quella risposta esistente. Questo rende necessario preservare i blocchi di pensiero durante l'uso di strumenti, per un paio di motivi:
-
Continuità del ragionamento: I blocchi di pensiero catturano il ragionamento passo dopo passo di Claude che ha portato alle richieste di strumenti. Quando pubblichi i risultati dello strumento, includere il pensiero originale assicura che Claude possa continuare il suo ragionamento da dove si era fermato.
-
Mantenimento del contesto: Mentre i risultati dello strumento appaiono come messaggi dell'utente nella struttura dell'API, fanno parte di un flusso di ragionamento continuo. Preservare i blocchi di pensiero mantiene questo flusso concettuale attraverso più chiamate API. Per ulteriori informazioni sulla gestione del contesto, consulta la nostra guida sulle finestre di contesto.
Importante: Quando fornisci blocchi thinking, l'intera sequenza di blocchi thinking consecutivi deve corrispondere agli output generati dal modello durante la richiesta originale; non puoi riordinare o modificare la sequenza di questi blocchi.
Pensiero intercalato
Il pensiero esteso con uso di strumenti nei modelli Claude 4 supporta il pensiero intercalato, che consente a Claude di pensare tra le chiamate di strumenti e fare un ragionamento più sofisticato dopo aver ricevuto i risultati dello strumento.
Con il pensiero intercalato, Claude può:
- Ragionare sui risultati di una chiamata di strumento prima di decidere cosa fare dopo
- Concatenare più chiamate di strumenti con passaggi di ragionamento nel mezzo
- Prendere decisioni più sfumate basate su risultati intermedi
Per abilitare il pensiero intercalato, aggiungi l'intestazione beta interleaved-thinking-2025-05-14 alla tua richiesta API.
Ecco alcune considerazioni importanti per il pensiero intercalato:
- Con il pensiero intercalato,
budget_tokenspuò superare il parametromax_tokens, poiché rappresenta il budget totale su tutti i blocchi di pensiero all'interno di un turno dell'assistente. - Il pensiero intercalato è supportato solo per strumenti utilizzati tramite l'API dei Messaggi.
- Il pensiero intercalato è supportato solo per i modelli Claude 4, con l'intestazione beta
interleaved-thinking-2025-05-14. - Le chiamate dirette all'API Claude ti consentono di passare
interleaved-thinking-2025-05-14nelle richieste a qualsiasi modello, senza effetto. - Su piattaforme di terze parti (ad es., Amazon Bedrock e Vertex AI), se passi
interleaved-thinking-2025-05-14a qualsiasi modello diverso da Claude Opus 4.1, Opus 4 o Sonnet 4, la tua richiesta avrà esito negativo.
Pensiero esteso con caching dei prompt
Il caching dei prompt con il pensiero ha diverse considerazioni importanti:
I compiti di pensiero esteso spesso richiedono più di 5 minuti per essere completati. Considera l'utilizzo della durata della cache di 1 ora per mantenere i cache hit su sessioni di pensiero più lunghe e flussi di lavoro multi-step.
Rimozione del contesto dei blocchi di pensiero
- I blocchi di pensiero dai turni precedenti vengono rimossi dal contesto, il che può influire sui punti di interruzione della cache
- Quando si continuano conversazioni con uso di strumenti, i blocchi di pensiero vengono memorizzati nella cache e contano come token di input quando letti dalla cache
- Questo crea un compromesso: mentre i blocchi di pensiero non consumano spazio nella finestra di contesto visivamente, contano comunque verso l'utilizzo dei token di input quando memorizzati nella cache
- Se il pensiero diventa disabilitato, le richieste falliranno se passi contenuto di pensiero nel turno di uso di strumenti corrente. In altri contesti, il contenuto di pensiero passato all'API viene semplicemente ignorato
Modelli di invalidazione della cache
- I cambiamenti ai parametri di pensiero (abilitato/disabilitato o allocazione del budget) invalidano i punti di interruzione della cache dei messaggi
- Il pensiero intercalato amplifica l'invalidazione della cache, poiché i blocchi di pensiero possono verificarsi tra più chiamate di strumenti
- I prompt di sistema e gli strumenti rimangono memorizzati nella cache nonostante i cambiamenti dei parametri di pensiero o la rimozione dei blocchi
Mentre i blocchi di pensiero vengono rimossi per il caching e i calcoli del contesto, devono essere preservati quando si continuano conversazioni con uso di strumenti, specialmente con pensiero intercalato.
Comprensione del comportamento di caching dei blocchi di pensiero
Quando si utilizza il pensiero esteso con uso di strumenti, i blocchi di pensiero mostrano un comportamento di caching specifico che influisce sul conteggio dei token:
Come funziona:
- Il caching si verifica solo quando effettui una richiesta successiva che include risultati di strumenti
- Quando viene effettuata la richiesta successiva, la cronologia della conversazione precedente (inclusi i blocchi di pensiero) può essere memorizzata nella cache
- Questi blocchi di pensiero memorizzati nella cache contano come token di input nelle tue metriche di utilizzo quando letti dalla cache
- Quando è incluso un blocco utente non-tool-result, tutti i blocchi di pensiero precedenti vengono ignorati e rimossi dal contesto
Esempio di flusso dettagliato:
Richiesta 1:
Utente: "Qual è il meteo a Parigi?"Risposta 1:
[thinking_block_1] + [tool_use block 1]Richiesta 2:
Utente: ["Qual è il meteo a Parigi?"],
Assistente: [thinking_block_1] + [tool_use block 1],
Utente: [tool_result_1, cache=True]Risposta 2:
[thinking_block_2] + [text block 2]La richiesta 2 scrive una cache del contenuto della richiesta (non della risposta). La cache include il messaggio utente originale, il primo blocco di pensiero, il blocco di uso dello strumento e il risultato dello strumento.
Richiesta 3:
Utente: ["Qual è il meteo a Parigi?"],
Assistente: [thinking_block_1] + [tool_use block 1],
Utente: [tool_result_1, cache=True],
Assistente: [thinking_block_2] + [text block 2],
Utente: [Text response, cache=True]Poiché è stato incluso un blocco utente non-tool-result, tutti i blocchi di pensiero precedenti vengono ignorati. Questa richiesta verrà elaborata come:
Utente: ["Qual è il meteo a Parigi?"],
Assistente: [tool_use block 1],
Utente: [tool_result_1, cache=True],
Assistente: [text block 2],
Utente: [Text response, cache=True]Punti chiave:
- Questo comportamento di caching accade automaticamente, anche senza marcatori
cache_controlespliciti - Questo comportamento è coerente sia che si utilizzi il pensiero regolare che il pensiero intercalato
Max token e dimensione della finestra di contesto con pensiero esteso
Nei modelli Claude più vecchi (precedenti a Claude Sonnet 3.7), se la somma dei token di prompt e max_tokens superava la finestra di contesto del modello, il sistema avrebbe regolato automaticamente max_tokens per adattarsi al limite di contesto. Ciò significava che potevi impostare un valore max_tokens grande e il sistema lo avrebbe silenziosamente ridotto secondo necessità.
Con i modelli Claude 3.7 e 4, max_tokens (che include il tuo budget di pensiero quando il pensiero è abilitato) viene applicato come limite rigoroso. Il sistema ora restituirà un errore di convalida se i token di prompt + max_tokens superano la dimensione della finestra di contesto.
Puoi leggere la nostra guida sulle finestre di contesto per un approfondimento più completo.
La finestra di contesto con pensiero esteso
Quando si calcola l'utilizzo della finestra di contesto con il pensiero abilitato, ci sono alcune considerazioni di cui essere consapevole:
- I blocchi di pensiero dai turni precedenti vengono rimossi e non contano verso la tua finestra di contesto
- Il pensiero del turno corrente conta verso il tuo limite
max_tokensper quel turno
Il diagramma sottostante dimostra la gestione specializzata dei token quando il pensiero esteso è abilitato:
La finestra di contesto effettiva viene calcolata come:
finestra di contesto =
(token di input correnti - token di pensiero precedenti) +
(token di pensiero + token di pensiero crittografati + token di output di testo)Ti consigliamo di utilizzare l'API di conteggio dei token per ottenere conteggi di token accurati per il tuo caso d'uso specifico, specialmente quando lavori con conversazioni multi-turno che includono il pensiero.
La finestra di contesto con pensiero esteso e uso di strumenti
Quando si utilizza il pensiero esteso con uso di strumenti, i blocchi di pensiero devono essere esplicitamente preservati e restituiti con i risultati dello strumento.
Il calcolo della finestra di contesto effettiva per il pensiero esteso con uso di strumenti diventa:
finestra di contesto =
(token di input correnti + token di pensiero precedenti + token di uso di strumenti) +
(token di pensiero + token di pensiero crittografati + token di output di testo)Il diagramma sottostante illustra la gestione dei token per il pensiero esteso con uso di strumenti:
Gestione dei token con pensiero esteso
Dato il comportamento della finestra di contesto e max_tokens con il pensiero esteso nei modelli Claude 3.7 e 4, potrebbe essere necessario:
- Monitorare e gestire più attivamente l'utilizzo dei token
- Regolare i valori
max_tokensman mano che la lunghezza del prompt cambia - Potenzialmente utilizzare gli endpoint di conteggio dei token più frequentemente
- Essere consapevole che i blocchi di pensiero precedenti non si accumulano nella tua finestra di contesto
Questo cambiamento è stato apportato per fornire un comportamento più prevedibile e trasparente, specialmente poiché i limiti di token massimi sono aumentati significativamente.
Crittografia del pensiero
Il contenuto di pensiero completo viene crittografato e restituito nel campo signature. Questo campo viene utilizzato per verificare che i blocchi di pensiero siano stati generati da Claude quando vengono passati di nuovo all'API.
È strettamente necessario inviare di nuovo i blocchi di pensiero solo quando si utilizzano strumenti con pensiero esteso. Altrimenti puoi omettere i blocchi di pensiero dai turni precedenti, o lasciare che l'API li rimuova per te se li passi di nuovo.
Se invii di nuovo i blocchi di pensiero, ti consigliamo di passare tutto come lo hai ricevuto per coerenza e per evitare potenziali problemi.
Ecco alcune considerazioni importanti sulla crittografia del pensiero:
- Quando si trasmettono risposte, la firma viene aggiunta tramite un
signature_deltaall'interno di un eventocontent_block_deltaappena prima dell'eventocontent_block_stop. - I valori
signaturesono significativamente più lunghi nei modelli Claude 4 rispetto ai modelli precedenti. - Il campo
signatureè un campo opaco e non deve essere interpretato o analizzato - esiste esclusivamente per scopi di verifica. - I valori
signaturesono compatibili tra le piattaforme (API Claude, Amazon Bedrock e Vertex AI). I valori generati su una piattaforma saranno compatibili con un'altra.
Redazione del pensiero
Occasionalmente il ragionamento interno di Claude verrà contrassegnato dai nostri sistemi di sicurezza. Quando ciò accade, crittografiamo parte o tutto il blocco thinking e lo restituiamo come blocco redacted_thinking. I blocchi redacted_thinking vengono decrittografati quando passati di nuovo all'API, consentendo a Claude di continuare la sua risposta senza perdere il contesto.
Quando costruisci applicazioni rivolte ai clienti che utilizzano il pensiero esteso:
- Sii consapevole che i blocchi di pensiero redatto contengono contenuto crittografato che non è leggibile dall'uomo
- Considera di fornire una semplice spiegazione come: "Parte del ragionamento interno di Claude è stata automaticamente crittografata per motivi di sicurezza. Questo non influisce sulla qualità delle risposte."
- Se mostri blocchi di pensiero agli utenti, puoi filtrare i blocchi redatti preservando i blocchi di pensiero normali
- Sii trasparente che l'utilizzo delle funzioni di pensiero esteso potrebbe occasionalmente risultare in una parte del ragionamento crittografato
- Implementa la gestione degli errori appropriata per gestire il pensiero redatto senza interrompere l'interfaccia utente
Ecco un esempio che mostra sia blocchi di pensiero normali che redatti:
{
"content": [
{
"type": "thinking",
"thinking": "Lasciami analizzare questo passo dopo passo...",
"signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...."
},
{
"type": "redacted_thinking",
"data": "EmwKAhgBEgy3va3pzix/LafPsn4aDFIT2Xlxh0L5L8rLVyIwxtE3rAFBa8cr3qpPkNRj2YfWXGmKDxH4mPnZ5sQ7vB9URj2pLmN3kF8/dW5hR7xJ0aP1oLs9yTcMnKVf2wRpEGjH9XZaBt4UvDcPrQ..."
},
{
"type": "text",
"text": "Sulla base della mia analisi..."
}
]
}Vedere blocchi di pensiero redatto nel tuo output è il comportamento previsto. Il modello può comunque utilizzare questo ragionamento redatto per informare le sue risposte mantenendo i guardrail di sicurezza.
Se hai bisogno di testare la gestione del pensiero redatto nella tua applicazione, puoi utilizzare questa stringa di test speciale come prompt: ANTHROPIC_MAGIC_STRING_TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CB
Quando passi i blocchi thinking e redacted_thinking all'API in una conversazione multi-turno, devi includere il blocco completo e non modificato per l'ultimo turno dell'assistente. Questo è critico per mantenere il flusso di ragionamento del modello. Ti suggeriamo di passare sempre tutti i blocchi di pensiero all'API. Per ulteriori dettagli, consulta la sezione Preservazione dei blocchi di pensiero sopra.
Differenze nel pensiero tra le versioni dei modelli
L'API dei Messaggi gestisce il pensiero diversamente tra i modelli Claude Sonnet 3.7 e Claude 4, principalmente nel comportamento di redazione e riepilogo.
Consulta la tabella sottostante per un confronto condensato:
| Funzione | Claude Sonnet 3.7 | Modelli Claude 4 |
|---|---|---|
| Output di pensiero | Restituisce l'output di pensiero completo | Restituisce il pensiero riassunto |
| Pensiero intercalato | Non supportato | Supportato con intestazione beta interleaved-thinking-2025-05-14 |
Prezzi
Il pensiero esteso utilizza lo schema di prezzo dei token standard:
| Modello | Token di input base | Scritture cache | Cache hit | Token di output |
|---|---|---|---|---|
| Claude Opus 4.1 | $15 / MTok | $18.75 / MTok | $1.50 / MTok | $75 / MTok |
| Claude Opus 4 | $15 / MTok | $18.75 / MTok | $1.50 / MTok | $75 / MTok |
| Claude Sonnet 4.5 | $3 / MTok | $3.75 / MTok | $0.30 / MTok | $15 / MTok |
| Claude Sonnet 4 | $3 / MTok | $3.75 / MTok | $0.30 / MTok | $15 / MTok |
| Claude Sonnet 3.7 | $3 / MTok | $3.75 / MTok | $0.30 / MTok | $15 / MTok |
Il processo di pensiero comporta addebiti per:
- Token utilizzati durante il pensiero (token di output)
- Blocchi di pensiero dal turno dell'assistente finale inclusi nelle richieste successive (token di input)
- Token di output di testo standard
Quando il pensiero esteso è abilitato, un prompt di sistema specializzato viene automaticamente incluso per supportare questa funzione.
Quando si utilizza il pensiero riassunto:
- Token di input: Token nella tua richiesta originale (esclude i token di pensiero dai turni precedenti)
- Token di output (fatturati): I token di pensiero originali che Claude ha generato internamente
- Token di output (visibili): I token di pensiero riassunti che vedi nella risposta
- Nessun addebito: Token utilizzati per generare il riepilogo
Il conteggio dei token di output fatturati non corrisponderà al conteggio visibile nella risposta. Ti viene addebitato il processo di pensiero completo, non il riepilogo che vedi.
Migliori pratiche e considerazioni per il pensiero esteso
Lavoro con budget di pensiero
- Ottimizzazione del budget: Il budget minimo è 1.024 token. Ti suggeriamo di iniziare con il minimo e aumentare il budget di pensiero in modo incrementale per trovare l'intervallo ottimale per il tuo caso d'uso. Conteggi di token più elevati abilitano un ragionamento più completo ma con rendimenti decrescenti a seconda del compito. L'aumento del budget può migliorare la qualità della risposta al costo di una latenza aumentata. Per compiti critici, testa diverse impostazioni per trovare l'equilibrio ottimale. Nota che il budget di pensiero è un obiettivo piuttosto che un limite rigoroso: l'utilizzo effettivo dei token può variare in base al compito.
- Punti di partenza: Inizia con budget di pensiero più grandi (16k+ token) per compiti complessi e regola in base alle tue esigenze.
- Budget grandi: Per budget di pensiero superiori a 32k, ti consigliamo di utilizzare l'elaborazione batch per evitare problemi di rete. Le richieste che spingono il modello a pensare oltre 32k token causano richieste di lunga durata che potrebbero scontrarsi con timeout di sistema e limiti di connessione aperta.
- Tracciamento dell'utilizzo dei token: Monitora l'utilizzo dei token di pensiero per ottimizzare i costi e le prestazioni.
Considerazioni sulle prestazioni
- Tempi di risposta: Sii preparato per potenziali tempi di risposta più lunghi a causa dell'elaborazione aggiuntiva richiesta per il processo di ragionamento. Tieni in considerazione che la generazione di blocchi di pensiero può aumentare il tempo di risposta complessivo.
- Requisiti di streaming: Lo streaming è richiesto quando
max_tokensè maggiore di 21.333. Quando lo streaming è abilitato, sii preparato a gestire sia i blocchi di contenuto di pensiero che di testo man mano che arrivano.
Compatibilità delle funzioni
- Il pensiero non è compatibile con le modifiche
temperatureotop_kcosì come con l'uso forzato di strumenti. - Quando il pensiero è abilitato, puoi impostare
top_psu valori tra 1 e 0.95. - Non puoi pre-riempire le risposte quando il pensiero è abilitato.
- I cambiamenti al budget di pensiero invalidano i prefissi di prompt memorizzati nella cache che includono messaggi. Tuttavia, i prompt di sistema e le definizioni di strumenti memorizzati nella cache continueranno a funzionare quando i parametri di pensiero cambiano.
Linee guida di utilizzo
- Selezione dei compiti: Utilizza il pensiero esteso per compiti particolarmente complessi che beneficiano del ragionamento passo dopo passo come matematica, codifica e analisi.
- Gestione del contesto: Non hai bisogno di rimuovere tu stesso i blocchi di pensiero precedenti. L'API Claude ignora automaticamente i blocchi di pensiero dai turni precedenti e non vengono inclusi nel calcolo dell'utilizzo del contesto.
- Ingegneria dei prompt: Consulta i nostri suggerimenti di prompt per il pensiero esteso se vuoi massimizzare le capacità di pensiero di Claude.