Passa al contenuto principale

Riduci il consumo di token (e i costi)

Intermedio

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.

What you'll learn
  • 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 tre secchi dei token
Term shown.
1 / 3

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.
Pro tip
  • 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.
Watch out
  • 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.

Guided walkthrough1 of 3
  1. Sposta il system prompt, i tool e i documenti in cima; tieni alla fine il turno mutevole dell'utente.

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
Pro tip
  • 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.

Guided walkthrough1 of 4
  1. ~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.

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
  1. Lo stile 'caveman' / stringato riduce principalmente quali token?
  2. Rinvii lo stesso system prompt da 10k token a ogni chiamata. Il rimedio migliore?
  3. Quale carico di lavoro è il più adatto allo sconto del 50% della Message Batches API?
  4. Come dovresti verificare che una modifica al prompt abbia davvero risparmiato token?
Key takeaways
  • 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

Avanti