Ricercatori del Massachusetts Institute of Technology, in collaborazione con McGill, ETH Zurich, Yale, Mila Quebec e Johns Hopkins, hanno sviluppato un nuovo approccio per rendere il codice generato da modelli linguistici di grandi dimensioni (LLM) più accurato e aderente alla sintassi dei linguaggi di programmazione. Il sistema sfrutta una tecnica di campionamento adattivo chiamata Sequential Monte Carlo, che consente di ottimizzare ogni passo del processo generativo, riducendo gli errori sintattici e semantici. Il risultato: modelli più piccoli che superano in precisione quelli molto più grandi, con minori costi computazionali.
Cosa leggere
Limitazioni attuali: LLM producono codice sintatticamente scorretto o semanticamente errato
L’adozione massiva dei LLM come assistenti per la programmazione ha portato vantaggi significativi, ma ha evidenziato due problemi fondamentali: il codice generato spesso non è eseguibile o non fa ciò che l’utente intendeva. Le attuali soluzioni prevedono due approcci: controllare l’output finale, scartandolo se errato, oppure correggere passo dopo passo il codice generato. Entrambe le strade risultano però inefficienti o portano a una perdita del significato originario.
Come spiega João Loula, dottorando al MIT e co-autore dello studio, “è molto più semplice garantire la struttura rispetto al significato. Verificare se qualcosa è scritto in un linguaggio valido è banale, mentre interpretare l’intento semantico dell’utente è un compito molto più complesso”.
Un esperto virtuale guida il modello: vincoli strutturali e significativi nella generazione
L’approccio proposto dal team non si basa sull’addestramento del modello per correggere i propri errori, ma sull’introduzione di conoscenza esperta esterna all’interno del processo generativo. Il sistema genera molteplici possibili output in parallelo, assegnando a ciascuno un peso probabilistico basato sulla validità sintattica e aderenza semantica. A ogni passaggio, le varianti meno promettenti vengono eliminate, e il calcolo si concentra sulle migliori.
Il risultato è un modello che si comporta come se fosse supervisionato da un esperto umano, capace di correggerlo in tempo reale e di guidarlo verso un output coerente, corretto e utile.
Esperimenti su Python, SQL, biologia molecolare e robotica: piccoli modelli battono i giganti
Il nuovo sistema è stato testato su quattro compiti differenti: generazione di codice Python, query SQL, strutture molecolari, e piani per robot autonomi. In tutti i casi, modelli open source di dimensioni ridotte hanno superato modelli chiusi e commerciali di dimensioni doppie, grazie alla guida probabilistica introdotta.
In uno degli esperimenti, un piccolo modello ha scritto codice Python più corretto rispetto a una controparte commerciale di dimensioni maggiori. Questo dimostra che precisione e struttura possono essere ottenute anche con meno dati e meno calcolo, se il processo generativo è sufficientemente guidato.
Verso una programmazione naturale: query complesse in linguaggio naturale e modellazione dei dati automatica
L’architettura sviluppata apre la strada a strumenti in grado di tradurre comandi in linguaggio naturale in codice SQL corretto, anche da parte di utenti senza competenze tecniche. Questo consentirebbe, ad esempio, a manager aziendali di interrogare database complessi parlando in linguaggio quotidiano, senza scrivere una riga di codice.
Inoltre, il sistema può essere integrato con strumenti di data modeling automatico, dove la comprensione semantica dei dati e delle domande poste dall’utente è fondamentale. Come afferma Vikash Mansinghka, direttore del Probabilistic Computing Project del MIT, “non stiamo solo migliorando il codice, ma stiamo mostrando che è possibile ancorare le parole a significati concreti, modellati con precisione matematica”.
Una visione più ampia: linguistica, cognizione e intelligenza artificiale interpretabile
Il lavoro ha implicazioni che vanno oltre la programmazione. Secondo Timothy J. O’Donnell, professore a McGill University, la ricerca affronta una delle domande centrali della linguistica computazionale: come ancorare il significato di frasi, parole e comandi in rappresentazioni simboliche del mondo reale. “Gli LLM predicono sequenze plausibili, ma non capiscono realmente ciò che generano. Il nostro sistema dimostra che, almeno in domini simbolici ristretti, è possibile collegare linguaggio e significato con precisione”.
Iscriviti alla Newsletter
Non perdere le analisi settimanali: Entra nella Matrice Digitale.
Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.









