Gli agenti di programmazione possono imparare a trasformare le critiche agli errori in riparazioni
In parole semplici
Un agente di programmazione può ricevere indicazioni dai test, ma continuare a modificare il codice come se la sua ipotesi precedente fosse corretta. Questo articolo presenta RIPPLE, un metodo per addestrare un agente a capire quando deve ripensarci, spiegare che cosa è andato storto in base alle prove disponibili e apportare una correzione coerente.
Nei quattro test di ingegneria del software, l’agente addestrato ha ottenuto in media punteggi più alti di quello di base. L’esito di un test è incerto e lo studio riguarda un solo modello e un solo ambiente di programmazione.
La ricerca
Quando un agente di programmazione riceve prove che una sua ipotesi precedente era sbagliata, che cosa può aiutarlo a cambiare l’azione successiva? Una critica può individuare un errore senza indicare come correggerlo.
Questo articolo esamina se l’addestramento possa collegare il riconoscimento di una deviazione, la sua diagnosi e l’azione basata su quella diagnosi.
RIPPLE addestra una policy per agenti di programmazione a riconoscere deviazioni recuperabili, diagnosticarle in base alle prove disponibili e correggerle.
I ricercatori hanno addestrato una policy a decidere quando riflettere, diagnosticare le deviazioni sulla base della cronologia dell’attività e intraprendere azioni correttive.
L’hanno confrontata con una policy di base in quattro test di ingegneria del software che valutano la risoluzione di attività nei repository.
RIPPLE ha ottenuto in media 4,8 punti in più sulle differenze di punteggio specifiche dei quattro test. Gli intervalli di tre test escludevano l’assenza di una differenza: questo sostiene un miglioramento medio, ma l’esito del test Verified resta incerto.
La media calcola la differenza tra i punteggi specifici di ciascuno dei quattro benchmark; l’intervallo di incertezza del risultato su SWE-bench Verified comprende anche l’assenza di un miglioramento.
Lo studio esamina un solo modello in un solo ambiente di programmazione e non stabilisce se i risultati valgano anche per altri modelli o ambiti.
Analisi
Dettagli
- Autori del paper originale
- Jingxuan Xu, Zihang Xu, Yuechen Luo, Ziqi Miao, Wenqiang Zhu
- Inviato ad arXiv
- Licenza
- arXiv non-exclusive