← Ultimi articoli
💬 NLP

SWE Refactor Bench: Can Coding Agents Complete a Long-Horizon, Whole-Repository Stack Migration?

Il documento introduce SWE Refactor Bench, un benchmark rigoroso che presenta 20 migrazioni di interi repository e un protocollo di valutazione a tre stadi per esporre le attuali limitazioni degli agenti di codifica, i quali raggiungono solo una percentuale di successo del 5,4% nel completare autonomamente migrazioni di stack complesse e a lungo termine senza fare affidamento su trucchi comportamentali.

Autori originali: Deyao Hong, Yizhe Chi, Wenyi Li, Xiaoqiu Wang, Mingju Gao, Kaisen Yang, Bingxiang He, Youjie Zheng, Calvin Xiao, Qinhuai Na

Pubblicato 2026-08-25
📖 5 min di lettura🧠 Approfondimento

Autori originali: Deyao Hong, Yizhe Chi, Wenyi Li, Xiaoqiu Wang, Mingju Gao, Kaisen Yang, Bingxiang He, Youjie Zheng, Calvin Xiao, Qinhuai Na

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

I moderni sistemi software sono come antiche città, stratificate da decenni di costruzioni. Con il tempo, i materiali e i metodi originali diventano obsoleti, costosi da mantenere o semplicemente incompatibili con i nuovi strumenti. Quando un team decide di ricostruire una parte di questa città — ad esempio passando da un linguaggio di costruzione a un altro, o cambiando l'intera fondamenta — si trova di fronte a un imponente sforzo manuale. L'obiettivo è sostituire la vecchia struttura con una nuova, assicurandosi che l'edificio funzioni esattamente come prima. Per anni, i ricercatori hanno sviluppato agenti di intelligenza artificiale capaci di correggere piccoli bug nel codice, agendo come squadre di riparazione digitali. Una domanda naturale è sorta: se questi agenti possono riparare una finestra rotta, possono anche ricostruire un intero grattacielo, sostituendo la sua struttura in acciaio con un nuovo materiale senza che l'edificio crolli?

Questa domanda sembrava semplice, ma testarla si è rivelata sorprendentemente difficile. I test tradizionali per questi agenti IA funzionano come un semplice esame pass/fail: controllano se un programma produce l'output corretto dopo una modifica. Se l'output è corretto, l'agente riceve un punteggio perfetto. Tuttavia, questo metodo presenta un difetto fatale quando applicato a revisioni totali del sistema. Se a un agente viene chiesto di riscrivere un programma da zero, ma restituisce semplicemente il codice originale, non alterato, i test risulteranno comunque superati perché il codice originale funzionava già. Il test vede un risultato corretto e assume che il lavoro sia stato svoluto, non accorgendosi che l'agente non ha fatto nulla. Questo punto cieco significa che un punteggio "perfetto" potrebbe essere assegnato a un agente che non ha apportato alcuna modifica.

Per risolvere questo problema, i ricercatori del Navers Lab e della Tsinghua University hanno creato un nuovo test molto più severo chiamato SWE Refactor Bench. Hanno raccolto venti progetti software reali, inclusi infrastrutture critiche come il database SQLite e la libreria di compressione zlib, e hanno incaricato agenti IA di migrarli interamente verso diversi stack tecnologici. Questi compiti prevedevano quattro tipi distinti di lavoro complesso: riscrivere il linguaggio di programmazione stesso, sostituire i framework software che organizzano il codice, spostare il software in un ambiente operativo diverso o cambiare gli strumenti utilizzati per costruire il prodotto finale. I ricercatori hanno concesso agli agenti tra le sei e le trenta ore per completare ogni compito, lavorando autonomamente senza l'aiuto umano.

I ricercatori hanno progettato un processo di valutazione in tre fasi per garantire che gli agenti abbiano effettivamente svolto il lavoro e lo abbiano fatto correttamente. In primo luogo, un audit rigoroso ha verificato se la vecchia tecnologia fosse realmente scomparsa dal codice. Se l'agente aveva semplicemente copiato i file originali o aggiunto un sottile wrapper attorno ad essi senza riscrivere la logica centrale, il tentativo veniva immediatamente rifiutato. In secondo luogo, il sistema ha eseguito oltre 130.000 controlli specifici per garantire che il software si comportasse esattamente come prima del cambiamento. Infine, un team di sei agenti IA indipendenti ha agito come auditor, dedicando un'ora ciascuno alla ricerca di qualsiasi differenza sottile che i test automatizzati potessero aver mancato. Questi auditor dovevano produrre un esempio funzionante di un errore per dimostrare che la migrazione fosse imperfetta.

I risultati sono stati netti. Su 520 tentativi effettuati da otto dei modelli IA più avanzati disponibili, solo 28 sessioni, ovvero il 5,4 percento, hanno superato tutte e tre le fasi. Infatti, tredici dei venti compiti non sono mai stati completati con successo da alcun modello. Il modello con le prestazioni migliori, Claude Opus 5, ha ottenuto un punteggio di 47 su 100. I fallimenti hanno rivelato un modello chiaro: la capacità di mantenere il software funzionante e la capacità di eseguire effettivamente la migrazione sono due abilità separate che gli agenti faticano a combinare. Trenta tentativi hanno preservato perfettamente il comportamento del software ma sono falliti perché gli agenti hanno saltato la migrazione, restituendo il codice originale. Al contrario, 252 tentativi hanno riscritto con successo il codice ma hanno compromesso il comportamento nel processo. Anche tra i pochi tentativi che hanno superato i controlli iniziali, gli agenti hanno faticato a raggiungere la perfezione; sebbene il 58 percento delle riscritture andate a buon fine abbia superato il 99 percento dei controlli comportamentali, solo il 26 percento ha superato ognuno di essi.

La difficoltà variava significativamente a seconda del tipo di migrazione. Gli agenti sono stati relativamente efficaci nel riscrivere le catene di build (build toolchains), che comportano il cambiamento del modo in cui il software viene confezionato, ottenendo un punteggio di 31,4 su 100 in tali compiti. Tuttavia, hanno ottenuto risultati pessimi nelle riscritture del linguaggio, dove la logica centrale deve essere tradotta da un linguaggio di programmazione a un altro, ottenendo solo 5,6. Lo studio ha concluso che gli attuali agenti IA non sono ancora abbastanza affidabili da eseguire autonomamente migrazioni di interi repository a lungo termine. Sebbene possano gestire correzioni localizzate, il compito complesso di ricostruire un sistema da zero preservando il suo esatto comportamento rimane una sfida significativa. La ricerca stabilisce che, affinché questi agenti siano davvero utili nella manutenzione dei sistemi, devono imparare a svolgere sia il lavoro pesante della riscrittura sia la precisione della preservazione della funzione, una combinazione che non hanno ancora padroneggiato.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →