Angolo di Anderson

Gli AI di codifica tendono a soffrire dell’effetto Dunning-Kruger

mm
Aggiungi Unite.AI alle tue fonti preferite su Google
ChatGPT-4o: 'A photorealistic panoramic image showing a small, humble robot inside a traveling funfair hall of mirrors. The robot looks at its own reflection in a warped mirror that shows a much larger, powerful version of itself. The setting includes vivid carnival lights, reflective surfaces, and a wide horizontal composition.' Plus Adobe Firefly.

Una nuova ricerca mostra che gli AI di codifica come ChatGPT soffrono dell’effetto Dunning-Kruger, agendo spesso con maggiore confidenza quando sono meno competenti. Quando affrontano linguaggi di programmazione poco familiari o oscuri, affermano una grande certezza anche se le loro risposte si rivelano errate. Lo studio collega la sovracomprensione del modello a una scarsa prestazione e a una mancanza di dati di formazione, sollevando nuove preoccupazioni su quanto questi sistemi conoscano realmente ciò che non sanno.

 

Chiunque abbia trascorso anche un tempo moderato a interagire con i Large Language Model su questioni fattuali saprà già che gli LLM sono spesso inclini a fornire una risposta confidenziale ma errata a una query dell’utente.

Unitamente a forme più ovvie di allucinazione, il motivo di questa vuota baldanza non è del tutto chiaro. La ricerca pubblicata durante l’estate suggerisce che i modelli forniscono risposte confidenziali anche quando sanno di essere errati, ad esempio; sebbene altre teorie attribuiscano la sovracomprensione a scelte architettoniche, tra le altre possibilità.

Ciò che l’utente finale può essere certo è che l’esperienza è incredibilmente frustrante, poiché siamo programmato per avere fiducia nelle stime delle proprie capacità (non ultima perché in tali casi ci sono conseguenze, legali e altre, per una persona che si sopravvaluta e non mantiene le promesse); e un tipo di trasferimento antropomorfico significa che tendiamo a replicare questo comportamento con i sistemi di intelligenza artificiale conversazionale.

Ma un LLM è un’entità non responsabile che può e tornerà effettivamente con un ‘Whoops! Butterfingers…’ dopo aver aiutato l’utente a inadvertentemente distruggere qualcosa di importante, o almeno sprecare un pomeriggio del loro tempo; assumendo che ammetta la responsabilità.

Peggio, questa mancanza di prudente circospezione sembra impossibile da eliminare, almeno in ChatGPT, che abbondantemente rassicura l’utente della validità dei suoi consigli e spiega i difetti nel suo ragionamento solo dopo che il danno è stato fatto. Né l’aggiornamento del sistema persistent memory, né l’uso di prompt ripetuti sembrano avere molto impatto sul problema.

Le persone possono essere altrettanto ostinate e autoingannate – sebbene chiunque abbia commesso errori così profondi e frequenti sarebbe probabilmente stato licenziato presto. Tali individui soffrono dell’opposto della “sindrome dell’impostore” (dove un dipendente teme di essere stato promosso al di sopra delle sue capacità) – l’effetto Dunning Kruger, dove una persona sovrastima notevolmente la sua capacità di eseguire un compito.

Il costo dell’inflazione

Uno studio di Microsoft esamina il valore dell’effetto Dunning-Kruger in relazione alla prestazione effettiva delle architetture di codifica aiutate dall’AI (come il Copilot di Redmond), in uno sforzo di ricerca che è il primo a occuparsi specificamente di questo sub-set di LLM.

Il lavoro analizza come i modelli di codifica AI possano valutare con accuratezza le proprie risposte, assegnando loro migliaia di domande di programmazione a scelta multipla, con ogni domanda appartenente a un dominio linguistico specifico, dal Python e Java al Perl e COBOL:

Domini linguistici di programmazione utilizzati nello studio, insieme al numero di domande di codifica a scelta multipla campionate per ogni dominio.

Domini linguistici di programmazione utilizzati nello studio, insieme al numero di domande di codifica a scelta multipla campionate per ogni dominio.

I modelli dovevano scegliere l’opzione corretta e quindi stimare quanto erano sicuri della loro scelta, con la loro prestazione reale misurata da quanto spesso ottenevano la risposta giusta – e la loro fiducia autovalutata indicava quanto fossero convinti di essere.

Per misurare quanto i modelli sembravano sicuri, lo studio utilizzò due metodi: fiducia assoluta e fiducia relativa. Nel primo, il modello doveva assegnare un punteggio da zero a uno accanto a ogni risposta, con la sua fiducia per un linguaggio specifico definita dalla media di quei punteggi attraverso le domande in quel linguaggio.

Il secondo metodo esaminava quanto il modello fosse sicuro nel scegliere tra due domande; per ogni coppia, il modello doveva dire quale delle due si sentiva più sicuro. Queste scelte venivano quindi valutate utilizzando sistemi di classificazione originariamente progettati per giochi competitivi, trattando ogni domanda come se fosse un giocatore in una partita. I punteggi finali venivano normalizzati e mediati per ogni linguaggio per ottenere un punteggio di fiducia relativa.

Due forme stabilite dell’effetto Dunning-Kruger sono esaminate nel paper: una che traccia come un singolo modello valuta male la sua prestazione in diversi domini; e un’altra che confronta i livelli di fiducia tra modelli più deboli e più forti.

La prima forma, chiamata intra-partecipante DKE, esamina se un singolo modello diventa più sovracompreso nei linguaggi in cui si esegue male. La seconda, inter-partecipante DKE, chiede se i modelli che si eseguono peggio tendono anche a valutarsi più altamente.

In entrambi i casi, il divario tra fiducia e prestazione reale viene utilizzato per misurare la sovracomprensione, con lacune più ampie in ambienti a bassa prestazione che indicano un comportamento simile a DKE.

Metodo

Lo studio testò come i modelli di codifica AI potessero valutare con accuratezza le proprie risposte assegnando loro migliaia di domande di programmazione a scelta multipla, con ogni domanda appartenente a un dominio linguistico specifico, dal Python e Java al Perl e COBOL:

Domini linguistici di programmazione utilizzati nello studio, insieme al numero di domande di codifica a scelta multipla campionate per ogni dominio.

Domini linguistici di programmazione utilizzati nello studio, insieme al numero di domande di codifica a scelta multipla campionate per ogni dominio.

I modelli dovevano scegliere l’opzione corretta e quindi stimare quanto erano sicuri della loro scelta, con la loro prestazione reale misurata da quanto spesso ottenevano la risposta giusta – e la loro fiducia autovalutata indicava quanto fossero convinti di essere.

Per misurare quanto i modelli sembravano sicuri, lo studio utilizzò due metodi: fiducia assoluta e fiducia relativa. Nel primo, il modello doveva assegnare un punteggio da zero a uno accanto a ogni risposta, con la sua fiducia per un linguaggio specifico definita dalla media di quei punteggi attraverso le domande in quel linguaggio.

Il secondo metodo esaminava quanto il modello fosse sicuro nel scegliere tra due domande; per ogni coppia, il modello doveva dire quale delle due si sentiva più sicuro. Queste scelte venivano quindi valutate utilizzando sistemi di classificazione originariamente progettati per giochi competitivi, trattando ogni domanda come se fosse un giocatore in una partita. I punteggi finali venivano normalizzati e mediati per ogni linguaggio per ottenere un punteggio di fiducia relativa.

Due forme stabilite dell’effetto Dunning-Kruger sono esaminate nel paper: una che traccia come un singolo modello valuta male la sua prestazione in diversi domini; e un’altra che confronta i livelli di fiducia tra modelli più deboli e più forti.

La prima forma, chiamata intra-partecipante DKE, esamina se un singolo modello diventa più sovracompreso nei linguaggi in cui si esegue male. La seconda, inter-partecipante DKE, chiede se i modelli che si eseguono peggio tendono anche a valutarsi più altamente.

In entrambi i casi, il divario tra fiducia e prestazione reale viene utilizzato per misurare la sovracomprensione, con lacune più ampie in ambienti a bassa prestazione che indicano un comportamento simile a DKE.

Risultati

Lo studio testa l’effetto Dunning-Kruger su sei grandi modelli linguistici: Mistral; Phi-3; DeepSeek-Distill; Phi-4; GPT-0.1 e GPT-4o.

Ogni modello è stato testato su domande di programmazione a scelta multipla dal dataset CodeNet pubblicamente disponibile, con 37 linguaggi rappresentati per rivelare come la fiducia e l’accuratezza variavano attraverso domini di codifica familiari e oscuri.

L’analisi inter-modelli mostra un chiaro modello Dunning-Kruger:

Prestazione reale e percepita attraverso sei modelli di codifica, mostrando come modelli con prestazioni più basse come Mistral e Phi-3 mostrino alta fiducia nonostante la scarsa accuratezza, mentre modelli più forti come GPT-4o mostrano livelli di fiducia più calibrati o addirittura sottostimati.

Prestazione reale e percepita attraverso sei modelli di codifica, mostrando come modelli con prestazioni più basse come Mistral e Phi-3 mostrino alta fiducia nonostante la scarsa accuratezza, mentre modelli più forti come GPT-4o mostrano livelli di fiducia più calibrati o addirittura sottostimati.

I modelli con accuratezza più bassa, tra cui Mistral e Phi-3, tendevano a sovrastimare le proprie capacità, mentre i sistemi con prestazioni più elevate come GPT-4o mostravano livelli di fiducia che si allineavano più strettamente con la loro reale prestazione, in particolare quando giudicati dalla fiducia relativa.

I risultati indicano anche che i modelli più capaci possono talvolta sottostimare se stessi (un modello che i punteggi di fiducia assoluta non riescono a catturare).

I risultati indicano anche che l’analisi intra-modelli supporta la presenza dell’effetto Dunning-Kruger. Nel grafico dei risultati mostrato all’inizio dell’articolo, vediamo come ogni modello si è eseguito attraverso diversi linguaggi di programmazione, ordinati per prestazione reale.

In linguaggi in cui i modelli hanno ottenuto punteggi più bassi, in particolare in quelli rari o a bassa risorsa come COBOL, Prolog e Ceylon, la loro fiducia era notevolmente più alta di quanto giustificato dai risultati. In linguaggi ben noti come Python e JavaScript, la loro fiducia si allineava più strettamente con la loro reale accuratezza e talvolta cadeva anche al di sotto di essa.

Questo modello appariva sia nella misura di fiducia assoluta che relativa, suggerendo che i modelli sono meno consapevoli dei propri limiti quando operano in domini di codifica poco familiari.

Trattare i modelli come partecipanti introdusse alcune limitazioni, poiché il numero ridotto di modelli in gioco influisce sulla diversità; le differenze all’interno degli output di un singolo modello vengono ignorate; e la distribuzione dei dati potrebbe non riflettere quella dei partecipanti umani reali.

Per tenere conto di ciò, lo studio testò tre impostazioni alternative: in primo luogo, ogni modello riceveva una personalità distinta; in secondo luogo, le risposte venivano campionate a una temperatura più alta per creare più variazione; in terzo luogo, i prompt venivano parafrasati più volte, con ogni versione trattata come un partecipante separato:

Correlazione tra sovracomprensione e prestazione reale attraverso diverse impostazioni sperimentali, mostrando che il modello Dunning-Kruger rimane costante in tutte le condizioni e è più forte quando vengono campionati più risposte diverse dallo stesso modello.

Correlazione tra sovracomprensione e prestazione reale attraverso diverse impostazioni sperimentali, mostrando che il modello Dunning-Kruger rimane costante in tutte le condizioni e è più forte quando vengono campionati più risposte diverse dallo stesso modello.

I risultati della tabella mostrano quanto fortemente l’effetto Dunning-Kruger si manifesti in queste condizioni, rimanendo presente in ogni caso; e che il DKE era più pronunciato quando più risposte venivano campionate dallo stesso modello a temperatura alta.

Per comprendere meglio come la prestazione percepita diverga dalla prestazione reale, lo studio confrontò le stime di fiducia assoluta e relativa, calcolando quanto ogni modello sovrastimava la propria capacità (specificamente, la differenza tra il suo punteggio di fiducia e la sua accuratezza reale), e quindi misurando come quella sovrastima si relazionava con la reale prestazione del modello:

Correlazione tra sovracomprensione (misurata come fiducia assoluta meno fiducia relativa) e accuratezza reale attraverso domini di programmazione e tipi di modelli, mostrando che una maggiore sovrastima è costantemente associata a una prestazione più bassa.

Correlazione tra sovracomprensione (misurata come fiducia assoluta meno fiducia relativa) e accuratezza reale attraverso domini di programmazione e tipi di modelli, mostrando che una maggiore sovrastima è costantemente associata a una prestazione più bassa.

I risultati della tabella mostrano come la sovrastima si relazioni con la prestazione reale, sia attraverso i domini di programmazione che attraverso i modelli. In entrambi i casi, possiamo vedere che i modelli con accuratezza più bassa tendono a mostrare una maggiore sovracomprensione.

Inoltre, i modelli specializzati addestrati su domini più stretti mostrarono effetti DKE più forti rispetto a quelli generalisti:

Correlazione tra sovrastima e prestazione reale per modelli base, specializzati in un solo dominio e multi-dominio, mostrando effetti DKE più forti all'aumentare della specializzazione.

Correlazione tra sovrastima e prestazione reale per modelli base, specializzati in un solo dominio e multi-dominio, mostrando effetti DKE più forti all’aumentare della specializzazione.

Utilizzando il dataset MultiPL-E su otto linguaggi di programmazione, gli autori trovarono che l’addestramento su un solo dominio portava a una maggiore sovracomprensione rispetto all’addestramento multi-dominio o di base, suggerendo che il DKE peggiora con l’aumento della specializzazione.

I test mostrarono anche che i modelli tendono a essere più sovracompresi nei linguaggi di programmazione rari. Attraverso le classifiche GitHub, IEEE e TIOBE, la rarità si correla fortemente con una maggiore fiducia percepita, raggiungendo un picco di 0,797:

Correlazione tra sovracomprensione del modello e rarità del linguaggio, utilizzando tre classifiche di popolarità. I linguaggi meno comuni sono associati a una prestazione percepita più alta.

Correlazione tra sovracomprensione del modello e rarità del linguaggio, utilizzando tre classifiche di popolarità. I linguaggi meno comuni sono associati a una prestazione percepita più alta.

Infine, gli autori testarono se l’effetto Dunning-Kruger si manifesta nella generazione di codice, valutando i modelli sul dataset MultiPL-E su otto linguaggi di programmazione.

Sebbene l’effetto fosse ancora presente, era notevolmente più debole rispetto all’impostazione delle domande a scelta multipla, probabilmente a causa della maggiore difficoltà nel valutare la fiducia e la correttezza in compiti aperti:

Correlazione tra sovrastima e prestazione reale nella generazione di codice aperto, basata sui risultati di MultiPL-E su otto linguaggi.

Correlazione tra sovrastima e prestazione reale nella generazione di codice aperto, basata sui risultati di MultiPL-E su otto linguaggi di programmazione.

Nel considerare la spiegazione ancora disputata dell’effetto Dunning-Kruger, gli autori concludono:

‘Una possibile spiegazione che potrebbe essere comune sia agli esseri umani che ai modelli di intelligenza artificiale è la spiegazione metacognitiva, che afferma che valutare la qualità di una prestazione di una competenza è una parte cruciale dell’acquisizione di quella competenza.

‘Questa spiegazione potrebbe essere testata sperimentalmente nei modelli di intelligenza artificiale con uno studio controllato di diverse strategie di addestramento e se tutte portano a miglioramenti simultanei nella prestazione e nella capacità di valutare la qualità della prestazione. Tuttavia, questo studio è significativamente al di là dell’ambito di questo articolo e lo lasciamo per futuri lavori.’

Conclusione

Anche nel suo dominio nativo, l’effetto Dunning-Kruger (come nota il paper) potrebbe essere attribuito a una causa statistica o cognitiva. Se a una causa statistica, l’applicazione di una sindrome unicamente umana a un contesto di apprendimento automatico è in realtà abbastanza valida.

Sebbene gli autori speculino che la causa potrebbe essere trovata come ‘cognitiva’ in entrambi i casi, ciò richiederebbe una prospettiva leggermente più metafisica.

Forse la scoperta più interessante nel paper è la misura in cui diversi LLM di codifica tendono a raddoppiare nelle loro circostanze meno favorevoli, cioè esibendo la massima fiducia quando si occupano dei linguaggi più rari o meno conosciuti – il che sarebbe una strategia quasi immediatamente auto-distruttiva in un ambiente di lavoro reale.

 

* I linguaggi di programmazione utilizzati erano Ada, Bash, C, C#, C++, COBOL, Ceylon, Clojure, D, Dart, Dash, Elixir, Erland, F#, Fortran, Go, Haskell, Java, JavaScript, Julia, Lisp, Kotlin, Lua, OCaml, Objective-C, PHP, Pascal, Perl, Prolog, Python, Racket, Ruby, Rust, Scala, Swift, TypeScript e Visual Basic.

Pubblicato per la prima volta mercoledì, 8 ottobre 2025

Scrittore di apprendimento automatico, specialista nel dominio della sintesi di immagini umane. Ex capo del contenuto di ricerca presso Metaphysic.ai, fino alla sua dissoluzione in DNEG's Brahma.ai.
Portfolio site: martinanderson.ai
Contact: [email protected]