✔️✔️ Doppie Spunte Blu Cap. 10 · Sotto il cofano: cos'è davvero un LLM

Puntata 110

Puntata 110 — TEST: traduci un prompt in token

Livello: ✔️✔️ Doppie Spunte Blu · Capitolo 10 · Sotto il cofano: cos’è davvero un LLM · 🎯 Esercitazione pratica di fine capitolo

10 esperimenti reali con un tokenizer-visualizer gratis. Alla fine, hai un’intuizione concreta di cosa “vede” il modello — e di quanto ti costa.

uno schermo aperto su “tiktokenizer” con un paragrafo italiano tokenizzato in mattoncini di vari colori; sotto, un contatore “473 token | costo stimato GPT-5: $0.0012” e una checklist con 10 sfide spuntate

Strumenti per oggi

Tieni aperte in tab del browser:

  1. tiktokenizer.vercel.app — multi-modello (GPT, Claude, Llama, Gemini, varie). Consigliato come strumento principale.
  2. platform.openai.com/tokenizer — ufficiale OpenAI, GPT-3.5/4/4o.
  3. huggingface.co/spaces/Xenova/the-tokenizer-playground — HuggingFace, ampia scelta modelli open.

In alternativa locale (per chi sa Python):

import tiktoken
enc = tiktoken.encoding_for_model("gpt-4o")
tokens = enc.encode("ciao mondo")
print(len(tokens), tokens, [enc.decode([t]) for t in tokens])

Sfida 1 — Quanto pesa un’email italiana media

Incolla in tiktokenizer (GPT-4o):

Gentile Direttore,

Le scrivo in merito al disservizio rilevato lo scorso 15 maggio sulla linea
ferroviaria Milano-Bologna, in particolare al ritardo accumulato dal treno
Frecciarossa 9560, partito alle ore 16:35 anziché alle 15:50 previste.

Le chiedo cortesemente di verificare le procedure di rimborso ai sensi
della Carta dei Servizi di Trenitalia 2026 e di confermarmi entro 14
giorni l'esito della pratica.

Distinti saluti,
Mario Rossi

Domande:

  • Quanti token? (Atteso: 130-180.)
  • Quante parole? (Atteso: ~90.)
  • Rapporto token/parola? (Atteso: ~1.5-2.)

Bonus: traduci la stessa email in inglese e confronta. Atteso: ~30% in meno di token.


Sfida 2 — Le parole italiane “costose”

Tokenizza queste 5 parole una alla volta. Quante token ognuna?

casa
mangiare
interpretabilità
costituzionale
Casalpusterlenghese

Atteso (GPT-4o):

  • casa → 1 token
  • mangiare → 2-3 token
  • interpretabilità → 5-7 token
  • costituzionale → 3-5 token
  • Casalpusterlenghese → 7-10 token

Osservazione: parole “rare” (nomi propri lunghi, termini tecnici italiani) costano 3-10x rispetto a parole comuni. Implicazione: in un’app aziendale rinominare prodotti/codici proprietari con nomi più corti = token risparmiati.


Sfida 3 — Numeri vs lettere

Tokenizza:

123
1234
12345
3.141.592.653.589
2026
14 maggio 2026

Atteso: i numeri brevi sono spesso 1 token, i numeri lunghi vengono spezzati in modi non intuitivi (1234 può essere 1 o 2 token; 12345 quasi sempre 2; numeri molto grandi sono spezzettati a 3 cifre).

Lezione operativa: per dati numerici grandi (IBAN, partita IVA, codici fiscali), il modello fa più fatica a manipolarli precisamente. Per task aritmetici precisi → tool calculator esterno.


Sfida 4 — Emoji e caratteri speciali

Tokenizza:

🐱
🇮🇹
🤦‍♂️
🏳️‍🌈
日本語
العربية

Atteso:

  • Emoji semplici: 1-2 token.
  • Emoji combinati (bandiere, ZWJ sequences): 3-5 token ciascuna!
  • Lingue non latine: molti più token per la stessa “lunghezza apparente”.

Implicazione: una chat con tante emoji o tante lingue diverse brucia context window velocemente.


Sfida 5 — Sigle e nomi di brand

ChatGPT
GPT-5
OpenAI
Anthropic
Hugging Face
Mixtral 8x22B

Curiosità: alcuni di questi sono 1 token unico (perché compaiono spessissimo nei training data: “ChatGPT” è quasi sempre 1 token in GPT-4o), altri sono spezzettati. Questo è uno dei “tell” su quale modello sei: se “Anthropic” è 1 token → probabile training molto recente o ottimizzato.


Sfida 6 — Confronto tra tokenizer

Stessa frase, 4 modelli diversi.

La principessa di Casalpusterlengo è andata in vacanza in Liechtenstein.

Apri tiktokenizer.vercel.app, seleziona uno dopo l’altro:

  • GPT-4o tokenizer (o200k_base)
  • GPT-3.5/4 tokenizer (cl100k_base)
  • Llama 3 tokenizer
  • Gemini (se disponibile)

Atteso: variazione del 15-30% del conteggio token sulla stessa frase. Per costi/prestazioni in produzione, questa differenza si traduce in migliaia di euro/anno a parità di traffico.


Sfida 7 — Spazi e formattazione

Tokenizza:

Ciao
 Ciao
  Ciao
   Ciao

(spazio singolo, doppio, triplo prima di “Ciao”)

Atteso (cl100k_base / o200k_base):

  • Ciao (senza spazio iniziale) → 1 token
  • Ciao (con uno spazio) → 1 token (diverso dal precedente!)
  • Ciao (due spazi) → 2 token (uno spazio + ” Ciao”)

Lezione: le AI vedono Ciao e Ciao come token diversi. Spiega perché certi prompt funzionano meglio con/senza spazio iniziale. In produzione: spazi/newline extra in template = costo extra.


Sfida 8 — Codice vs prosa

Confronta:

def fibonacci(n):
    if n < 2:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

vs

La funzione di Fibonacci ricorsiva: se n è minore di 2 restituisce n,
altrimenti restituisce la somma di fibonacci(n-1) e fibonacci(n-2).

Atteso: il codice spesso costa meno token della spiegazione in prosa. Tokenizer addestrati su codice (GPT-4o, Codestral) hanno token speciali per indentazioni e pattern comuni (def, return, ripetuti).

Implicazione: in pipeline che generano codice + spiegazione, il costo dominante è la prosa, non il codice.


Sfida 9 — Il template di sistema “ottimizzato”

Hai un system prompt aziendale lungo. Versione “verbose”:

Sei un assistente cortese e professionale. Rispondi sempre in italiano,
con tono educato e disponibile. Quando l'utente fa una domanda, prima
analizza attentamente la richiesta, poi formula una risposta chiara e
ben strutturata. Se non sei sicuro di una risposta, ammettilo
onestamente. Mai dare consigli legali, medici o finanziari definitivi.
Sii sempre rispettoso della privacy dell'utente.

Versione “ottimizzata”:

Assistente IT, cortese, professionale.
- Italiano sempre.
- Analizza prima, rispondi dopo, struttura chiara.
- Ammetti se non sei sicuro.
- Niente consigli legali/medici/finanziari definitivi.
- Privacy: rispettata.

Conta token su entrambe. Atteso: versione 2 = ~40% di token in meno con comportamento equivalente.

Ora moltiplica per 1.000.000 di chiamate API/mese. Da centinaia a migliaia di € risparmiati.


Sfida 10 — Il “cost calculator” personale

Costruisci una mini-tabella per il tuo use case principale:

| Modello       | Token tipici/query | $/1M input | $/1M output | $/query |
|---------------|--------------------|-----------:|------------:|--------:|
| GPT-5         | 1500 / 800         |       3.00 |       15.00 |  $0.017 |
| GPT-5 mini    | 1500 / 800         |       0.25 |        2.00 |  $0.002 |
| Claude Opus   | 1500 / 800         |      15.00 |       75.00 |  $0.083 |
| Claude Sonnet | 1500 / 800         |       3.00 |       15.00 |  $0.017 |
| Gemini Flash  | 1500 / 800         |       0.10 |        0.40 |  $0.0005|

(Prezzi indicativi 2026, verifica i listini ufficiali.)

Per 1.000.000 di query/mese: range da $500 (Gemini Flash) a $83.000 (Claude Opus).

Spesso il modello mini/flash copre l’80% dei casi. Il modello frontier entra in azione solo per i casi “tosti” via cascading. Risparmio enorme.


Bonus: tokenizer-driven prompt engineering

Cose che ho imparato e tu adesso anche:

  1. Risposte “in elenco puntato compatto” costano meno di paragrafi. Quando puoi.
  2. Definire abbreviazioni standard all’inizio del prompt risparmia token nel resto. Es: “Userò ‘AdE’ per Agenzia delle Entrate”.
  3. Prompt caching (Anthropic, OpenAI): se ripeti lo stesso system prompt, paghi solo il 10% per il prefisso. Sfrutta sempre per prompt > 1k token con alta ripetizione.
  4. System prompt minimale + few-shot mirati > system prompt enciclopedico.
  5. Per streaming output: comunica all’utente i primi token in pochi ms. Cambia la percezione anche se il costo totale è uguale.

Domande di verifica (mini-test)

  1. Una pagina di prosa italiana (~250 parole) quanti token sono, ordine di grandezza? → 350-450 token.

  2. Un PDF di un romanzo italiano da 300 pagine ci sta in un context di 128k token? → No, in genere serve almeno 250-350k (o splittare con RAG).

  3. Stessa frase in italiano e in cinese: chi costa più token? → Cinese (tokenizer ottimizzato su latino).

  4. Perché un modello fatica a contare le “r” in “fragola”? → Perché tokenizza in pezzi (["fra", "gola"]) e non vede le lettere singole.

  5. È più economico un system prompt di 2.000 token usato 1.000.000 di volte con caching o un system prompt di 300 token senza caching? → Con caching: ~$80, senza caching su 300 token: ~$900. Caching vince spesso, dipende dai listini.


🎓 Hai finito il Capitolo 10

Ricapitolando, da oggi tu sai:

  • Cos’è un LLM (101), come funziona la next-token prediction (103).
  • Come il testo diventa token (102) e perché conta per costi e qualità.
  • Cos’è il contesto e come si gestisce (104).
  • Il termostato della temperature (105).
  • Cos’è un embedding e a cosa serve (106).
  • Cosa significano davvero i miliardi di parametri (107).
  • Perché allucina e cosa lo riduce (108).
  • Le differenze tra GPT, Claude, Gemini e gli altri (109).
  • Come misurare e ottimizzare in pratica (110).

Sei pronto per il prossimo capitolo: prompt engineering decente (111-120).


Take-away in una riga

Misurare i token è la differenza tra “uso un’AI” e “uso un’AI a costo controllato”. 30 minuti su tiktokenizer ti rendono il 30% più efficiente per sempre.

➡️ Prossimo capitolo: Prompt engineering decente (puntate 111-120). Da “scrivere come parli” alle 6 leggi del prompt che funziona, role prompting, few-shot, chain-of-thought, formato output, vincoli, system vs user, iterazione, template, TEST con 5 prompt da ottimizzare.