Ovvero: come ho scoperto che Google ha cambiato il significato delle parole mentre non guardavo
Oggi pomeriggio ho chiesto a un modello Gemini di scrivere una poesia leopardiana. Diciassette secondi di silenzio. Poi, il flusso: endecasillabi, pessimismo cosmico, natura matrigna. Tutto corretto, stilisticamente appropriato, persino commovente se uno è di umore giusto.
Ma diciassette secondi.
Il modello si chiamava Gemini 3 Flash. Flash. Diciassette secondi prima di emettere la prima sillaba.
Questo silenzio ha un nome: TTFT, Time To First Token. Il tempo tra quando premi invio e quando appare la prima parola. Per chi costruisce interfacce conversazionali, conta più della qualità, più del costo. Il cervello umano ha una soglia: dopo 500 millisecondi una risposta sembra lenta, dopo 3 secondi sembra rotta.
Ho fatto il test canonico. Stessa richiesta, modelli diversi della stessa famiglia:
| Modello | TTFT |
|---|---|
| Gemini 2.0 Flash | 1.7 secondi |
| Gemini 2.5 Flash | 13-15 secondi |
| Gemini 3 Flash | 15-17 secondi |
I numeri non mentono, ma i nomi sì. Tutti e tre si chiamano “Flash”. Uno solo lo è.
Dalla versione 2.5 in poi, Google ha integrato nei modelli Flash una capacità di ragionamento interno — thinking, nel gergo. Il modello non sputa più token appena li calcola. Prima pensa. Pianifica la struttura, valuta le opzioni, decide il registro stilistico. Poi, solo poi, inizia a scrivere.
Per la poesia leopardiana questo significa: il modello deve decidere se usare endecasillabi sciolti o rime alternate, se partire dalla natura o dall’io lirico, se chiudere sul nulla cosmico o sulla rassegnazione. Tutto questo avviene in silenzio, nel buio della latenza, prima che compaia il primo “Già l’ombra scende sulla valle muta.”
È come se avessi chiesto a uno scrittore di improvvisare e lui, invece di buttarsi, avesse prima fatto uno schema su un foglio nascosto. Lo schema migliora il risultato. Ma nel frattempo io fisso lo schermo vuoto.
Nel 2013 Second Life doveva essere il futuro dell’educazione immersiva. Chi lo usava sapeva la verità: lento, instabile, tempi di caricamento che spegnevano qualunque entusiasmo. Contenuto promettente, fruizione impossibile.
Oggi i modelli 2.5 e 3 offrono contenuto superiore — la poesia è oggettivamente migliore, più sfumata, con analisi critica incorporata. Ma chi li usa, aspetta.
(Obiezione possibile: se l’utente sa che il sistema sta ragionando, la tolleranza sale. Vero per un’interfaccia che mostra il pensiero in tempo reale. Falso per un NPC in un mondo virtuale: un personaggio che resta muto 17 secondi non sta “riflettendo”, sta caricando. L’illusione muore.)
Chi costruisce assistenti conversazionali, interfacce vocali, NPC in mondi virtuali, ha bisogno di risposte in 500 millisecondi. Non in 17 secondi.
Google lo sa, naturalmente. Per questo ha introdotto un parametro chiamato thinking_budget. Impostalo a zero e il modello torna veloce. Perde qualità, guadagna reattività. È un compromesso onesto, se sai che esiste. Ma quanti sviluppatori leggono la documentazione fino a quel paragrafo?
Il test che ha svelato tutto era sulla simulazione di Leopardi. Leopardi, nella Ginestra: “Nobil natura è quella che a sollevar s’ardisce gli occhi mortali incontra al comun fato.”
Il comun fato qui è il marketing tecnologico. Tutti i prodotti promettono velocità. Pochi la mantengono quando le cose si complicano. Il modello Flash pensa, come Leopardi pensava. Ma Leopardi non pretendeva di essere istantaneo.
La nomenclatura è diventata aspirazionale. “Flash” non significa più rapido. Significa più rapido del fratello Pro, che è come dire che un treno regionale è veloce perché il treno merci è più lento. Tecnicamente vero. Praticamente, irrilevante per chi deve arrivare in tempo.
La documentazione lo dice chiaro: per Gemini 2.5 Flash si può impostare thinking_budget=0. Per Gemini 3 Flash esiste thinking_level con valori MINIMAL, LOW, MEDIUM, HIGH. Un test su 600 chiamate [1] mostra che con thinking: minimal il TTFT di Gemini 2.5 Flash scende da 1879ms a 503ms — meno 73%, un parametro.
Ma l’impostazione predefinita è “pensa quanto vuoi”. E per una poesia leopardiana, il modello vuole pensare molto.
Un utente sul forum Google [2] ha notato che anche con thinking_budget=0, il 2.5 Flash rimane più lento del 2.0 Flash sulla stessa richiesta: 15 secondi contro 7. Chiedere a un modello addestrato per ragionare di non ragionare è come chiedere a un maratoneta di fare i 100 metri: corre, ma la fisiologia è ottimizzata per un altro sforzo.
Quindi: scegli il modello in base al compito, non in base al nome.
Per conversazioni fluide, risposte immediate, NPC che devono reagire in tempo reale: Gemini 2.0 Flash. Per analisi complesse, scrittura di codice, documenti strutturati dove puoi tollerare qualche secondo di attesa: 2.5 o 3. Per il caso intermedio, esiste il 2.5 Flash-Lite, che a 381ms di TTFT è il vero erede del nome “Flash” [1].
La nomenclatura mente. Le misure no.
Diciassette secondi di silenzio, poi versi che parlano di “vana speme” e “dolore eterno”. Leopardi avrebbe apprezzato l’ironia: un sistema progettato per rispondere all’istante che si prende il suo tempo per meditare sulla vanità dell’esistenza.
Forse i modelli di nuova generazione hanno capito qualcosa che noi, nella corsa alla latenza zero, abbiamo dimenticato. Che pensare richiede tempo. Che la qualità ha un costo. Che “flash” è solo un nome.
Ma intanto, per il mio sistema di NPC, userò il 2.0. Il pessimismo cosmico può aspettare.
Riferimenti
[1] K. Geh, “I Tested 6 Gemini Models for Voice AI Latency”, DEV Community, dicembre 2025. Benchmark su 600 chiamate con analisi TTFT per modello e configurazione.
[2] Google AI Developers Forum, “Why I observed gemini2.5flash (setting thinking_budget=0) is slower than gemini2.0flash?”, aprile 2025. Discussione su overhead architetturale residuo.
[3] Google Cloud Documentation, “Thinking | Generative AI on Vertex AI”, 2025. Documentazione ufficiale su thinking_budget e thinking_level.
[4] Google Developers Blog, “Start building with Gemini 2.5 Flash”, aprile 2025. Annuncio del modello con spiegazione del concetto di hybrid reasoning.
Post scriptum tecnico per chi sviluppa: Se usate Vertex AI con Python, la sintassi per disabilitare il thinking è:
from google.genai import typesresponse = client.models.generate_content( model="gemini-2.5-flash", contents="la vostra richiesta", config=types.GenerateContentConfig( thinking_config=types.ThinkingConfig( thinking_budget=0 ) ))
Per Gemini 3 Flash, sostituite thinking_budget con thinking_level=types.ThinkingLevel.MINIMAL. La documentazione completa è sul sito Google Cloud, sezione Vertex AI. Leggetela prima di lamentarvi della latenza. Io l’ho fatto dopo.

Leave a comment