L'AI può scrivere codice, ma può battere gli ingegneri del software?

Uomo seduto a una scrivania con le spalle rivolte a noi che codifica su un computer con più schermi

L'intelligenza artificiale può produrre codice ma non può pensare come un ingegnere del software.

Questa è la conclusione di una nuova ricerca del Computer Science and Artificial Intelligence Laboratory dell'MIT, che ha rilevato che, sebbene i modelli linguistici di grandi dimensioni (LLM) eccellano nella generazione di frammenti di codice, non raggiungono il ragionamento sofisticato, la pianificazione e la collaborazione che l'ingegneria del software reale richiede. Lo studio, condotto in collaborazione con ricercatori di Stanford, UC Berkeley e Cornell e presentato all'International Conference on Machine Learning di questa settimana, mette in discussione le ipotesi sulla prontezza dell'AI a trasformare lo sviluppo software.

"La pianificazione del codice a lungo termine richiede un livello sofisticato di ragionamento e interazione umana", ha affermato Alex Gu, dottorando presso il MIT CSAIL e autore principale dello studio, in un'intervista con IBM Think. "Il modello deve considerare vari compromessi, come prestazioni, memoria, qualità del codice, ecc., e utilizzarli per decidere con precisione come progettare il codice."

Gli strumenti di codifica AI sono ora un pilastro dello sviluppo software moderno. Nel 2025, l'82% degli sviluppatori ha dichiarato di utilizzare strumenti di codifica AI ogni settimana o più, e il 59% ha dichiarato di aver fatto affidamento su tre o più assistenti nel proprio workflow. Un altro 78% ha segnalato chiari miglioramenti della produttività, a dimostrazione di quanto AI stia plasmando il modo in cui oggi si scrive il codice.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

La sfida della pianificazione

La ricerca del MIT definisce quella che chiama "pianificazione del codice a lungo orizzonte" come una limitazione fondamentale degli attuali sistemi di AI. Secondo Gu, ciò implica ragionare su come il codice si inserisce in sistemi più grandi e considerare le conseguenze globali delle decisioni locali.

"La pianificazione del codice a lungo termine richiede un livello sofisticato di ragionamento e interazione umana", ha affermato Gu. "Il modello deve considerare compromessi quali prestazioni, memoria e qualità del codice, e utilizzarli per decidere come progettare il codice."

Gu ha fatto riferimento all'esempio della progettazione di un nuovo linguaggio di programmazione. Il compito, ha spiegato, richiede di considerare tutti i diversi modi in cui il linguaggio deve essere utilizzato, decidere quali funzioni API esporre e riflettere sui modelli di utilizzo degli utenti. Lo studio rileva che i modelli devono anche ragionare sugli effetti globali delle modifiche al codice locale, poiché lievi modifiche alla progettazione di una singola funzione possono propagarsi al resto della base di codice.

La ricerca dell'MIT identifica problemi con il modo in cui le funzionalità di codifica dell'AI vengono attualmente valutate. Secondo Gu, la maggior parte dei benchmark di programmazione si concentra sulla generazione di piccoli programmi autonomi da zero, cosa che non riflette la realtà dell'ingegneria del software su larga scala.

"Un aspetto che menzioniamo è la diversità delle attività: mentre l'ingegneria del software nel mondo reale [SWE] prevede attività come il test o la manutenzione del software, queste raramente si riflettono nei benchmark odierni", ha affermato Gu.

Altrettanto importante, ha aggiunto, è la capacità dei sistemi di AI di dedurre l'intento dell'utente, una competenza essenziale per adattare le soluzioni a casi d'uso specifici. "Un sito web per un'azienda deve probabilmente essere più robusto di un sito web progettato per divertirsi".

La ricerca ha rilevato che gli LLM funzionano al meglio in compiti che assomigliano molto agli esempi visti durante la formazione, creando sfide per progetti che si basano su linguaggi di programmazione a poche risorse o librerie specializzate. Secondo Gu, i linguaggi con poche risorse e le librerie specializzate compaiono relativamente raramente in questo pool di dati, quindi gli LLM hanno maggiori difficoltà a gestirli.

"L'esecuzione di questi compiti si basa maggiormente sull'estrapolazione a dati e domini non visti (generalizzazione), che spesso è più difficile della ripetizione di codice simile alla distribuzione di addestramento", ha detto Gu.

Secondo lo studio, questa limitazione significa che gli agenti di codifica AI tendono a essere meno efficaci in sistemi legacy, ambienti di calcolo scientifico e strumenti interni dove la documentazione può essere limitata.

Comprendere la base di codice

Lo studio dell'MIT identifica la necessità per i sistemi di AI di sviluppare un modello semantico accurato della base di codice di un progetto. Secondo Gu, ciò implica comprendere la struttura del software, il modo in cui i componenti interagiscono e come tali relazioni cambiano nel tempo.

"Innanzitutto, l'AI deve comprendere la struttura del codice di base e il modo in cui le varie parti si uniscono", ha affermato. "In secondo luogo, deve comprendere come funzionano le singole funzioni. Infine, dovrebbe aggiornare il modello della base di codice man mano che vengono aggiunte nuove caratteristiche."

Lo studio osserva che i modelli AI attuali non hanno uno stato persistente tra prompt, mancando di memoria su come si sia evoluta una base di codice o di una rappresentazione interna della sua architettura.

Nonostante queste limitazioni, gli autori individuano diverse aree di potenziale miglioramento. Gu ha detto che benchmark migliori potrebbero aiutare, soprattutto se possono valutare sistemi di AI su una gamma più ampia di compiti, inclusi testing, manutenzione e collaborazione uomo-AI.

Vede promesse a breve termine anche in aree che vanno oltre la codifica, in particolare nella Formazione. "L'AI ha già ottime funzionalità di risolvere la maggior parte dei problemi delle scuole elementari e medie", ha affermato. "L'AI ha un grande potenziale per semplificare i workflow esistenti nella formazione, come la generazione di problemi pratici, il grading e l'identificazione delle idee sbagliate degli studenti."

AI Academy

Ascesa dell'AI generativa nel mondo del business

Scopri di più sull'ascesa dell'AI generativa e cosa comporta per le aziende.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Servizi AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Prossimi passi

Utilizza l'AI generativa e l'automazione avanzata per creare più velocemente codice enterprise-ready. IBM watsonx Code Assistant™ utilizza i modelli Granite per potenziare le competenze degli sviluppatori, semplificando e automatizzando le tue attività di sviluppo e modernizzazione.

Scopri watsonx Code Assistant