Il problema dei test attuali per l'IA nel coding
Mi dà fastidio un aspetto dei test per le capacità di coding dell'IA: poniamo le domande sbagliate.
Provate a immaginare di valutare un guidatore facendogli fare solo una parallela in condizioni ideali. Funziona alla grande, ma poi? Come se la cava nel traffico caotico per mesi?
È proprio quello che facciamo con gli assistenti IA per il codice. Un problema singolo, una soluzione unica. Il codice gira, successo ottenuto. Ma lo sviluppo software reale non è così.
Come funziona davvero il coding nel mondo vero
Nella pratica, non scrivi codice una volta e basta. Continui a:
- Aggiungere funzionalità che si intrecciano con il vecchio codice
- Risolvere bug che saltano fuori dopo mesi
- Riscrivere parti obsolete per nuove esigenze
- Evitare di rompere tutto il resto
È un processo caotico, a iterazioni continue. Devi prevedere l'evoluzione futura. Un trucco veloce oggi può diventare un incubo domani.
Arriva SWE-CI: il test per il lungo periodo
I ricercatori hanno colto il problema e hanno creato SWE-CI, il primo benchmark che valuta la manutenzione del codice a lungo termine.
Niente più compiti isolati. Qui l'IA affronta scenari che imitano l'evoluzione reale del software:
- 100 sfide di coding diverse
- Con una storia media di 233 giorni di sviluppo
- Che richiedono in media 71 commit consecutivi
- E vari cicli di analisi e modifiche
Meraviglioso: per la prima volta testiamo la manutenibilità del codice, non solo se funziona.
Perché conta tantissimo
Dato shock: la manutenzione assorbe il 60-80% dei costi totali di un progetto software. Non è un errore. La maggior parte del budget serve a tenere in piedi il codice esistente, non a creare roba nuova.
Fino a ieri, testavamo l'IA solo sulla parte facile, il 20-40%.
Gli autori citano le Leggi di Lehman: il software si degrada da solo col tempo, se non lo curi. È come l'entropia: più aggiungi e ripari, più si complica.
Cosa cambia per lo sviluppo dell'IA
SWE-CI segna una svolta. Non basta chiedersi: "Sa scrivere codice che funziona?". Meglio: "Sa creare codice che gli umani gestiscono per anni?".
La differenza è abissale. Un'IA può infinocchiare con un fix rigido che passa i test. Un'altra scrive codice pulito e flessibile. Oggi, stesso punteggio. Nella realtà, la seconda vince sempre.
La visione d'insieme
Questa ricerca conferma un mio pensiero ricorrente: vogliamo IA che ragionano da senior developer, non da junior.
I junior fanno funzionare il codice. I senior lo rendono modificabile, debuggabile, scalabile. Pensano al collega che erediterà il loro lavoro fra sei mesi (spesso se stessi).
SWE-CI è il primo test che misura questo approccio a lungo termine.
Prospettive future
Non vedo l'ora di scoprire come se la cavano i modelli IA attuali su SWE-CI. Scommetto che inciamperanno sulla manutenzione prolungata, pur eccellendo nei task singoli.
Non è una catastrofe: indica la strada da seguire. Basta con più codice veloce. Serve codice migliore, che resiste nel tempo.
Voi che ne dite? Avete visto differenze negli assistenti IA tra fix rapidi e progetti lunghi? Raccontatemi nei commenti.
Fonte: https://arxiv.org/pdf/2603.03823