Ogni volta che scrivi qualcosa a un modello di intelligenza artificiale, il tuo testo viene smontato in pezzi piccolissimi prima ancora che il modello capisca una parola. Quei pezzi si chiamano token.
È il passaggio più ignorato di tutta la catena, eppure è quello che determina quanto costa una conversazione, quanto testo entra in un prompt e persino perché il modello sbaglia a contare le lettere di una parola.
Qui provo a spiegarlo con calma: cos’è un token, come si forma, perché non coincide con una parola e cosa cambia nella pratica quando lo usi.
Di cosa parleremo..
Il token non è una parola
Un token è l’unità minima di testo che un modello elabora. Non è una lettera, non è una parola: è un frammento che il tokenizer ha deciso di trattare come blocco unico.
Prendi “intelligenza”. Un modello può leggerla come un solo pezzo, oppure spezzarla in tre frammenti tipo “intel”, “ligen”, “za”. Dipende dal vocabolario con cui è stato costruito.
Il vocabolario è finito. Un modello moderno ha a disposizione tra 32.000 e 200.000 token. Ogni testo possibile va ricomposto usando solo quei pezzi, come un Lego con un numero chiuso di mattoncini.
Da qui nasce una conseguenza che sorprende molti: le parole comuni occupano un token, quelle rare si frammentano. “Casa” è un pezzo solo, “onomatopeico” può diventarne quattro o cinque.
E il confine non è stabile. Lo stesso testo, passato a due modelli diversi, produce due scomposizioni diverse, con due conteggi diversi. Non esiste un token universale.
Da ricordare: token e parola non sono la stessa cosa. In italiano il rapporto medio è di circa 1,4 token per parola, in inglese scende intorno a 1,3.
Un esempio pratico: come si spezza una frase
Immagina di scrivere: “Il gatto dorme sul divano.”
Un tokenizer addestrato soprattutto su testi inglesi probabilmente la divide così: “Il”, ” gatto”, ” dorm”, “e”, ” sul”, ” div”, “ano”, “.”. Sette o otto pezzi per sei parole.
Nota due dettagli. Il primo: lo spazio appartiene al token. ” gatto” con lo spazio davanti e “gatto” senza sono due pezzi diversi: il modello impara a distinguerli. Il secondo: le desinenze italiane costano. “Dorme”, “dormiva” e “dormiremo” condividono la radice ma pagano pegno in frammenti separati.
Questa è la ragione per cui i modelli nati in inglese consumano più token su un testo italiano che su uno inglese di pari lunghezza. Non è un complotto, è statistica del vocabolario.
Se il vocabolario fosse stato costruito su un corpus italiano, “dorme” sarebbe un token unico e la frase costerebbe due pezzi in meno. Il modello non ragiona sulle lettere che vedi tu, ragiona sui blocchi che ha imparato.

Perché i modelli lavorano a token e non a lettere
Elaborare lettera per lettera sarebbe più preciso ma lentissimo. Una frase di venti parole diventerebbe una sequenza di cento simboli. Ogni simbolo richiede calcolo.
Lavorare a token accorcia la sequenza di tre o quattro volte. Siccome il costo computazionale dell’attenzione cresce con il quadrato della lunghezza, il risparmio non è linearmente piccolo: è enorme. Ne ho parlato anche nell’articolo su self-attention.
Il prezzo da pagare è che il modello perde la vista sulle singole lettere. Ecco perché chiedere quante “r” ci sono in “strawberry” mette in crisi quasi tutti i modelli: la parola arriva come due o tre blocchi, non come dieci caratteri distinti.
Il token è il punto di vista del modello. Tutto ciò che legge passa da lì. Nulla di ciò che non è token esiste per lui.
Quanti token ci sono in un testo italiano
Una regola pratica utile: un token vale circa 4 caratteri in inglese. In italiano il rapporto peggiora, tra 2,5 e 3,5 caratteri per token.
Tradotto in parole: mille parole italiane stanno intorno ai 1.400 token, mentre mille parole inglesi stanno intorno ai 1.300. La stessa pagina, in due lingue diverse, ha costi diversi.
Se devi fare una stima rapida senza strumenti, prendi il numero di caratteri e dividi per 3. Non è preciso al decimale, ma basta per capire se un documento entra in un contesto o no.
Per i conti esatti esistono i tokenizer ufficiali, disponibili come librerie gratuite per Python e JavaScript. Ti danno la misura reale prima di mandare il prompt, che è sempre meglio di una stima a naso.
Perché i token decidono quanto paghi
I prezzi delle API sono espressi in dollari per milione di token, separando ingresso e uscita. Non per richiesta, non per parola.
Questo cambia il modo di progettare un’applicazione. Un system prompt da 2.000 token, ripetuto su 10.000 richieste al giorno, sono 20 milioni di token al giorno solo di istruzioni fisse.
Il prompt non è gratis. Ogni esempio, ogni documento allegato, ogni istruzione ridondante si paga a ogni singola chiamata. Ed è il motivo per cui tecniche come il recupero selettivo dei documenti, la compressione del prompt e la cache delle istruzioni sono diventate così importanti in produzione.
C’è anche un lato meno ovvio: i token in uscita costano più di quelli in ingresso, spesso tre o quattro volte tanto. Una risposta prolissa incide sulla bolletta più di un prompt lungo.
Token e context window: il limite che conta
La context window si misura in token, non in parole. Quando leggi “128.000 token di contesto”, significa circa 90.000 parole italiane, non un libro intero come suggerisce la pubblicità.
La conversazione consuma contesto in modo cumulativo: il tuo messaggio, la risposta, la cronologia, tutto torna dentro la finestra a ogni turno. Dopo venti scambi il conteggio è cresciuto molto più di quanto sembri.
Quando la finestra si riempie, qualcosa deve uscire. I sistemi più semplici tagliano i messaggi più vecchi, quelli più curati riassumono. In entrambi i casi, informazione sparisce.
Anche il limite di lunghezza della risposta è in token. Se imposti un tetto troppo basso, l’output si interrompe a metà frase: sembra un bug del modello quando invece è una scelta di configurazione.
Token speciali: i segnali di servizio
Oltre ai pezzi di testo, il vocabolario contiene token che non corrispondono a nulla di leggibile.
Sono marcatori di struttura: l’inizio del documento, la fine del testo, il passaggio da un ruolo all’altro, il riempimento per allineare sequenze di lunghezza diversa. Nell’output non li vedi, ma il modello li usa per orientarsi.
- Inizio sequenza: segnala che il documento comincia.
- Fine sequenza: dice al modello quando fermarsi.
- Ruoli: separano istruzioni di sistema, messaggi utente e risposte.
- Riempimento: allinea le sequenze nei batch durante l’addestramento.
Se uno di questi marcatori viene gestito male, l’effetto si vede: il modello continua a parlare invece di fermarsi, oppure ignora le istruzioni di sistema. Sono difetti rari ma reali. Nascono quasi sempre da un tokenizer usato in modo improprio.
Accenti ed emoji: dove l’italiano paga dazio
Qui la faccenda si fa concreta. La maggior parte dei tokenizer lavora sui byte UTF-8: una lettera accentata occupa due byte invece di uno.
Le lettere accentate che compaiono spesso nel corpus di addestramento hanno un token dedicato. Quelle più rare si spezzano in byte separati. Ogni byte è un token a sé.
Il risultato è che un testo pieno di accenti può costare più di un testo senza. Non è un dettaglio teorico: su grandi volumi la differenza si vede in fattura.
Le emoji stanno ancora peggio. Molte richiedono da due a quattro token ciascuna. Le sequenze composte, tipo famiglie o bandiere, possono arrivare a sette o otto. Una riga di sole emoji può valere quanto un paragrafo.
Token e embedding: due livelli diversi
Vale la pena chiarire subito un equivoco frequente. Il token è testo, l’embedding è un vettore di numeri. Il token è ciò che entra, l’embedding è la rappresentazione numerica che il modello ne ricava.
Sono due passaggi distinti della stessa catena: prima si spezza, poi si converte. Ed è il vettore, non il token, a scorrere tra i layer e a essere trasformato dall’attenzione.
Confondere i due livelli porta a ragionare male sia sui costi sia sulle architetture, perché il conteggio dei token riguarda l’ingresso, non lo stato interno del modello.
Dove incontri i token senza accorgertene
Anche senza toccare un’API, i token ti riguardano ogni giorno.
- Il limite di caratteri di un messaggio in chat è in realtà un limite di token.
- I documenti lunghi vengono troncati in silenzio: il modello risponde su una parte sola.
- Le risposte che si fermano a metà sono quasi sempre un tetto di token raggiunto.
- Il modello che “dimentica” l’inizio della conversazione ha semplicemente superato la finestra.
- La fattura mensile di un servizio AI è una moltiplicazione di token per prezzo.
Capire questo livello non serve a diventare ingegneri. Serve a smettere di attribuire al modello difetti che sono del formato con cui gli parliamo.
Se vuoi seguire la catena dall’inizio, il passo successivo è la posizione dei token nella sequenza. Per capire invece come i token vengono caricati di contesto, c’è l’articolo su multi-head attention.
Consiglio pratico: prima di incollare un documento enorme in un prompt, fai il conto in token. Se supera un terzo della finestra disponibile, conviene riassumerlo o recuperarne solo le parti utili.
Domande frequenti sui token
Quanti token sono 1.000 parole?
In italiano stanno intorno ai 1.300 o 1.500 token, in inglese circa 1.300. La variabilità dipende dal vocabolario del modello e dal tipo di testo: un articolo di cronaca è più regolare di una conversazione piena di nomi propri e sigle.
Un token corrisponde sempre a una parola?
No. Può essere una parola intera, una parte di parola, un segno di punteggiatura o uno spazio attaccato alla parola successiva. Nei vocabolari moderni la maggior parte dei token è più corta di una parola media.
Perché il modello sbaglia a contare le lettere?
Perché non vede le lettere. Vede blocchi: deve ricostruire la sequenza di caratteri a memoria. Su parole comuni ci riesce, su quelle rare sbaglia. Non è un problema di intelligenza ma di rappresentazione.
I token cambiano da un modello all’altro?
Sì, parecchio. Ogni famiglia di modelli ha il suo tokenizer e il suo vocabolario, quindi lo stesso testo produce conteggi diversi. Se confronti i prezzi tra provider, confronta anche i token, non solo le tariffe.
Cosa succede se supero il limite di token?
Dipende dal sistema. Le API restituiscono un errore, le interfacce di chat più comuni tagliano la parte iniziale della conversazione senza dirtelo. In entrambi i casi, la parte eccedente non arriva al modello.
I token si possono ridurre?
Sì, con qualche accortezza: togliere istruzioni ridondanti, riassumere i documenti lunghi, recuperare solo i passaggi utili e non ripetere lo stesso contesto a ogni chiamata. Sono ottimizzazioni banali che però si traducono in soldi risparmiati.


