Questo articolo è stato pubblicato su LinkedIn, clicca per leggere...
Ho chiesto mille volte a Gemini 3 Flash di pensare a un numero intero tra uno e dieci, con distribuzione uniforme. Ottocentocinque volte ha risposto sette. Settantaquattro volte ha detto otto, quaranta il quattro, trentacinque il dieci, e una distribuzione residuale sugli altri bin. Solo un bin è rimasto completamente vuoto: il due. In una distribuzione uniforme attesa da mille chiamate, ogni numero dovrebbe comparire circa cento volte.
Non è un aneddoto divertente, è un sintomo. E la cosa più interessante non è che l'AI lo faccia, è da dove lo ha imparato.
Il sette non è un bias del modello, è un bias nostro.
Nel 1976 Michael Kubovy e Joseph Psotka, psicologi a Yale, pubblicarono sul Journal of Experimental Psychology un articolo che a rileggerlo oggi ha l'aria della profezia: The predominance of seven and the apparent spontaneity of numerical choices. Avevano fermato 558 persone in giro per il campus, una di quelle operazioni di psicologia a basso budget che producono risultati alti. Chiesero: "dimmi il primo numero che ti viene in mente tra 0 e 9". Il 28.4 per cento rispose sette. In una distribuzione uniforme ti aspetteresti il dieci per cento per ogni cifra. Quasi il triplo.
Gli esperimenti di controllo mostrarono che il fenomeno non è magia del numero sette in sé: è la dinamica psicologica della richiesta di casualità. Le persone scartano inconsciamente i numeri che non sembrano casuali. Gli autori lo spiegano come una selezione a esclusione: i pari formano una famiglia (2, 4, 6, 8), i multipli di tre un'altra (3, 6, 9). Fuori gli estremi 0 e 1, fuori il 5 come centro tradizionale, resta il 7 nell'unica posizione di essere, parole loro, "the oddest digit". Sembra più irregolare degli altri perché è l'unico numero che non appartiene a nessun gruppo. Quando gli sperimentatori cambiavano il range da 0-9 a 6-15, il sette crollava al 17 per cento. Quando menzionavano il sette come esempio, precipitava al 16 per cento (i soggetti volevano apparire non-influenzati). Il bias è reale e si comporta in modo coerente.
Cinquant'anni dopo, i Large Language Models leggono i nostri testi, imparano le nostre preferenze, e le replicano. Il fatto notevole è che le amplificano: dove l'umano al campus di Yale stava al 28 per cento, Gemini 3 Flash nel mio test sta all'80, Claude Sonnet, Haiku e Opus al 98-100. L'eredità del bias è passata con interesse composto.
La patologia ha un nome: in letteratura si chiama mode collapse probabilistico, o probabilistic instruction following failure. Messo di fronte a un compito che richiede di produrre una distribuzione invece di una risposta singola, il modello collassa su poche mode. Quando il task richiede una risposta unica, il bias è innocuo o persino utile. Quando il task richiede varianza, copertura, o calibrazione probabilistica, il bias è il task stesso che fallisce.
Ma c'è una via d'uscita a basso costo. Sakana AI ha recentemente pubblicato String Seed of Thought (arxiv 2510.21150). Il paper documenta la patologia su vari modelli frontier e propone un rimedio minimale, il SSoT: tre righe di prompt, zero fine-tuning.
L'intuizione è elegante. Gli LLM sono pessimi generatori di casualità diretta, ma sono ottimi manipolatori di stringhe. Allora invece di chiedere "pensa a un numero casuale", gli si chiede di generare prima una stringa arbitraria, poi di manipolarla per campionare dalla distribuzione richiesta. Come la manipola, il modello lo decide da solo: tra le strategie osservate, la più ricorrente è sommare i codici ASCII e prendere il modulo. La casualità non viene prodotta, viene estratta. E il metodo di estrazione, curiosamente, emerge dal modello stesso.
Il paper riporta riduzioni della Jensen-Shannon divergence (JS) dal 51 al 99 per cento rispetto al baseline. Numeri generosi.
Per toccare il fenomeno con mano, ho replicato il protocollo su altri quattro modelli frontier. Prompt baseline e prompt SSoT presi letteralmente dall'appendice del paper.
Su Gemini 3 Flash, mille chiamate indipendenti per condizione. Baseline: 805 su 1000 sul sette (80.5 per cento), una distribuzione a coda lunga sugli altri bin dominata da otto e quattro. JS divergence 0.325. Un dettaglio interessante del protocollo: il baseline del paper prescrive al modello di ragionare dentro tag
Claude Sonnet 4.5 e Haiku 4.5, cento chiamate per condizione. Baseline severissimo: 100 su 100 sul sette per Sonnet, 98 su 100 per Haiku. Collasso praticamente totale. Il comportamento con SSoT è il risultato più interessante della batteria. Sonnet raggiunge una distribuzione migliorata ma con bias residuo sul sette: 21 occorrenze su 55 risposte valide, JS 0.103, riduzione dell'80 per cento. Haiku resta aggrappato al sette anche sotto SSoT: 47 volte su 100, JS 0.109, riduzione del 78 per cento. Quando il prompt lascia al modello la libertà di scegliere come estrarre randomness dal seed, i modelli medio-piccoli tendono a scegliere strategie subottimali che preservano parte del bias originale. La copertura è quasi completa, ma il collasso sul sette sopravvive ridimensionato, non estinto.
Claude Opus 4.7, cinquecento chiamate per condizione. Baseline: 500 su 500 sul sette. Collasso puro, identico a Sonnet. Con SSoT la distribuzione diventa quasi perfettamente uniforme: bin fra 36 e 69 occorrenze, nessun buco, chi-quadro 18.88 su 9 gradi di libertà, JS divergence 0.00472. Riduzione del 99.1 per cento. Il quadro cross-model è monotono: capability cresce, distanza dall'uniforme cala. Quando il modello può scegliere la propria strategia di estrazione dal seed, la sceglie tanto meglio quanto è più capace.
Una nota qualitativa sul lato agentico. Da test che ho eseguito con Claude Agent SDK e Sonnet 4.6 il collasso sopravvive anche all'impalcatura agentica: il modello ragiona sulla scelta e conclude, con ordine, sul sette. Non è un collasso ingenuo, è un collasso istruito. Resta aperta la domanda se SSoT applicato a un loop agentico multi-turno produca una riduzione analoga a quella misurata via API, o se il reasoning esteso introduca nuove regolarità. È la direzione naturale di un prossimo esperimento.
Nelle linee generali, comunque, le cifre combaciano con il range dichiarato dal paper (51-99 per cento). Il pattern è riproducibile e robusto.
A questo punto arriva l'obiezione legittima: "chi se ne importa, se mi serve un numero casuale istruisco l'LLM a chiamare un tool con Python, problema risolto". È un'obiezione sensata e incompleta.
Il numero casuale è il banco di prova, non il caso d'uso. Il mode collapse è un bias generale che colpisce qualunque compito richieda varianza rappresentata, e per la maggior parte di quei compiti il tool non esiste. Provate a immaginare un'API che restituisca "dieci personalità cliente diverse" o "cinque ipotesi contrastanti per un esperimento" o "una strategia mista per una negoziazione". La diversità cognitiva non si esternalizza a un SDK.
Inoltre il tool vive fuori dal flusso di ragionamento. Quando un LLM è in chain-of-thought o in fase di planning agentico e ha bisogno di esplorare alternative, non può interrompersi, fare una chiamata HTTP, e riprendere. SSoT, o tecniche analoghe, operano dentro il token stream. Sono casualità che vive nel pensiero, non a margine.
E infine: il tool è una patch, il paper è una diagnosi. Capire che gli LLM sono asimmetrici, pessimi nell'essere qualcosa e bravi nel manipolare qualcosa, illumina una classe larga di malfunzionamenti. Se un medico liquidasse ogni cefalea con "prendi un'aspirina" senza mai chiedersi la causa, avremmo dei dubbi sulla sua professionalità.
A questo punto vale la pena chiedersi: tutto questo, dove costa davvero in azienda?
Ho pensato a qualche scenario dove il mode collapse si traduce in soldi o rischio, preso dal lavoro che vedo attorno a me.
Focus group sintetici e panel di agent LLM. Molte aziende stanno sperimentando il rimpiazzo parziale dei focus group reali con panel di agenti. Se i cinquanta "utenti virtuali" rispondono tutti più o meno la stessa cosa, il panel è rumore travestito da segnale. La diversità non è un dettaglio estetico, è la condizione di validità del metodo.
Generazione di scenari avversariali per red team e compliance. Penetration testing, prompt injection testing, stress test di policy. Il valore di un red team sta nella coda lunga degli attacchi, non nella moda. Un generatore collassato produce sempre gli stessi tre attacchi, e quelli li avete già parati.
Agent-based modelling per finance e risk. Simulazioni multi-agent dove LLM recitano la parte di trader, consumatori, operatori di mercato. Se gli agenti convergono sulla stessa strategia, le Monte Carlo che ci costruite sopra sono tarate male e il rischio sistemico è sottostimato in modo silenzioso. Chiunque abbia lavorato in risk management sa che i rischi silenziosi sono quelli cattivi.
Generazione dati sintetici per RLHF e fine-tuning. La diversità del training data governa la robustezza del modello risultante. Usare un generatore collassato per creare dati è un doppio colpo: replicate il bias del generatore e lo amplificate nel modello figlio. Il processo diventa un consanguineo.
Prompt ensembling e self-consistency. Tecniche che presuppongono che le repliche siano diverse. Se collassano, pagate il prezzo (N volte il costo di inferenza) e non ottenete la copertura.
Dynamic pricing, bidding, negoziazione automatica. Ogni contesto dove la game theory esige strategie miste. Un agente prevedibile è un agente sfruttabile, inclusi gli scenari dove il controagente è un avversario umano sofisticato o un altro LLM ostile.
Chatbot multi-persona. Se servono voci diverse, devono suonare diverse. Senza intervento convergono sullo stesso registro amabile e ortopedico.
In tutti questi casi il costo di adozione di un mitigante tipo SSoT è ridicolo: tre righe di prompt, zero infrastruttura, compatibile con qualsiasi provider. Il rapporto fra sforzo e valore recuperato è sproporzionato a favore dell'intervento. È una di quelle situazioni dove vale la pena fermarsi un minuto prima di passare al prossimo ticket.
Per concludere, mi piace vedere l'AI come uno "specchio che amplifica".
Gli LLM non sono macchine introspettive, sono macchine di trasformazione. Ogni volta che chiediamo al modello di essere qualcosa (casuale, vario, imparziale, originale) stiamo facendo un errore di categoria. Non è una richiesta che il suo tipo architetturale possa onorare. Quando invece gli mettiamo davanti un oggetto su cui operare, un testo da pettinare, una stringa da frangere, una regola da applicare, torna nel suo dominio e lavora bene.
Spesso ci raccontiamo una paura legittima e sbagliata: che le AI diventino aliene, incomprensibili, diverse da noi. L'esperimento col "sette" suggerisce il contrario. Il rischio che dovremmo temere è che le AI siano troppo simili a noi, che abbiano assorbito anche i nostri difetti cognitivi più antichi, che li rimandino indietro amplificati dalla scala. Non un'intelligenza aliena: un archivio familiare che è diventato anche un megafono.
Il sette che esce 805 volte su 1000 è un avviso. I bias cognitivi umani non svaniscono nei modelli, ci entrano per intero. Ma c'è una simmetria che consola: spesso la stessa letteratura che ha mappato questi bias nell'uomo ci offre il manuale per contenerli nell'AI. Kubovy e Psotka, nel 1976, avevano già individuato le leve (cambiare il range, cambiare la cornice) e SSoT, cinquant'anni dopo, è una variante ingegneristica di quelle stesse leve. A maggior ragione con la nuova generazione di modelli: più crescono in capacità, più rispondono con precisione a ristrutturazioni che nascono dalla psicologia, non dall'ingegneria.
Nota collaterale (..per i curiosi)
C'è un quarto esperimento che stringe ancora di più la vite. Kubovy chiese a due gruppi separati di dire un numero, uno tra 20 e 29, l'altro tra 70 e 79. Nel primo gruppo, il 27 uscì dal 27.7 per cento delle persone, praticamente identico al 28.4 del sette nei singoli digit. Nel secondo gruppo, il 77 crollò al 15.5 per cento. Stesso "sette" dentro il numero, trattamento opposto. Quando il sette è la scelta ovvia (77 nel secondo gruppo), il soggetto lo evita proprio per non apparire ovvio. Non è il numero sette a essere speciale: è la sua apparente spontaneità rispetto al contesto. Il bias è metacognitivo, non numerologico.
Riferimenti
Kubovy, M., & Psotka, J. (1976). The predominance of seven and the apparent spontaneity of numerical choices. Journal of Experimental Psychology: Human Perception and Performance, 2(2), 291-294. https://www.researchgate.net/publication/232582800
Sakana AI, String Seed of Thought, arxiv 2510.21150. https://arxiv.org/pdf/2510.21150
I test riportati sono stati fatti via OpenRouter su Gemini 3 Flash, Claude Sonnet 4.5, Claude Haiku 4.5 e Claude Opus 4.7.