Un piano di riparazione aiuta gli agenti di coding a risolvere più attività
In parole semplici
Gli agenti di coding spesso esaminano un progetto software, riproducono un bug ed eseguono test prima di modificare il codice. Questo articolo introduce PAUSE, che interviene quando l’agente propone per la prima volta una modifica al codice sorgente.
Un planner separato legge l’attività e l’indagine svolta fino a quel momento, propone un piano di riparazione e lascia che lo stesso agente continui con i propri file e la conversazione intatti. Su una suite di test con 500 attività di riparazione in Python, i valutatori hanno rilevato che gli agenti con PAUSE risolvevano il 65.0% delle attività, contro il 50.2% senza la sua guida. È una media sulle attività testate: non significa che ogni riparazione sia migliorata.
La ricerca
Gli agenti di coding possono passare gran parte di un’attività di riparazione a esaminare un repository, riprodurre un bug ed eseguire test prima di proporre una modifica al codice sorgente.
La domanda è se un consiglio possa usare gli elementi raccolti e arrivare prima che la modifica proposta venga applicata, mentre l’agente conserva l’indagine svolta e i file su cui sta lavorando.
PAUSE fornisce a un agente di coding un piano di riparazione alla prima modifica proposta al codice sorgente, poi lascia proseguire lo stesso agente con gli elementi raccolti.
Nelle esecuzioni di riparazione registrate, gli agenti spesso esaminano un repository prima di proporre una modifica al codice sorgente. Un piano può usare questi elementi prima che l’agente applichi una modifica?
Lo studio inserisce un Planner separato alla prima modifica proposta al codice sorgente, poi lascia proseguire lo stesso Executor con la conversazione e lo spazio di lavoro intatti. Su SWE-bench Verified, i valutatori hanno rilevato che con PAUSE era stato risolto il 65.0% delle attività, contro il 50.2% senza guida.
Il confronto in tempo reale, a parità di condizioni, sostiene un beneficio in quella configurazione; il tasso aggregato non significa che ogni attività sia migliorata.
I risultati in tempo reale riguardano le attività di riparazione e la configurazione degli agenti testate. Il trigger di PAUSE dipende da una richiesta del file editor visibile che indichi un percorso di codice sorgente; il recupero offline richiede inoltre un checkpoint utilizzabile e uno spazio di lavoro ripristinabile.
I risultati non dimostrano che il metodo si trasferisca a repository molto diversi o a workflow più lunghi.
Analisi
Dettagli
- Autori del paper originale
- Viral Patel, Boyin Tan, Jason Xue, Youcheng Sun
- Inviato ad arXiv
- Licenza
- arXiv non-exclusive