Los agentes de programación pueden aprender a convertir críticas de fallos en reparaciones
En palabras sencillas
Los agentes de programación pueden recibir comentarios de las pruebas que ejecutan y aun así hacer cambios como si su suposición anterior siguiera siendo correcta. Este artículo presenta RIPPLE, un método para entrenar a un agente a detectar cuándo debe replantearse algo, explicar qué salió mal usando las pruebas disponibles hasta ese momento y hacer una corrección acorde.
En cuatro pruebas de ingeniería de software, el agente entrenado obtuvo una puntuación media superior a la del agente base. El resultado de una prueba fue incierto y el estudio abarcó un solo modelo y un solo entorno de programación.
La investigación
Cuando un agente de programación recibe pruebas de que una suposición anterior era errónea, ¿qué puede ayudarle a cambiar su siguiente acción?
Una crítica puede identificar el fallo sin orientar una reparación. Este artículo pregunta si el entrenamiento puede conectar el reconocimiento de una desviación, su diagnóstico y la acción basada en ese diagnóstico.
RIPPLE entrena una política de agente de programación para detectar desviaciones recuperables, diagnosticarlas con las pruebas disponibles y hacer ediciones correctivas.
Los investigadores entrenaron una política para activar la reflexión, diagnosticar desviaciones a partir del historial de la tarea y tomar medidas correctivas. La compararon con una política base en cuatro pruebas de ingeniería de software que puntúan la resolución de tareas en repositorios.
RIPPLE promedió 4.8 puntos más en las diferencias de puntuación específicas de las cuatro pruebas. En tres, los intervalos excluyeron la ausencia de diferencia; esto respalda una mejora promedio, aunque el resultado de Verified sigue siendo incierto.
El promedio se calcula a partir de las diferencias de puntuación específicas de cuatro pruebas, y el intervalo de incertidumbre de la mejora en SWE-bench Verified incluye la posibilidad de que no haya mejora.
El estudio evalúa un modelo en un entorno de programación; no demuestra que los resultados se transfieran a otros modelos o ámbitos.
Análisis
Detalles
- Autores del paper original
- Jingxuan Xu, Zihang Xu, Yuechen Luo, Ziqi Miao, Wenqiang Zhu
- Enviado a arXiv
- Licencia
- arXiv non-exclusive