Riduci il consumo di token (e i costi)
Paghi per ogni token in ingresso e per ogni token in uscita. La buona notizia: la maggior parte dei carichi di lavoro reali porta con sé peso morto — system prompt gonfi, contesto rinviato di continuo, risposte prolisse, il modello sbagliato per un compito facile. Eliminalo e il conto cala senza intaccare la qualità. Questa pagina è il toolkit per power user, ordinato grossomodo per leva.
- Dove i token si disperdono davvero — input vs output vs contesto riutilizzato
- Lo stile stringato / 'caveman': cosa risparmia davvero, e dove si ritorce contro
- Prompt caching e batching per risparmi strutturali a parità di dollaro
- Dimensionare correttamente il modello (Haiku per i compiti economici) e l'output strutturato al posto della prosa
- Misurare prima di andare in produzione con l'endpoint di conteggio dei token
Prima di tutto, trova dove finiscono i token
Prima di ottimizzare, suddividi la spesa in tre secchi — ognuno ha un rimedio diverso:
I rimedi si allineano in modo pulito: metti in cache il contesto riutilizzato, sfoltisci l'input, accorcia l'output, dimensiona correttamente il modello e raggruppa in batch ciò che non è urgente.
Lo stile stringato / "caveman" (risparmi sull'output)
La mossa virale è dire a Claude di eliminare il riempitivo e rispondere a frammenti — resa popolare dalla skill open-source per Claude Code caveman (con licenza MIT, di Julius Brussee), il cui slogan è "why use many token when few token do trick". Impone frasi brevi, verbi all'infinito e zero convenevoli.
La conclusione onesta dai test indipendenti: lo stile non costa nulla sul contenuto (codice, termini tecnici, JSON restano esatti) ma i risparmi dipendono interamente dalla tua baseline. Se i tuoi prompt dicono già "sii conciso", gran parte del guadagno è già incassata. Le riduzioni grosse (40–65%) si vedono nelle risposte ricche di spiegazioni; l'estrazione strutturata si muove a malapena.
Blocco di istruzioni snello — incollalo nel tuo system prompt
Answer terse. Cut filler, hedging, and pleasantries. Drop articles (a/an/the) and softeners (just, really, basically, actually). No preamble, no restating the question, no "happy to help." Fragments are fine. Keep technical terms and code blocks exact. Pattern per point: [thing] [action] [reason]. Next step if any.
- Metti la regola stringata una sola volta nel system prompt, non in ogni turno dell'utente — ripeterla ti fa ripagare il costo dell'input a ogni chiamata.
- Non comprimere mai codice, identificatori, JSON o numeri. Comprimi solo la prosa.
- 'Be concise. Return JSON only.' è di per sé circa il 60% del risparmio di output ottenibile — scrivilo prima di ricorrere a trucchi più sofisticati.
- Lo stile stringato riduce solo l'OUTPUT. Non fa nulla per un system prompt da 20k token che rinvii a ogni chiamata — quello è un problema di input/caching.
- Sui task con extended thinking, i token di ragionamento non sono toccati; riduci solo la risposta finale visibile.
Metti in cache il prefisso riutilizzato (risparmi sull'input)
Se molte chiamate condividono un grande blocco immutabile — un system prompt lungo, un catalogo di tool, un documento di riferimento — il prompt caching lo elabora una volta e lo riutilizza a una frazione del prezzo dell'input a ogni chiamata successiva. È il singolo cambiamento strutturale a più alta leva per i carichi di lavoro di chat e agent, perché ripaga a ogni turno.
L'unica regola: il prefisso in cache deve essere identico byte per byte tra le chiamate. Un timestamp vagante o una lista di tool riordinata vicino all'inizio fa silenziosamente crollare a zero il tuo hit rate. La meccanica completa, lo snippet cache_control da copiaincollare e come verificare gli hit si trovano in Prompt Caching e ottimizzazione dei costi.
- Sposta il system prompt, i tool e i documenti in cima; tieni alla fine il turno mutevole dell'utente.
- Allega cache_control all'ultimo blocco stabile in modo che l'intero prefisso venga messo in cache. Vedi lo snippet nella nostra pagina sul prompt caching.
- Leggi cache_read_input_tokens dal campo usage della risposta — maggiore di zero significa che stai risparmiando; zero su chiamate ripetute significa che c'è un invalidatore silenzioso.
Sfoltisci il contesto che invii
La cache riutilizza il contesto a basso costo, ma il token più economico è quello che non invii mai. Verifica cosa c'è davvero nella finestra:
- Sfoltisci il system prompt. I blocchi di istruzioni lunghi accumulano scorie. Taglia gli esempi che non si guadagnano più i loro token; tieni un esempio forte invece di cinque mediocri.
- Recupera, non scaricare. Invece di incollare un intero documento, recupera solo i passaggi pertinenti (RAG). Inviare un PDF di 50 pagine per rispondere a una sola domanda è lo spreco più comune.
- Compatta le sessioni lunghe. Quando una conversazione cresce, sostituisci i turni vecchi con un breve riepilogo progressivo invece di trascinarti dietro ogni messaggio per sempre. La cronologia è fatta di token di input che ripaghi a ogni chiamata.
- Dimensiona correttamente il catalogo dei tool. Ogni definizione di tool è fatta di token di input a ogni richiesta. Esponi solo i tool di cui il compito attuale ha bisogno.
Dimensiona correttamente il modello
Non pagare le tariffe di Opus per un compito da Haiku. Classificazione, estrazione, formattazione semplice e routing di solito girano benissimo sul modello più piccolo a una frazione del prezzo per token. Riserva i modelli più grandi per i ragionamenti davvero difficili e valuta il routing: un modello economico gestisce la maggioranza facile, scalando solo i casi difficili. Vedi Scegliere un modello e Token, contesto e prezzi per i compromessi.
Preferisci l'output strutturato alla prosa
Chiedere JSON (o un altro schema stretto) invece di un paragrafo esplicativo taglia i token di output e elimina le congetture di parsing a valle. Dire a Claude di restituire solo un oggetto compatto come {"label": ..., "score": ...} genera una frazione dei token di una risposta chiacchierona — e salti del tutto il preambolo "Ecco il risultato:". Dettagli in Output strutturato.
Raggruppa in batch ciò che non è urgente
Per il lavoro offline in cui non ti serve una risposta in pochi secondi — eval, classificazione di massa, etichettatura di dataset, riassunto di un archivio — la Message Batches API di Anthropic esegue le richieste in modo asincrono con uno sconto del 50% sia sui token di input che di output, con risultati restituiti tipicamente entro 24 ore.
Combina questo con il caching e un modello dimensionato correttamente e lo sconto complessivo su un grande lavoro offline è drastico.
Misura — non tirare a indovinare
Ottimizza contro i numeri, non contro le sensazioni. L'endpoint di conteggio dei token di Anthropic restituisce il conteggio esatto dei token di input per una richiesta prima di inviarla — stessa forma di una chiamata Messages, ed è gratuito (con rate limit). Usalo per confrontare un prompt gonfio con uno sfoltito, per prendere decisioni di routing del modello e per tenere i prompt entro la finestra di contesto.
Conta i token prima di inviare (SDK Python)
import anthropic
client = anthropic.Anthropic()
resp = client.messages.count_tokens(
model="claude-opus-4-8",
system="You are a scientist",
messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(resp.input_tokens) # exact input count, no charge for counting- Non usare il tokenizer di un altro modello (es. tiktoken) — i conteggi differiscono per famiglia di modelli. Usa l'endpoint di Anthropic.
- I tokenizer più recenti possono produrre circa il 30% di token in più per lo stesso testo rispetto ai modelli più vecchi — riconta quando migri, non riutilizzare vecchie stime.
- Leggi input_tokens, cache_read_input_tokens e output_tokens dal campo usage della risposta per confermare che i risparmi siano arrivati in produzione.
Vedi Token, contesto e prezzi per le regole di conteggio e la formula di stima dei costi.
Un prima/dopo, dall'inizio alla fine
Un assistente di triage del supporto esegue lo stesso system prompt da 4.000 token + catalogo di tool su ogni ticket e scrive una risposta chiacchierona da 600 token.
- ~4.000 token di input rinviati a prezzo pieno a ogni chiamata + ~600 token di output prolisso, su un modello grande. Niente in cache, sincrono, risposte in prosa.
- Segna il blocco system+tools da 4.000 token con cache_control. Dopo la prima chiamata viene servito come cache read a una frazione del prezzo dell'input.
- Sposta il triage su un modello piccolo ed esigi solo JSON ({"category", "priority", "reply"}). L'output scende da ~600 token di prosa a ~120.
- I riempimenti notturni dei ticket passano per la Batches API allo sconto del 50% invece che per chiamate sincrone.
Ogni leva è moltiplicativa: input in cache × modello più piccolo × output più stringato × sconto batch si compone in una riduzione totale ampia — mentre la qualità della risposta su questo compito facile resta invariata. Misura ogni passo con count_tokens così puoi dimostrare il guadagno invece di darlo per scontato.
Mettiti alla prova
0/4- Suddividi la spesa in input, output e contesto riutilizzato — ogni secchio ha un rimedio diverso.
- Lo stile stringato/'caveman' taglia solo l'output; i guadagni sono grossi sulla prosa, piccoli sui task strutturati già concisi.
- Metti in cache il prefisso stabile (identico byte per byte) per risparmi sull'input a parità di dollaro a ogni chiamata.
- Sfoltisci il contesto, dimensiona correttamente il modello e preferisci JSON alla prosa — guadagni economici e cumulativi.
- Raggruppa in batch il lavoro non urgente per uno sconto del 50%, e misura sempre con count_tokens invece di tirare a indovinare.
Fonti e approfondimenti
- JuliusBrussee/caveman — la skill open-source "caveman" per Claude Code (MIT, di Julius Brussee); dichiara una riduzione media dei token di output di circa il 65%.
- "I Benchmarked the Viral 'Caveman' Prompt…" — DEV Community — benchmark indipendente che rileva circa il 9–21% sui task strutturati e un'alternativa più snella di 6 righe.
- Token counting — documentazione Anthropic — l'endpoint
count_tokense le note sul tokenizer per modello. - Prompt caching — documentazione Anthropic — meccanica della cache, idoneità e prezzi.
- Introducing the Message Batches API — Anthropic — elaborazione asincrona con uno sconto del 50%.
- Pricing — documentazione Anthropic — tariffe attuali per token per modello.