Gli agenti di codifica AI riescono spesso a localizzare il file corretto dove risiede il problema, ma si dimostrano incapaci di identificare con precisione le linee di codice cruciali. Questo è uno dei principali risultati di uno studio recentemente pubblicato che introduce un nuovo benchmark, denominato SWE-Explore.

Come funziona ilbenchmark SWE-Explore

Conosciuto come SWE-Explore, questo nuovo benchmark valuta la fase di ricerca dei codici in maniera indipendente rispetto al processo effettivo di correzione del bug. Mentre i test precedenti si concentravano prevalentemente sul risultato finale — se l’agente aveva corretto il bug o no — questo benchmark permette di analizzare in dettaglio cosa realmente funziona durante la ricerca iniziale. Il benchmark richiede agli agenti di restituire una lista ordinata delle sezioni di codice che ritiene pertinenti, data una descrizione del bug e un progetto software.

Questo tipo di valutazione apre una finestra sulle potenziali problematiche dell’AI, come ad esempio non aver mai letto il codice rilevante. Oppure, anche letto il file corretto, l’agente potrebbe aver scritto un patch errato. In ogni caso, l’esito sembra rimanere lo stesso.

Riferimento da soluzioni riuscite

Gli studi di questa equipe di ricerca internazionale coinvolgono l’Università di Shanghai Jiao Tong e si basano su un set di dati costituito da 848 problemi, ognuno avente almeno due soluzioni riuscite da modelli potenti come GPT-5.4, Gemini 3 Pro, Claude Sonnet 4.6 e Kimi K2.6. Il team ha derivato un set di posizioni chiave da quelle attività riuscite.

I ricercatori estrarre i file e le linee di codice che l’AI ha effettivamente consultato prima di intervenire. Le sezioni su cui si sovrappongono i percorsi di molte soluzioni indipendenti rappresentano un forte segnale di contesto utile. Successivamente il team effettua un controllo manuale di ciascuna area.

Non viene fissata una definizione manuale delle posizioni richieste, ma si deriva una mappa di riferimento basata su questi tracciati. Il team esamina anche se un miglior punteggio nella ricerca porti a una maggiore percentuale di riparazioni corrette.

Eseguire la fase di ricerca

I dati analizzati provengono da 203 progetti open-source distribuiti tra dieci linguaggi di programmazione. Python è il linguaggio più rappresentato con 547 su 848 task, seguito da Go, JavaScript e Rust.

Le limitazioni del test tradizionale di ricerca

I metodi tradizionali di ricerca, come la tecnica basata su parole chiave, si dimostrano meno efficaci rispetto agli agenti AI, benché non manchino vantaggi da sfruttare. Per esempio, una descrizione di un bug come "RuntimeWarning on Overflow" indica parole che appaiono più frequentemente in documenti, template e commenti all’interno di un progetto rispetto al codice sorgente. Gli agenti di AI riescono a ottenere vantaggi significativi poiché setacciano il progetto passo dopo passo, invece di ordinare semplicemente tutti i risultati rilevanti.

Copertura al livello del codice

Gli agenti generalisti di AI si dimostrano abili nel trovare la fonte corretta del problema, collocando quelle informazioni in un ranking preciso. Tuttavia, quando si procede ad analizzare le linee di codice realmente coinvolte nel problema, il loro rendimento scende. In particolare, tali agenti riescono ad identificare solo un intervallo compreso tra il 14% e il 19% delle linee di codice che invece risultano cruciali.

Miglioramenti possibili con modelli linguistici più potenti

Il test include sei modelli diversi di AI (provenienti da OpenAI, Anthropic, Google, Moonshot, e Zhipu) e dimostra che il potenziale dei modelli linguistici avanzati non risolve il problema. La famiglia di GPT conduce all’avanguardia, ma la pattern rimane invariata. I tassi di successo nei file sono notevolmente superiori alle percentuali di rivelazione realmente rilevante a livello di righe.

I modelli presentano risultati estremamente simili. Claude Code, Codex, OpenHands, Mini-SWE-Agent, e AweAgent mostrano metriche pressoché identiche. Solo il sistema CoSIL si distingue, trattando il codice come una rete di blocchi connessi, con una copertura significativamente migliorata. Alcuni progetti di ricerca specializzati, come AutoCodeRover, rivelano un’elevata precisione, mentre OrcaLoca genera poca inutilità, ma esclude molte informazioni importanti.

L’effetto del contesto critico

Nei test controllati, il team ha manipolato artificiosamente il livello di contesto, esponendo i modelli solo a percentuali progressivamente crescenti (0%, 25%, 50%, 75%, 100%) delle aree centrali, aggiungendovi del codice irrilevante. Nei task più semplici, si osserva un effetto chiaramente evidente: finché meno della metà delle aree pertinenti non sono visibili al modello, la maggior parte delle riparazioni non riesce.

Il tasso di successo solo salta notevolmente quando la copertura va oltre il 50% - 75%. Non c’è un miglioramento graduale, ma il modello richiede un numero minimo di informazioni, che devono essere visibili affinché l’interprete riconosca il problema. Nei compiti più difficili, invece, l’effetto è più ristretto, e spesso, anche il contesto maggiore non basta a compensare l’incapacità intrinseca dell’AI.

Conclusione

I dati dimostrano che il contesto rivelato influisce maggiormente rispetto alla presenza di codice irrilevante. Un modello che legge troppo poco non si dimostra all’altezza dell’interpretazione rispetto a uno che legge di più. La lezione da imparare per migliorare i futuri sistemi è chiara: ridurre il filtraggio aggressivo e leggere in modo più ampio e dettagliato.

I codici ed i dati sono disponibili su GitHub e Hugging Face. Due anni fa, un gruppo di ricerca diede vita al benchmark SWE-bench, una piattaforma che mette alla prova gli agenti di AI con report di problemi reali. Successivi sviluppi hanno espanso la sua base a nuovi linguaggi, dati più mirati e task più avanzati. Tuttavia, negli ultimi tempi, la metrica sottostante la valutazione ha subito delle pressioni. Uno studio svolto da METR ha rilevato che circa la metà delle soluzioni, ritenute accettabili da un revisore esterno, sarebbero state rifiutate dai gestori dei progetti a causa di errori basilari.

Per rimanere aggiornati e ricevere informazioni chiare sull’AI, in maniera non enfatizata e selezionata da esperti umani, si consiglia di iscriversi a THE DECODER, un servizio che include una newsletter settimanale, sei report su frontiere tecnologiche