Il token è l'unità di misura di tutto ciò che fai con un LLM: costo, lunghezza del contesto, latenza e perfino qualità del prompt si misurano in token. Chi progetta sistemi AI ragiona in token, non in parole.
Cos'è un token, concretamente
Un token è un frammento di testo: può essere una parola, parte di una parola, un segno di punteggiatura o uno spazio. La tokenizzazione spezza il testo in questi frammenti prima che il modello lo elabori.
Regola pratica per l'italiano e l'inglese: 1 token ≈ 0,75 parole, ovvero ~4 caratteri. Una pagina di testo è circa 500–800 token. Le lingue diverse dall'inglese tendono a usare più token per la stessa frase.
- “governance” può diventare 2–3 token
- numeri lunghi, codice e URL si frammentano in molti token
- il testo in italiano costa in media più token dell'inglese
Perché i token determinano il costo
I provider fatturano per token di input e di output, di solito a prezzi diversi. Ogni messaggio inviato include l'intera conversazione e i documenti allegati: il costo cresce con il contesto, non solo con la domanda.
costo ≈ (token_input × prezzo_input) + (token_output × prezzo_output)// una chat lunga reinvia tutta la storia a ogni turno → token che crescono
Token e finestra di contesto
La context window è il numero massimo di token che il modello può considerare in una volta (input + output). Superarla significa troncare o perdere informazioni. Gestire i token significa decidere cosa entra nel contesto e cosa no: è una scelta di architettura, non un dettaglio.
Strategie per ottimizzare i token
In produzione i token si gestiscono, non si subiscono. Ogni tecnica agisce su un punto diverso della pipeline.
- Riassunti progressivi: comprimi la storia vecchia in poche righe
- Retrieval mirato: porta nel contesto solo i chunk rilevanti, non tutto
- System prompt compatti: istruzioni chiare in meno parole possibili
- Output controllato: max_tokens e schema JSON riducono token di risposta
- Modello giusto per il task: modelli piccoli per i task semplici, grandi solo dove serve
system prompt ~200 token (istruzioni compatte)retrieval (3 chunk) ~600 token (solo i piu' rilevanti)storia compressa ~300 token (riassunto, non tutto)domanda utente ~50 tokentotale input ~1.150 token (su 128k disponibili)
Errori comuni nella gestione dei token
La maggior parte degli sprechi nasce da scelte di architettura, non dal modello. Riconoscerli e' il primo passo per ridurre costi e migliorare qualita'.
- Reinviare l'intera conversazione senza comprimere i turni vecchi
- System prompt troppo lungo ripetuto a ogni chiamata
- Retrieval che porta 20 chunk quando ne bastano 3
- Non impostare max_tokens: il modello risponde quanto vuole
- Ignorare che l'italiano costa piu' token dell'inglese
In sintesi
- 1 token ≈ 0,75 parole; una pagina ≈ 500–800 token.
- Paghi input + output: una chat lunga reinvia tutta la storia e costa di piu' a ogni turno.
- L'italiano consuma piu' token dell'inglese a parita' di contenuto.
- Ottimizzare i token (riassunti, retrieval mirato) riduce costo e latenza.
FAQ tecniche
Come riduco i costi in token?
Comprimi la storia conversazionale con riassunti, recupera solo i documenti rilevanti (RAG mirato), accorcia i system prompt ripetuti e usa modelli più piccoli dove basta.
Più context window è sempre meglio?
No. Una finestra enorme costa di più e può peggiorare la qualità se la riempi di contenuto poco rilevante. Conta cosa metti dentro, non quanto.