TIPS 45 · TOKEN

Spendere meno token

Le cinque abitudini che uso in Claude Code per spendere meno token, con i prompt da copiare e un esempio di come cambiano i numeri in un mese.

Cos'è e perché conta

Un token è un pezzetto di testo: è l'unità con cui si misura quanto lavora il modello. Ogni messaggio che mandi, ogni file che Claude legge, ogni risposta e ogni ragionamento consumano token. Con un abbonamento finiscono nei tuoi limiti di utilizzo. Con l'API finiscono in fattura.

La cosa che all'inizio non avevo capito è questa: a ogni messaggio Claude Code rimanda al modello tutta la conversazione, non solo l'ultima frase. La cache rende più economica questa rilettura, ma non la azzera. Quindi una chat lunga costa di più a ogni domanda, anche se la domanda è di una riga.

La seconda cosa: il grosso dello spreco non è il modello che scegli, sono i giri a vuoto. Scrivi una richiesta vaga, Claude fa una cosa diversa, tu dici «rifallo», lui rilegge tutto e riprova. Ogni giro si paga.

1. Chat corte, file lunghi

Le decisioni importanti non le lascio nella chat. Le scrivo in un file del progetto. Io lo chiamo DECISIONI.md, ma il nome lo scegli tu. Dentro ci va poca roba: cosa abbiamo deciso, perché, cosa manca.

Quando la chat si allunga, o quando passo a un lavoro che non c'entra, la chiudo e ne apro una nuova. In Claude Code si fa con /clear: riparti da una conversazione vuota, e i file del progetto restano dove sono.

Prima di chiudere scrivo:

Il prompt
Aggiorna DECISIONI.md con quello che abbiamo deciso oggi e cosa manca.

Poi /clear, e nella chat nuova:

Il prompt
Leggi DECISIONI.md e riparti da lì.

Così la chat nuova parte leggera, con solo le cose che servono, invece di trascinarsi dietro ore di tentativi, errori e messaggi superati. Se a una chat vecchia ci tieni, non la perdi: con /resume ci torni.

Una nota sul CLAUDE.md, il file di istruzioni che Claude Code carica da solo a ogni sessione. Lì metto solo le regole che valgono sempre e lo tengo corto, perché entra in ogni sessione anche quando non serve. Le decisioni del giorno vanno in DECISIONI.md, che Claude legge quando glielo chiedi.

2. Non incollare i log

Un log è il registro di quello che fa il programma mentre gira: errori, avvisi, messaggi. Spesso sono centinaia o migliaia di righe. Se le incolli in chat, entrano tutte nella conversazione e ci restano. E siccome la conversazione viene rimandata a ogni messaggio, quelle righe le paghi di nuovo a ogni domanda dopo.

Io non incollo più niente di lungo. Dico a Claude dove sta il file, o gli chiedo di lanciare il comando lui, e gli chiedo di tornare solo con quello che conta:

Il prompt
Leggi logs/server.log e trovami l'errore: dimmi solo le righe che contano.
Il prompt
Lancia tu i test e guarda l'output: dimmi cosa fallisce e perché.

Una cosa da sapere: anche quello che Claude legge entra nella chat. Il vantaggio è che lui può cercare dentro il file e leggere solo i pezzi utili, invece di prendersi tutto come quando incolli tu. Se l'output è davvero enorme, tipo tutti i test del progetto, faccio fare il lavoro a un aiutante: il rumore resta nella sua conversazione e a me torna solo il riassunto.

Il prompt
Usa un aiutante per lanciare i test: a me riporta solo quali falliscono e perché.

3. Ragionamento alto, non massimo

In Claude Code puoi decidere quanto Claude ragiona prima di rispondere. Si chiama livello di effort e ha cinque gradini: low, medium, high, xhigh e max. Più è alto, più token spende a pensare, e i token del ragionamento si pagano come quelli della risposta.

Sui modelli attuali il livello di partenza è medium. Io di base lo tengo su medium o high, cioè medio o alto, a seconda del lavoro: è una mia scelta, non una regola. Si cambia con il comando /effort: da solo apre un cursore, oppure scrivi direttamente il livello.

La riga
/effort high

Il massimo lo accendo solo per la sessione in cui serve: un bug che non si trova, un lavoro che tocca tutto il progetto. Poi riparto dal livello di base. È comodo, perché max vale solo per la sessione in corso e non resta salvato. E la documentazione stessa avverte che a max il modello tende a pensarci troppo, con un guadagno che spesso non vale i token.

4. Aiutanti con il modello piccolo

Claude Code può affidare dei pezzi di lavoro a degli aiutanti, i sotto-agenti (subagent). Ogni aiutante lavora nella sua conversazione separata e alla fine ti restituisce solo il risultato. Per i lavori semplici, tipo cercare dove si usa una funzione, riassumere un file o controllare dei testi, non serve il modello più grande.

Se non dici niente, un aiutante di solito usa lo stesso modello della chat principale. Il modello più piccolo, Haiku, va bene per questi lavori e consuma meno. Ci sono due modi per usarlo.

Glielo chiedi al momento

Quando Claude avvia un aiutante può scegliere il modello per quel lavoro. Basta chiederlo:

Il prompt
Usa un aiutante con il modello piccolo per trovare tutti i punti dove si usa il login, poi dammi l'elenco.

Lo crei una volta e lo riusi

Gli aiutanti che usi spesso li puoi salvare come file nella cartella .claude/agents/ del progetto. Il modo più semplice è chiedere a Claude di crearne uno. Nel file, il campo model decide il modello: con model: haiku gira sempre su quello piccolo.

Il prompt
Crea un aiutante per questo progetto che cerca nel codice e riassume i file. Salvalo in .claude/agents/ e mettigli model: haiku.

Anche gli aiutanti consumano token, e si sommano a quelli della chat principale. Il risparmio viene dal modello più piccolo e dal fatto che il loro rumore non finisce nella tua chat.

5. Una richiesta chiara

Tre richieste vaghe costano più di una chiara. Con «sistema il profilo» Claude deve esplorare mezzo progetto per capire cosa intendi, poi magari sistema la cosa sbagliata, e si ricomincia. Una richiesta precisa gli fa leggere pochi file e andare dritto.

Prima di scrivere metto quattro cose:

  • Dove: quale pagina, quale file, quale tasto.
  • Cosa non va: cosa succede adesso.
  • Cosa voglio: cosa deve succedere dopo.
  • Come verifico: un test, un controllo, un risultato che posso vedere.

Invece di «sistema il profilo» scrivo:

Il prompt
Nella pagina profilo il tasto Salva non salva l'email. Correggi e aggiungi un test che lo dimostra. Non toccare altri file.

Il «come verifico» è la parte che conta di più: se Claude può controllare da solo il suo lavoro, trova l'errore prima che debba trovarlo tu. E un «rifallo» in meno è un giro intero di token risparmiato.

E se Claude parte nella direzione sbagliata, fermalo subito con Esc invece di aspettare che finisca.

I numeri: una giornata tipo, in un mese di lavoro

Questi numeri sono un esempio realistico di come cambiano le cose, non una fattura. Dipendono da quanto lavori, dal progetto e dal modello. Servono a farti vedere da dove viene il risparmio.

  • Prima, con le chat lunghe e i log incollati: ogni nuova funzione voleva in media 4 o 5 giri di «rifallo», e una giornata di lavoro consumava circa 6 milioni di token.
  • Dopo le cinque abitudini: 1 o 2 giri per funzione, e la stessa giornata ne consuma circa 3 milioni.

Il grosso del risparmio viene da due cose: le chat ripulite, perché la chat lunga si rilegge tutta a ogni messaggio, e meno «rifallo». A fine mese la spesa è circa la metà, con lo stesso lavoro fatto.

I tuoi numeri li vedi con /usage: mostra i token della sessione e, se hai un abbonamento, quanto dei tuoi limiti hai usato. Con /context vedi cosa sta riempiendo la chat in questo momento.

La regola: la spesa non è il prezzo del modello, è quante volte gli fai rifare la stessa cosa.

Gli errori più comuni

  • Tenere una sola chat aperta tutto il giorno: a ogni messaggio rimandi tutta la storia, quindi chiudila con /clear quando cambi lavoro.
  • Lasciare le decisioni solo nella chat: quando la chiudi non le hai più sotto mano, quindi falle scrivere prima in DECISIONI.md.
  • Incollare log e output interi: di' a Claude dove sta il file e chiedigli solo le righe che contano.
  • Lasciare il ragionamento su max anche per le cose piccole: usalo solo per la sessione del bug difficile, poi riparti dal tuo livello di base.
  • Mandare richieste vaghe e poi correggere a colpi di «rifallo»: scrivi dove, cosa non va, cosa vuoi e come verifichi.

Checklist

  • Ho un file DECISIONI.md nel progetto
  • Lo faccio aggiornare prima di ogni /clear
  • Non incollo log lunghi in chat
  • Ragionamento di base su medio o alto, max solo per la sessione in cui serve
  • Gli aiutanti per i lavori semplici usano il modello piccolo
  • Ogni richiesta dice dove, cosa non va, cosa voglio, come verifico
  • Ogni tanto controllo /usage

Domande frequenti

Se uso /clear perdo il lavoro?

No. /clear svuota la conversazione, non tocca i file del progetto. Il codice resta, DECISIONI.md resta, e la memoria del progetto, come il CLAUDE.md, rimane. Se ti serve la chat vecchia, la ritrovi con /resume.

Meglio /clear o /compact?

Dipende. /compact riassume la chat e ti fa continuare la stessa conversazione: utile se sei a metà di un lavoro, ma per riassumere deve rileggere tutto, quindi non è gratis. /clear riparte da zero e non costa niente: meglio quando cambi lavoro. Claude Code fa anche un riassunto automatico quando la chat si avvicina al limite, ma io non lo aspetto.

Con l'abbonamento mi interessa davvero?

Sì. Con l'abbonamento non paghi a token, ma i token consumano i tuoi limiti di utilizzo. Meno token sprechi, più lavoro fai prima di arrivare al limite.

← Tutte le guide