Context window: cosa vuol dire davvero un milione di token

8 min di lettura

Ormai quasi ogni modello nuovo esce con la stessa promessa: un milione di token di context window. Detto così suona enorme, ma quanto è davvero? Ci sta un libro, un progetto intero, tutta la documentazione di un’azienda? E soprattutto: se ci sta, il modello lo usa bene?

Per rispondere ho fatto la cosa più concreta che mi è venuta in mente: ho preso tutto questo blog, venti articoli compresi quelli programmati, e l’ho misurato. Poi l’ho dato in pasto a un modello per vedere cosa succede quando il contesto cresce. In questo articolo trovi cos’è la context window, quanto è grande oggi, quanto costa riempirla e perché “ci sta” non vuol dire “lo usa bene”.

Cos’è la context window

La context window è la memoria di lavoro del modello: tutto quello che può tenere presente mentre risponde a una singola richiesta. Non c’entra con quello che ha imparato durante l’addestramento, che è un’altra cosa: è lo spazio in cui metti il materiale su cui deve lavorare adesso.

Dentro la finestra finisce tutto, non solo la tua domanda:

  • le istruzioni di sistema;
  • tutta la cronologia della conversazione, perché con le API il modello non ricorda niente e a ogni turno gli rimandi tutto;
  • documenti, immagini e PDF che alleghi;
  • le definizioni degli strumenti e i loro risultati, se usi il tool use;
  • la risposta che il modello sta scrivendo, compresi gli eventuali token di ragionamento.

Poi c’è un secondo limite, separato: l’output massimo, cioè quanto può essere lunga la risposta di una singola chiamata. Un modello può leggere un milione di token ma scriverne al massimo 128.000, per esempio. Se l’input da solo supera la finestra, l’API rifiuta la richiesta con un errore; se è la risposta ad arrivare al limite, sui modelli Claude recenti per esempio si interrompe lì.

Quanto è grande la context window oggi

ModelloContext windowOutput massimo
GPT-6 Astra, Sol e Luna1.050.000128.000
Claude Opus 5.5, Sonnet 5 e Fable 5.11.000.000128.000
Claude Haiku 4.5200.00064.000
Gemini 3.1 Pro1.048.57665.536
DeepSeek V4.1 Flash1.000.000384.000
Grok 4.7500.000n.d.
Token, dalle pagine ufficiali a fine settembre 2026. Tutti i modelli sono nel tracker dei modelli IA.

Il milione di token è diventato lo standard dei modelli di punta. Le eccezioni sono i modelli piccoli, come Claude Haiku 4.5 che si ferma a 200.000, e alcuni modelli specializzati.

Quanto ci sta in un milione di token: l’ho misurato sul mio blog

Le conversioni astratte (“un milione di token sono circa 750.000 parole”) non mi convincono, anche perché l’italiano pesa più dell’inglese e ogni modello conta a modo suo. Quindi ho misurato due cose che conosco bene.

GPT-6Claude Haiku 4.5Claude Sonnet 5
Tutto il blog: 20 articoli, circa 23.500 parole36.79644.26461.065
Il plugin del chatbot del blog: 1.451 righe di PHP20.68324.98231.855
Token contati il 28 settembre 2026 con tiktoken (o200k_base, che coincide con GPT-6) e con l’endpoint di conteggio di Anthropic.

Tradotto: tutto quello che ho scritto finora su questo blog occupa meno del 4% della finestra di GPT-6 e circa il 6% di quella di Claude Sonnet 5. In un milione di token ci starebbe dalle 16 alle 28 volte, a seconda del modello. Per il codice il conto è simile: un file PHP bello corposo sta sui 20.000-30.000 token, quindi in una finestra da un milione entra un progetto di qualche decina di file così.

Il milione di token, insomma, è davvero tanto. Il problema non è quasi mai lo spazio. Il problema è cosa costa riempirlo e cosa succede alla qualità quando lo riempi.

Il contesto si paga a ogni chiamata

Tutto quello che metti nella context window lo paghi come input, a ogni singola chiamata. Se mandi tutto il blog al modello per rispondere a una domanda, e poi lo rimandi per la domanda successiva, lo paghi due volte. Ecco quanto costerebbe mandare tutto il blog in una sola richiesta, e quanto costa riempire la finestra per intero:

ModelloTutto il blog, una voltaUn milione di token, una volta
GPT-6 Luna$0,004$0,20
GPT-6 Sol$0,07$4
Claude Sonnet 5$0,12$2
Claude Opus 5.5$0,24$4
Claude Fable 5.1$0,61$10
GPT-6 Astra$0,37$20
Solo input, tariffa standard senza cache, prezzi di fine settembre 2026.

Nella colonna di destra c’è una trappola che vale la pena conoscere: il sovrapprezzo per il contesto lungo. Su GPT-6, come scrive OpenAI nella scheda del modello, le richieste con più di 272.000 token di input costano il doppio in input e una volta e mezza in output, e il prezzo più alto vale per tutta la richiesta, non solo per la parte oltre la soglia. Per questo riempire la finestra di GPT-6 Sol costa $4 e non $2. Gemini 3.1 Pro e Grok 4.7 hanno una soglia simile a 200.000 token. Anthropic invece, secondo la sua documentazione sulla context window, fattura il milione di token a prezzo standard.

Per confronto, il chatbot di questo blog a ogni domanda manda al modello circa 2.000 token, non 37.000: solo i pezzi di articolo pertinenti. Come li sceglie lo racconto nell’articolo sul chatbot RAG senza database vettoriale.

Una nota interessante dal mio test: quando ho mandato due volte di fila lo stesso testo a GPT-6 Luna, alla seconda chiamata OpenAI aveva già messo in cache da solo 36.823 token su 36.826. La cache abbassa molto il costo del contesto ripetuto, ed è l’argomento del prossimo articolo della serie.

“Ci sta” non vuol dire “lo usa bene”

Qui arriva la parte che nelle schede dei modelli non trovi scritta in grassetto. Più il contesto cresce, più il modello fa fatica a usarlo tutto con la stessa attenzione. Anthropic lo dice esplicitamente e gli dà anche un nome, context rot: al crescere dei token, precisione e capacità di richiamare i dettagli peggiorano.

Il fenomeno è studiato da anni. Il paper più citato è Lost in the Middle (Liu e colleghi, pubblicato su TACL), che ha mostrato un andamento a U: i modelli trovano meglio le informazioni quando stanno all’inizio o alla fine del contesto, e peggio quando stanno nel mezzo. Da allora i modelli sono migliorati molto, ma il principio resta.

Il mio test da quattro soldi

Volevo vederlo con i miei occhi, quindi ho fatto una prova semplice. Ho preso il testo di tutto il blog, con ogni articolo che comincia con un titolo preceduto da #, e ho chiesto a GPT-6 Luna, senza ragionamento, quanti titoli ci sono. Prima su un pezzo corto, poi su uno medio, poi su tutto. Due volte per ogni lunghezza.

TestoTokenRisposta giustaRisposte di GPT-6 Luna
Inizio del blog1.08631 e 3
Un quarto del blog10.21497 e 8
Tutto il blog36.7962218, 18, 17 e 16
Sull’intero blog ho fatto quattro prove: due con il testo tagliato a 160.000 caratteri, che lo contiene già tutto, e due con il testo completo.

Non è una ricerca scientifica: sono poche prove, contare è un compito in cui i modelli linguistici sono deboli in generale, e un modello che ragiona prima di rispondere se la caverebbe meglio. Però l’andamento è chiaro. Con poche migliaia di token l’errore è piccolo, sull’intero blog ne mancano da 4 a 6 su 22, e la stessa domanda sullo stesso testo dà risposte diverse. E parliamo di 37.000 token, il 4% della finestra.

Sulla velocità, invece, a questi volumi non ho visto differenze: tra mille e 37.000 token le risposte sono arrivate sempre tra 0,9 e 1,9 secondi, senza una tendenza legata alla lunghezza. Con centinaia di migliaia di token l’attesa cresce, ma non l’ho misurato e non ti do numeri inventati.

Come gestire la context window nella pratica

La regola che mi sono dato è semplice: la context window è un limite, non un obiettivo. Nella pratica vuol dire questo.

  • Metti solo quello che serve. Se hai tanti documenti, cerca i pezzi pertinenti e passa solo quelli: è l’idea alla base di un chatbot RAG. Costa meno e spesso risponde meglio.
  • Tieni sotto controllo la cronologia. Nelle chat lunghe taglia gli scambi più vecchi o sostituiscili con un riassunto. Alcuni provider lo fanno anche lato server: Anthropic, per esempio, ha la compaction (in beta), che riassume in automatico le parti vecchie della conversazione.
  • Metti le cose importanti all’inizio o alla fine. Istruzioni in apertura, domanda in fondo, dopo i documenti. Il centro di un contesto lunghissimo è il posto peggiore per l’informazione che conta.
  • Conta prima di mandare. Con tiktoken per GPT-6 o con l’endpoint gratuito di Anthropic sai in anticipo se stai per superare una soglia di prezzo. L’ho spiegato nell’articolo su cosa sono i token.
  • Usa la cache per il contesto che si ripete. Se mandi sempre lo stesso documento lungo, la cache ti fa pagare la parte ripetuta una frazione del prezzo.
  • Quando il contesto è enorme, verifica. Se devi davvero far lavorare il modello su centinaia di migliaia di token, per esempio per un’analisi di un grosso documento, chiedigli di citare i passaggi da cui prende ogni informazione e controllane qualcuno.

In sintesi

Un milione di token è davvero tanto: tutto questo blog ne occupa tra il 4 e il 6%. Per questo il limite, nella pratica, raramente è lo spazio. Sono il costo, che paghi a ogni chiamata e che su alcuni modelli raddoppia oltre una soglia, e la qualità, che cala man mano che il contesto cresce. Il modo migliore di usare una context window enorme è riempirla il meno possibile.

Se parti da zero con le API, il punto d’ingresso è la guida alle API di intelligenza artificiale; i prezzi e le finestre di tutti i modelli sono nel tracker dei modelli IA. Il prossimo articolo della serie parla di prompt caching e Batch API, i due modi per tagliare il costo del contesto senza toglierne nemmeno una riga.

Newsletter

Ti è stato utile? Il prossimo te lo mando io.

La rassegna AI ogni mattina oppure il digest della domenica: scegli tu.

Cosa vuoi ricevere
Che differenza c’è tra le due newsletter?

Rassegna AI quotidiana: ogni mattina alle 8:30, le notizie sull'IA del giorno.

Digest settimanale: la domenica, gli articoli e le rassegne della settimana in una sola mail.

Puoi sceglierle anche tutte e due.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *