Chiosa
Software & Code

Il contesto con file interi aiuta gli agenti a risolvere più problemi

2 min
Pubblicato su Chiosa Aggiornato

In parole semplici

Per correggere un problema segnalato, un programma di programmazione ha bisogno dei file giusti e del codice esatto che contengono. Una ricerca basata sulle parole può non trovare il file da modificare, mentre accorciare il codice può cambiarne il testo, che la patch deve riprodurre.

CQ2-CARE chiede a un modello quali file probabilmente vadano modificati, poi li fornisce per intero al modello che scrive il codice. Su 300 problemi Python, due modelli testati hanno risolto una quota maggiore di problemi con questo contesto rispetto al miglior metodo di retrieval o compressione testato, a parità di budget. Il test prevedeva una sola patch per problema.

La ricerca

Quando un agente di programmazione può vedere solo una parte del repository, quale contesto lo aiuta a produrre una modifica funzionante? La patch ha bisogno dei file da modificare, ma anche del loro codice esatto, così che la modifica corrisponda a ciò che si trova davvero nel repository. Il retrieval e la riduzione del testo possono perdere, ciascuno, uno di questi elementi.

CQ2-CARE seleziona i file del repository che probabilmente vanno modificati e li mostra per intero, così gli agenti di programmazione possono usare un budget di contesto limitato senza alterare il codice da correggere.

In SWE-rebench, un sistema di valutazione controlla se una patch risolve un problema Python segnalato: la applica e avvia i test richiesti dal problema. Il punteggio è la quota di problemi per cui i test passano.

Gli autori confrontano i metodi di selezione del contesto con lo stesso budget di token per ciascun problema; un modello fissato genera una sola patch per ogni contesto.

Con CQ2-CARE, GPT-5.6 ha risolto il 43.7% dei problemi e Claude Opus 5 il 46.7%. Per ciascun modello, il risultato supera di 6.3 punti percentuali quello del compressore testato più efficace e di 9.3 o 12.7 punti quello del principale metodo di retrieval migliore.

In questa valutazione, i risultati sostengono la scelta di fornire file interi; le diagnosi e un controllo sull’alterazione del testo aiutano a spiegare il risultato.

La valutazione riguarda una sola chiamata per generare una patch per ciascun contesto, su problemi Python tratti da un unico benchmark. Non riguarda agenti che possono aprire più file o eseguire test nel corso di più turni.

Un secondo campione di patch ha modificato l’esito dell’8.7–18.9% dei casi, quindi piccole differenze tra i metodi sono fragili.

Analisi

Dettagli

Paper successivoRondo tests compiler bugs that depend on earlier calls