Tecnologie

Ottimizzare Claude Code: meno token, sessioni migliori

Claude Code usa troppi token? Scopri come gestire contesto, cache, /clear, /compact e subagent per ottenere sessioni più efficienti e controllabili.

Cosmin-Anton Mihoc
9 min di lettura
Ottimizzare Claude Code: meno token, sessioni migliori
Indice dei contenuti (9 sezioni)

Due sviluppatori possono completare lo stesso task con Claude Code e consumare quantità molto diverse di token. La differenza non dipende soltanto dal modello scelto: spesso dipende da tutto ciò che la sessione continua a portarsi dietro.

Nel contesto restano i file letti, i test, gli strumenti MCP e i messaggi precedenti. Anche CLAUDE.md occupa spazio. A ogni turno Claude deve elaborare di nuovo queste informazioni. Per questo una conversazione nata per correggere una funzione può diventare progressivamente più lenta e costosa.

In questa guida vediamo come ottimizzare Claude Code in modo pratico. Capirai quando usare /clear, /compact e /rewind. Vedremo anche come proteggere la cache e quando usare un subagent. L'obiettivo non è consumare meno token a ogni costo, ma usare quelli necessari per ottenere un risultato migliore.

Perché Claude Code consuma così tanti token?

Claude Code consuma token perché ogni richiesta comprende il nuovo messaggio e il contesto accumulato nella sessione. Più informazioni rimangono nella conversazione, maggiore è la quantità di input che il modello deve elaborare nei turni successivi.

La guida ufficiale di Anthropic del 14 agosto 2026 chiarisce un punto. Una sessione contiene molto più del testo scritto nel terminale. Il modello può ricevere:

  • le istruzioni di sistema e le definizioni degli strumenti disponibili;
  • il file CLAUDE.md e altre istruzioni caricate all'avvio;
  • i file letti durante l'analisi del progetto;
  • l'output dei comandi, inclusi test, build e log;
  • la cronologia delle richieste e delle risposte precedenti.

Il punto importante è che queste informazioni non vengono inviate una sola volta. Rimangono nella conversazione e possono essere incluse anche nei turni successivi. Per questo il quarantesimo turno di una sessione lunga non equivale al primo.

Input, output e token di ragionamento

Gli input token rappresentano ciò che il modello deve leggere. Gli output token includono la risposta, le chiamate agli strumenti e il ragionamento generato. Generare l'output richiede più lavoro che leggere l'input. Anthropic indica un costo per token di output spesso vicino a cinque volte quello dell'input.

Questo non significa che la risposta debba essere sempre corta. Una risposta lunga ma corretta può evitare tre tentativi sbagliati. L'ottimizzazione utile consiste nell'eliminare il contesto irrilevante, non nel togliere al modello le informazioni necessarie.

Come funziona il prompt caching di Claude Code

Il prompt caching riutilizza la parte iniziale del contesto già elaborata. Se l'inizio della richiesta non cambia, Claude Code può leggerlo dalla cache. Non deve quindi elaborarlo da zero.

La guida Anthropic indica che una lettura dalla cache può costare circa un decimo dell'input ordinario. La scrittura iniziale nella cache costa invece più di un normale input, ma viene effettuata una volta sola. Il vantaggio emerge nei turni successivi della stessa sessione.

Il caching viene gestito automaticamente. Non devi attivarlo manualmente dentro Claude Code, ma alcune decisioni possono invalidarlo:

  • cambiare modello durante una conversazione lunga;
  • modificare il livello di effort a sessione avviata;
  • attivare Fast Mode nel mezzo del lavoro;
  • eseguire /compact, che sostituisce la conversazione con un riassunto;
  • riprendere una sessione dopo una pausa lunga, quando la cache è scaduta.

Per questo modello ed effort vanno decisi prima di iniziare. Se devi cambiarli, il momento migliore è dopo un /clear oppure all'inizio di una nuova sessione.

Quanto dura la cache?

Anthropic specifica che la cache dura normalmente un'ora negli abbonamenti e cinque minuti usando una chiave API. Per l'API può essere estesa a un'ora con l'impostazione prevista dalla piattaforma.

Se sai che interromperai il lavoro, eseguire /compact prima della pausa può essere più conveniente. Il riassunto viene prodotto mentre il vecchio contesto è ancora disponibile in cache, invece di essere ricostruito dopo la scadenza.

/clear, /compact e /rewind: quale comando usare?

I tre comandi risolvono problemi diversi. Usarli come sinonimi porta a perdere informazioni utili o a conservare contesto che non serve più.

Quando usare /clear

Usa /clear quando inizi un task indipendente da quello precedente. Se hai terminato il checkout e devi lavorare sulla dashboard, non serve trascinare test, file e decisioni del primo task nella nuova attività.

  • Ideale per: cambio completo di attività;
  • Vantaggio: nuova sessione pulita e più prevedibile;
  • Attenzione: il contesto precedente non sarà più disponibile.

Quando usare /compact

Usa /compact quando il task è ancora lo stesso, ma la conversazione è diventata lunga. Claude riassume quanto è accaduto e conserva le informazioni considerate importanti.

  • Ideale per: feature lunghe, refactoring e debugging in più fasi;
  • Vantaggio: riduce la dimensione della cronologia mantenendo la continuità;
  • Attenzione: il riassunto riscrive il contesto e interrompe la continuità della cache precedente.

Puoi anche indicare cosa preservare: decisioni architetturali, nomi dei file modificati, test ancora falliti e passaggi successivi.

Quando usare /rewind

Usa /rewind quando gli ultimi turni hanno preso una direzione sbagliata. Invece di riassumere l'intera conversazione, torni al punto precedente all'errore.

  • Ideale per: tentativi falliti o istruzioni fraintese;
  • Vantaggio: rimuove soltanto la parte finale non utile;
  • Attenzione: scegli con precisione il punto a cui ritornare.

8 modi per ottimizzare Claude Code davvero

1. Scegli modello ed effort prima di iniziare

Imposta il modello in base alla difficoltà del task. Un'attività meccanica non richiede necessariamente il modello più potente, mentre un problema architetturale ambiguo può beneficiare di un effort maggiore.

Cambiare queste impostazioni nel mezzo di una conversazione può invalidare il prompt caching. Decidi prima, poi mantieni la configurazione finché il task non è concluso.

2. Crea una sessione per ogni obiettivo

Una sessione dovrebbe avere un obiettivo riconoscibile. “Correggere il pagamento duplicato” è un obiettivo; “sistemare un po' il progetto” non lo è.

Quando il lavoro cambia natura, usa /clear. Sessioni più brevi riducono il rumore e rendono più semplice controllare cosa Claude ha letto e modificato.

3. Indica direttamente i file rilevanti

Dire “trova il problema nel login” costringe Claude a cercare nella codebase. Indicare il file o menzionarlo direttamente elimina almeno una fase di esplorazione.

La richiesta può diventare: “Controlla il refresh del token in @src/auth/session.ts e il test associato”. Il file entra subito nel contesto e Claude non deve individuarlo da solo.

Non menzionare lo stesso file più volte nella stessa conversazione: potrebbe essere allegato nuovamente, occupando spazio senza aggiungere informazioni.

4. Mantieni CLAUDE.md corto e specifico

CLAUDE.md viene caricato all'inizio ed entra nel contesto delle sessioni. Se contiene regole generiche, documentazione obsoleta e interi manuali di progetto, paghi quel peso anche quando non serve.

Conserva soltanto convenzioni stabili: comandi di test, struttura essenziale, standard di codice e vincoli che Claude deve conoscere sempre. Sposta i workflow specializzati nelle Skills, che vengono caricate quando richieste. Se vuoi approfondire questa organizzazione, trovi un esempio nella guida su come creare una Claude Skill con SKILL.md.

5. Disattiva gli MCP che non servono

Le definizioni degli strumenti MCP fanno parte del contesto iniziale. Un server utile per il database può essere prezioso durante una migrazione, ma inutile mentre correggi un componente CSS.

Controlla cosa viene caricato con /context in una sessione nuova e disattiva temporaneamente gli MCP non necessari con /mcp. Non eliminare configurazioni utili: limita semplicemente gli strumenti disponibili per quel lavoro.

6. Riduci l'output dei comandi rumorosi

L'output di test, build e log viene aggiunto alla conversazione. Un test runner che stampa centinaia di righe positive può occupare il contesto per tutti i turni successivi.

Usa flag silenziosi, reporter compatti o comandi mirati. Esegui il singolo file di test interessato invece dell'intera suite quando il problema è circoscritto. Per i log, restituisci solo errori e righe di contesto realmente utili.

7. Usa i subagent per i lavori ad alto rumore

Un subagent lavora in un contesto separato. Alla sessione principale torna solo la sintesi. File e output intermedi non riempiono la conversazione principale.

È utile per analizzare log estesi, confrontare molte configurazioni o esplorare un modulo senza riempire la conversazione principale. Non conviene per una modifica piccola: il subagent deve ricostruire il contesto e potrebbe rileggere file già noti.

8. Evita loop e automazioni nelle sessioni lunghe

Ogni esecuzione di un loop rappresenta un nuovo turno e porta con sé la conversazione della sessione. Se il loop parte dopo la scadenza della cache, il costo può aumentare ulteriormente.

Per le attività periodiche apri una sessione separata e minima. Fai lo stesso per il monitoraggio. La sessione principale resterà dedicata al task corrente.

Sessione inefficiente e sessione ottimizzata

Immagina di dover correggere un test di autenticazione. Nella versione inefficiente chiedi a Claude di “trovare il bug”, gli fai leggere l'intero modulo, esegui tutta la suite con output dettagliato e poi continui nella stessa chat con un problema della dashboard.

Nella versione ottimizzata:

  • apri una sessione dedicata al bug;
  • indichi il test e il file della funzione coinvolta;
  • esegui solo quel test con un reporter compatto;
  • mantieni lo stesso modello e lo stesso effort;
  • usi /clear prima di passare alla dashboard.

Il secondo workflow non limita Claude. Gli offre un contesto più preciso. Inoltre evita che vecchie informazioni influenzino il risultato.

Checklist prima di avviare Claude Code

  • Obiettivo: posso descrivere il risultato in una frase?
  • Modello: la complessità richiede davvero il modello più potente?
  • Effort: è proporzionato al problema?
  • Contesto: quali file servono realmente?
  • CLAUDE.md: contiene solo istruzioni stabili?
  • MCP: quali server sono necessari per questo task?
  • Comandi: test e log hanno un output compatto?
  • Sessione: sto continuando lo stesso obiettivo o devo usare /clear?

Ottimizzare Claude Code non significa limitarlo

Ridurre il consumo di token in Claude Code non significa chiedere risposte più corte o impedire al modello di analizzare il progetto. Significa rimuovere ciò che non contribuisce al risultato.

Il principio è semplice: mantieni nel contesto le informazioni necessarie per il task corrente e sposta altrove il rumore. È lo stesso approccio che distingue una codebase leggibile da una cartella piena di dipendenze e log dimenticati.

Se stai valutando quale agente usare nel tuo workflow, leggi anche il mio confronto tra Claude Code e Codex. Per i costi API, il routing dei modelli e il caching applicativo trovi invece la guida su come risparmiare token con Claude.

Leggi anche

Conclusione

Per ottimizzare Claude Code parti da tre abitudini. Usa una sessione per ogni obiettivo. Indica i file con precisione e riduci l'output dei comandi. Usa /compact per continuare un lavoro lungo, /rewind per eliminare una direzione sbagliata e /clear quando cambi task.

Il risultato non è soltanto un minor consumo di token. Ottieni sessioni più comprensibili, meno interferenze dal contesto precedente e decisioni tecniche più facili da verificare.

Vuoi integrare agenti AI e workflow automatizzati nel tuo progetto senza perdere controllo su costi e qualità? Scopri i miei servizi di AI Automation oppure contattami per parlarne.

Condividi questo articolo
Hai domande? Contattami

Pronto a dare vita al tuo progetto?

Contattami per discutere della tua idea e ricevere una consulenza gratuita.

Iniziamo insieme