ai-tools· 7 min di lettura

Come funziona un modello di linguaggio, e le quattro conseguenze per chi ci costruisce sopra

Di Marco Masut

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.

ModelloFinestra di contestoTaglio della conoscenzaPrezzo per milione di token
Claude Fable 5.11Mgiugno 202610 in ingresso, 50 in uscita
Claude Opus 51Mmaggio 20265 in ingresso, 25 in uscita
Claude Sonnet 51Mgennaio 20262 in ingresso, 10 in uscita
Claude Haiku 4.5200kfebbraio 20251 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.

curl https://api.anthropic.com/v1/messages/count_tokens \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "content-type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-opus-5",
    "system": "You are a scientist",
    "messages": [{"role": "user", "content": "Hello, Claude"}]
  }'

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.

Continua a leggere

ai-tools

Come si addestra un modello di intelligenza artificiale: le tre fasi e quella che riguarda te

Come si addestra un modello di intelligenza artificiale: le tre fasi vere, perché il pre-addestramento non ti riguarda e cosa si fa al suo posto.
ai-tools

Fine tuning di un modello di intelligenza artificiale: quando serve davvero

Il fine tuning di un modello di intelligenza artificiale serve meno di quanto sembra. Cosa cambia davvero, quanti esempi servono e cosa provare prima.
ai-tools

Cos'è il RAG e quando serve davvero in un progetto di intelligenza artificiale

Cos'è il RAG, come funziona dalla domanda alla risposta, la soglia sotto la quale non serve e il punto preciso in cui un sistema RAG si rompe.

Risorse pratiche su questi temi

Video

Estrarre il testo da un PDF e farlo leggere davvero all'AI

Estrarre il testo da un PDF in modo che l'AI lo legga davvero: come si fa gratis e in locale con AnyDoc, e cosa cambia con le scansioni.
Articolo

Le nuove regole del context engineering per i modelli Claude 5

L'articolo di Anthropic sul context engineering per i modelli Claude 5: cosa togliere dal prompt di sistema, dal CLAUDE.md e dalle skill.