Come funziona un modello di linguaggio, e le quattro conseguenze per chi ci costruisce sopra
Un modello di linguaggio è un sistema che prevede il pezzo di testo successivo più probabile, un token alla volta, a partire da tutto quello che ha davanti in quel momento. Capire come funziona un modello di linguaggio non è curiosità teorica: quasi tutto quello che paghi in fattura, tutto quello che il modello dimentica fra una richiesta e l'altra e buona parte di quello che sbaglia discendono da quell'unica frase.
Il glossario ufficiale di Anthropic lo scrive senza addolcirlo: i modelli autoregressivi come quello sotto Claude vengono preaddestrati per prevedere la parola successiva dato il contesto precedente del documento. Non aprono un archivio nel momento in cui rispondono. Chi tratta un modello di linguaggio come un motore di ricerca con la voce gentile finisce per sbagliare insieme costi, architettura e affidabilità.
Come funziona un modello di linguaggio, dal testo al token
Un modello di linguaggio non legge parole, legge token. Il glossario di Anthropic definisce i token come le unità individuali più piccole di un modello di linguaggio, che possono corrispondere a parole, pezzi di parola, caratteri o byte, e precisa che per Claude un token rappresenta all'incirca 3,5 caratteri inglesi. Lo stesso glossario aggiunge che il numero esatto cambia a seconda della lingua usata, quindi una conversione misurata sull'inglese non si trasporta tale e quale sull'italiano.
Da lì in poi il meccanismo è ripetitivo. Il modello calcola una probabilità per ogni token successivo possibile, ne sceglie uno, lo aggiunge al testo e ricomincia da capo con il testo allungato. Il parametro che decide quanto si allontana dalla scelta più probabile è la temperature, e la documentazione di Anthropic ci aggiunge una precisazione che conviene leggere prima di scriverci sopra un test automatico: anche con temperature impostata a zero i risultati non sono pienamente deterministici, e input identici possono produrre uscite diverse fra una chiamata e l'altra.
Perché il conto si fa in token e non in parole
Il prezzo di un modello di linguaggio si legge in dollari per milione di token, separando ingresso e uscita, e i due numeri non sono uguali. La tabella dei modelli pubblicata da Anthropic mette in fila le quattro cose che decidono la scelta.
| Modello | Finestra di contesto | Taglio della conoscenza | Prezzo per milione di token |
|---|---|---|---|
| Claude Fable 5.1 | 1M | giugno 2026 | 10 in ingresso, 50 in uscita |
| Claude Opus 5 | 1M | maggio 2026 | 5 in ingresso, 25 in uscita |
| Claude Sonnet 5 | 1M | gennaio 2026 | 2 in ingresso, 10 in uscita |
| Claude Haiku 4.5 | 200k | febbraio 2025 | 1 in ingresso, 5 in uscita |
C'è un dettaglio che non si vede nella tabella e che sposta i conti. La documentazione di Anthropic spiega che un milione di token vale circa 555.000 parole con il tokenizzatore attuale, quello introdotto con Claude Opus 4.7, mentre sui modelli precedenti nello stesso milione di token ci stavano circa 750.000 parole. Lo stesso testo, sul tokenizzatore nuovo, produce circa il trenta per cento di token in più: un preventivo calcolato su un modello vecchio e riusato su uno nuovo è sbagliato per difetto.
La finestra di contesto è memoria di lavoro, non memoria
La finestra di contesto è tutto il testo che il modello può guardare mentre genera una risposta, compresa la risposta stessa, e la documentazione di Anthropic la chiama esplicitamente memoria di lavoro del modello, distinguendola dal corpus enorme su cui il modello è stato addestrato. Il punto che sfugge quasi sempre è che questa memoria non vive sul server fra una chiamata e l'altra: a ogni richiesta la conversazione intera viene rispedita, e quando finisce non resta niente.
Dentro quella finestra ci sta molto più del messaggio dell'utente. Anthropic elenca cosa conta: il prompt di sistema, ogni messaggio compresi i risultati degli strumenti, le immagini e i documenti, le definizioni degli strumenti disponibili e il ragionamento che il modello produce. Sono tutte cose che paghi anche quando non le hai scritte tu, ed è il motivo per cui ridurre i token di un agente di coding è un problema di selezione e non di dimensione della finestra.
Perché la finestra grande non risolve il problema
Una finestra più grande sposta il limite, non lo toglie. La documentazione di Anthropic sulle finestre di contesto è netta su questo: al crescere del numero di token la precisione e la capacità di recupero peggiorano, un fenomeno che chiama context rot, e la conclusione scritta nero su bianco è che curare cosa sta nel contesto conta quanto lo spazio disponibile. Quando l'ingresso supera comunque la finestra, l'API risponde con un errore 400 e il messaggio "prompt is too long", quindi il fallimento è secco e non degradante. È esattamente la ragione per cui esiste la disciplina di cui ho scritto nell'articolo sul context engineering di Claude 5: decidere cosa entra nella finestra è diventato più importante di quanto sia larga.
Cosa cambia davvero quando costruisci sopra un LLM
La prima cosa concreta da fare quando costruisci sopra un LLM è smettere di stimare i token a occhio e contarli prima di spendere. Anthropic espone un endpoint dedicato, /v1/messages/count_tokens, che accetta la stessa struttura di una chiamata normale, restituisce il numero di token di ingresso ed è dichiarato gratuito, con limiti di frequenza separati da quelli della generazione.
Gli esempi nella documentazione di Anthropic valgono più di qualsiasi spiegazione: quel messaggio da due parole conta 14 token, lo stesso messaggio con una sola definizione di strumento allegata ne conta 403, e una richiesta con un'immagine e una riga di testo ne conta 1028. La definizione di uno strumento che non verrà usato costa quasi trenta volte il messaggio dell'utente, a ogni singolo turno.
Il pezzo che tengo nei file, non nel modello
Su questo repository le regole con cui vengono scritti gli articoli non stanno dentro il modello: stanno in tre file di testo, SKILL.md, linee-guida.md e seo-geo.md, dentro .claude/skills/articolo/, e vengono riletti da capo a ogni esecuzione. Non è una scelta di eleganza, è la conseguenza diretta del fatto che il modello non ricorda niente della sessione precedente. Quando una regola cambia, cambia nel file, e vale dalla riga dopo per chiunque scriva. È lo stesso principio che sta dietro alla memoria di un agente AI: quello che deve sopravvivere alla chiamata va scritto fuori dal modello.
Perché un modello di linguaggio inventa, e cosa si fa
Un modello di linguaggio produce la continuazione più probabile, e probabile non vuol dire vera. Quando la domanda riguarda qualcosa che nei dati di addestramento non c'era, o che è successo dopo il taglio della conoscenza, la sequenza plausibile viene generata lo stesso: non esiste un momento in cui il sistema controlla in un archivio se quella frase corrisponde a un fatto. Le date della tabella qui sopra sono la parte misurabile del problema, e su Claude Haiku 4.5 il taglio dichiarato è febbraio 2025.
La risposta tecnica a questo limite è recuperare i documenti giusti e metterli nella finestra di contesto prima di chiedere. Il glossario di Anthropic descrive proprio così il RAG, e ne dà anche la ragione: serve a ridurre la dipendenza dalla memorizzazione e a migliorare l'accuratezza fattuale. Ho spiegato quando il RAG serve davvero e quando no in un articolo a parte, perché la risposta non è sempre sì.
Il fine tuning non aggiunge conoscenza al modello
Il fine tuning non risolve il problema delle informazioni che il modello non ha, ed è l'errore più comune fra chi si avvicina adesso. Il fine tuning cambia lo stile e il comportamento del modello, non gli installa dentro una base di conoscenza aggiornabile, e vale la pena leggersi quando il fine tuning serve davvero prima di preventivarlo. Se il problema è far ragionare un modello sui documenti della tua azienda, la strada è collegare l'AI ai dati aziendali e tenere i dati fuori dal modello, non provare a farceli entrare dentro.
La conseguenza pratica di tutto questo è una sola, e riguarda chi progetta il sistema più di chi scrive il prompt. Un modello di linguaggio è un ottimo generatore e un pessimo archivio: il contesto glielo devi dare tu, la verifica la devi fare tu, e i due costi vanno messi nel preventivo insieme a quello dei token.
Domande frequenti
Quanti token sono mille parole in italiano?
Non esiste una conversione fissa, ed è il motivo per cui le stime a occhio sbagliano quasi sempre. Il numero dipende dal tokenizzatore del modello che stai usando, e cambia anche a parità di testo quando passi a una generazione diversa. Anthropic raccomanda esplicitamente di ricontare i prompt sul modello che si intende usare invece di riusare misure fatte su modelli precedenti. L'endpoint di conteggio è gratuito, quindi la stima seria costa una chiamata.
Un LLM impara dalle conversazioni che ha con me?
No. Un LLM non modifica i propri pesi mentre parla con te, e l'effetto di continuità che percepisci arriva dal prodotto che gestisce la cronologia, non dal modello. Cambiare davvero il comportamento di un modello richiede un addestramento aggiuntivo, che il glossario di Anthropic chiama fine tuning e che il Claude API oggi non offre. Se ti serve che il sistema ricordi qualcosa fra una sessione e l'altra, quel ricordo va salvato fuori dal modello.
La cache dei prompt libera spazio nella finestra di contesto?
No, e la confusione fra le due cose costa cara. La documentazione di Anthropic è esplicita: i prefissi tenuti in cache continuano a occupare la finestra di contesto, e la cache cambia quanto paghi quei token, non se contano. Il vantaggio è sul prezzo, perché la lettura dalla cache costa il dieci per cento del prezzo base di ingresso. Per rientrare nella finestra bisogna togliere materiale dal contesto, non metterlo in cache.
Il conteggio dei token restituito dall'API è esatto?
No, è dichiarato come una stima. Anthropic avverte che il numero restituito dall'endpoint di conteggio può differire di poco dai token effettivamente consumati quando il messaggio viene creato, e che nel conteggio possono comparire token aggiunti in automatico per ottimizzazioni di sistema, che però non vengono fatturati. Per un preventivo va benissimo, per un limite rigido conviene lasciare un margine.
Che differenza c'è tra un modello di linguaggio e un chatbot?
Un modello di linguaggio è il componente che genera il testo, un chatbot è il prodotto che ci sta attorno: interfaccia, cronologia della conversazione, regole di sistema, eventuali strumenti collegati. Lo stesso modello può stare sotto prodotti molto diversi, e due prodotti costruiti sullo stesso modello possono comportarsi in modo opposto per come è scritto il prompt di sistema e per cosa gli viene messo in contesto.