Extended Thinking ed Effort
Per i problemi difficili, Claude può spendere calcolo aggiuntivo ragionando prima di rispondere — migliorando l'accuratezza sui ragionamenti multi-step, sul codice complicato e sulla matematica. Tu controlli grossomodo quanto effort spendere. Questa lezione ti insegna ad adattare la profondità al task, ad attivare il thinking tramite l'API e a dosarlo senza pagare troppo.
- Spiegare il trade-off: meno thinking è più veloce ed economico, più thinking è migliore sui problemi difficili
- Scegliere il giusto livello di effort (Basso / Medio / Alto) per un dato carico di lavoro
- Abilitare l'extended thinking sulla Messages API e rileggere i blocchi di thinking e di testo
- Dosare correttamente i token di thinking in modo che budget_tokens resti sotto max_tokens
- Applicare l'effort con criterio negli agenti e insieme al prompting chain-of-thought
L'unica idea dietro l'effort
Il thinking è una manopola, non un interruttore. Immagina i due estremi:
- Meno thinking = più veloce, più economico — va bene per task semplici e ben specificati.
- Più thinking = migliore sui problemi davvero difficili, a costo di maggiore latenza/costo.
Ecco il tranello in cui molti inciampano: il thinking aggiuntivo non fa nulla per un task che era già facile. Paghi solo latenza e costo. L'abilità sta nello spendere profondità dove cambia la risposta.
I modelli più recenti espongono tutto questo come un controllo di effort (e adattano automaticamente la profondità del thinking); su questi, scegli un livello invece di un budget grezzo di token. Adatta il livello al task.
Passo 1 — Scegli la tua profondità
Prima di toccare qualsiasi codice, chiediti: quanto è difficile questo task, davvero? Mappalo su un livello.
| Task | Effort suggerito |
|---|---|
| Formattazione, estrazione, semplici domande e risposte | Basso |
| Coding quotidiano, stesura di bozze, analisi | Medio |
| Debugging difficile, algoritmi complicati, dimostrazioni accurate | Alto |
- Non impostare tutto al massimo per default — paghi in latenza e costo per un thinking di cui il task non ha bisogno.
- Parti dal medio; alzalo solo dove la qualità lo richiede.
Provaci tu stesso: prima di continuare a leggere, classifica questi tre — (a) "estrai l'email da questo testo", (b) "rifattorizza questa funzione", (c) "dimostra questa disuguaglianza". Quale livello si adatta a ciascuno? Verifica le tue risposte con la tabella qui sopra.
Passo 2 — Attivalo (API)
Sulla Messages API, abilita il thinking con un blocco thinking e un budget di token. Segui questi passaggi.
- Passa thinking={"type": "enabled", "budget_tokens": N} a messages.create per abilitare il ragionamento esteso.
- Il budget viene attinto dallo stesso pool di output, quindi budget_tokens deve essere inferiore a max_tokens.
- La risposta torna come un blocco di thinking seguito dal testo della risposta — itera su message.content e gestisci ciascun block.type.
Ora collega il tutto. Copia questo, eseguilo e osserva la risposta arrivare come due blocchi — prima il ragionamento, poi la risposta.
Abilita l'extended thinking (Python)
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "Prove that 2^n > n^2 for all n >= 5."}],
)
for block in message.content:
if block.type == "thinking":
print("REASONING:", block.thinking)
elif block.type == "text":
print("ANSWER:", block.text)Un budget più grande compra più spazio per ragionare, non la garanzia che Claude lo usi tutto — la profondità si adatta al problema. Imposta il budget come un tetto massimo, poi abbassalo se la latenza diventa un problema. Gli ID dei modelli provengono dalla tabella dei modelli; la forma esatta del parametro può differire sui modelli più recenti, quindi verifica con la fonte linkata qui sopra.
Passo 3 — Usalo bene nella pratica
Tre abitudini separano chi abilita il thinking da chi lo padroneggia:
- L'extended thinking si abbina bene al prompting chain-of-thought — ma sui modelli di ragionamento spesso non serve chiedere di procedere passo passo; il thinking avviene internamente.
- Il thinking consuma token, il che incide sul costo — dosalo di conseguenza.
- Per gli agenti, più effort sullo step di pianificazione e meno sulle chiamate di routine agli strumenti è una buona ripartizione.
- Effort/thinking scambiano latenza e costo con accuratezza sui problemi difficili — non fanno nulla per task già semplici.
- Livelli: Basso per formattazione/estrazione/semplici domande e risposte, Medio per coding/stesura/analisi quotidiani, Alto per debugging difficile/algoritmi/dimostrazioni.
- Sulla Messages API, budget_tokens viene attinto dallo stesso pool di output, quindi deve essere inferiore a max_tokens; la risposta è un blocco di thinking seguito da un blocco di testo.
- Tratta il budget come un tetto massimo, non come un obiettivo — Claude usa solo quanto serve al problema.
- Negli agenti, spendi effort sulla pianificazione e risparmialo sulle chiamate di routine agli strumenti.
Fissalo bene
Un rapido ripasso prima di andare — gira ogni carta e rispondi ad alta voce.