Quanti token ha il mio prompt?

Perché 1.000 parole non sono mai 1.000 token, e cosa significa per i limiti di contesto e i costi.

I token sono frammenti di parole, quindi i conteggi non coincidono mai con il numero di parole. Per l’inglese comune, un token corrisponde in media a circa quattro caratteri o tre quarti di parola: 1.000 parole equivalgono a circa 1.300 token. Il codice, le scritture non inglesi e le parole insolite consumano più token per carattere, a volte molte volte di più.

Che cos’è davvero un token

I modelli linguistici non leggono caratteri né parole. Leggono token: frammenti prodotti suddividendo il testo secondo un vocabolario fisso appreso dai dati di addestramento.

Le parole comuni sono di solito un singolo token. Le parole rare vengono spezzate in più pezzi. Gli spazi vengono in genere attaccati all’inizio del token successivo: ecco perché la stessa parola può contare in modo diverso a seconda che apra o meno una frase.

La parola unbelievable non è un solo token: probabilmente viene divisa in qualcosa come Un + believ + able. Invece the è un singolo token, e lo è anche international, perché è comparsa abbastanza spesso nell’addestramento da meritare una voce propria.

È per questo che i conteggi dei token sembrano imprevedibili. L’unità non è linguistica, è statistica. È la frequenza nel corpus di addestramento a determinare se qualcosa vale un token o quattro.

UNA FRASE, SETTE TOKENUnbelievableresultsforthequarter
I token sono frammenti di parole, quindi il conteggio dei caratteri e quello dei token raramente coincidono.

37 caratteri · 7 token · circa 5,3 caratteri per token

Una regola pratica per l'inglese: 1 token ≈ 4 caratteri ≈ 0,75 parole.

Codice, alfabeti non latini e parole rare usano più token per carattere.

Regole pratiche che funzionano davvero

Per la prosa in inglese:

  • 1 token ≈ 4 caratteri
  • 1 token ≈ 0,75 parole
  • 1.000 parole ≈ 1.300 token
  • Una pagina standard (~500 parole) ≈ 650 token

Queste stime crollano rapidamente fuori dalla prosa ordinaria:

Tipo di contenuto Approssimativamente
Prosa in inglese 0,75 parole per token
Codice 2–3 volte più token rispetto alla prosa equivalente
JSON con chiavi lunghe Molto alto: punteggiatura e virgolette sono token separati
Cinese, giapponese, coreano Spesso 1–2 token per carattere
Cirillico, Devanagari, arabo In genere 2–3 volte l’inglese a parità di significato
URL e hash Altissimo: le stringhe casuali si tokenizzano male
Spaziature ripetute Ogni sequenza può essere un token a sé

Il divario multilingue è notevole e sottovalutato: la stessa frase in giapponese può costare diverse volte quanto costa in inglese, con effetti sia sui costi sia su quanto entra nella finestra di contesto.

Perché il conteggio cambia tra i modelli

Ogni famiglia di modelli usa il proprio tokenizer con il proprio vocabolario, quindi lo stesso testo produce conteggi diversi.

I modelli GPT usano varianti del byte-pair encoding: cl100k_base per i modelli dell’era GPT-4, o200k_base per quelli più recenti. Claude usa un tokenizer diverso, con un vocabolario diverso. I modelli aperti come Llama e Mistral ne hanno ciascuno uno proprio.

Differenze del 10–20% tra famiglie sullo stesso testo inglese sono normali, e il divario si allarga su codice e testi non inglesi, dove i vocabolari divergono di più.

In pratica questo significa:

  • Un conteggio fatto con un tokenizer è una stima per qualsiasi altro modello.
  • Solo il tokenizer del fornitore dà un numero esatto per la sua fatturazione.
  • Pianifica il budget con un margine, invece di aderire esattamente al limite.

Il nostro Contatore di token mostra fianco a fianco un conteggio GPT-4o e una stima Claude, che di solito basta per capire se un prompt è comodamente dentro il limite o pericolosamente vicino.

Perché il numero conta

Costo. I prezzi delle API sono per token, con input e output tariffati separatamente; l’output costa in genere molte volte di più. Raddoppiare un system prompt raddoppia quel costo a ogni singola chiamata: il genere di cosa invisibile nei test e costosa su larga scala.

Limiti di contesto. La finestra copre tutto: system prompt, cronologia della conversazione, documenti recuperati, il messaggio corrente e lo spazio riservato alla risposta. Le chat lunghe falliscono non perché un messaggio sia lungo, ma perché la cronologia si accumula.

Troncamento. Quando l’input supera il limite, qualcosa viene eliminato: spesso in silenzio, e spesso i contenuti più vecchi. Un modello che ha «dimenticato» le tue istruzioni molto spesso le ha semplicemente viste troncate.

Suddivisione per il retrieval. Spezzare i documenti per l’embedding funziona a token, non a caratteri. Blocchi dimensionati per numero di caratteri risultano incoerenti, e blocchi tagliati a metà frase si recuperano male. Per dividere testi lunghi in pezzi gestibili, Suddividi testo taglia vicino ai confini dei paragrafi invece che a metà parola.

Ridurre il conteggio senza perdere significato

Le riduzioni più efficaci, approssimativamente in ordine:

  1. Riduci la cronologia della conversazione. In una chat lunga supera di gran lunga tutto il resto. Riassumi i turni vecchi invece di reinviarli parola per parola.
  2. Elimina le istruzioni ridondanti. Ripetere una regola in tre modi non la rende tre volte più probabile da seguire. Triplica però in modo affidabile il costo di quella regola.
  3. Rimuovi gli artefatti di formattazione. Caratteri invisibili, spaziature ripetute e righe decorative di separazione vengono tutti tokenizzati, e una fila di quaranta trattini può costare più della frase che la precede. Rimuovere caratteri invisibili elimina quelli che non si vedono.
  4. Accorcia le chiavi JSON nei prompt strutturati. {"n": ...} contro {"customer_full_name": ...}, moltiplicato su mille record, fa una grande differenza.
  5. Invia solo gli estratti pertinenti. Recuperare tre paragrafi rilevanti batte incollare un intero documento, e di solito produce anche risposte migliori oltre che più economiche.

Cosa non aiuta: rimuovere la normale punteggiatura, cancellare gli articoli o scrivere in stile telegrafico. Il risparmio è marginale e il danno alla qualità dell’output no.

Domande frequenti

Quanti token sono 1.000 parole?

Circa 1.300 token per la prosa comune in inglese, sulla base di circa 0,75 parole per token. Codice, JSON e testi non inglesi vanno molto più in alto: cinese, giapponese e coreano usano spesso da uno a due token per carattere.

Perché il conteggio dei token è diverso per GPT e Claude?

Ogni famiglia di modelli usa il proprio tokenizer con un vocabolario appreso diverso, quindi lo stesso testo viene diviso in modo diverso. Differenze del 10–20% sulla prosa inglese sono normali, e il divario si allarga su codice e testi non inglesi.

Che cos’è un token in un modello IA?

Un frammento di testo tratto dal vocabolario fisso del modello. Le parole comuni sono di solito un singolo token, mentre quelle rare si spezzano in più pezzi: «unbelievable» può diventare tre token mentre «international» ne resta uno solo.

Spazi e punteggiatura contano come token?

Sì. Gli spazi vengono normalmente attaccati all’inizio del token successivo e la punteggiatura è spesso un token a sé. Lunghe sequenze di spaziature ripetute o righe decorative possono consumare un numero sorprendente di token.

Come posso ridurre l’uso dei token?

Per prima cosa riduci la cronologia accumulata della conversazione: nelle chat lunghe domina tutto il resto. Poi elimina le istruzioni duplicate, rimuovi caratteri invisibili e spaziature ripetute, accorcia le chiavi JSON e invia solo l’estratto pertinente di un documento invece dell’intero testo.

Strumenti citati in questa guida

Guide correlate