Los agentes resuelven mejor las tareas si conservan los resultados recientes de las herramientas
The Hidden Costs of Forgetting: A Study of Trajectory Deletion in Software Engineering Agents · arXiv:2610.35496
En palabras sencillas
Los agentes de ingeniería de software resuelven tareas de programación en varios turnos: razonan, usan herramientas para revisar o cambiar archivos y reciben resultados. Este artículo estudia qué pasa cuando se elimina parte de ese historial antes de turnos posteriores.
Los investigadores probaron dos agentes en 100 tareas de programación y variaron qué información eliminaban y cuándo. Conservar intactos los dos turnos más recientes a menudo evitó una caída estadísticamente significativa en las tareas resueltas, aunque las ejecuciones podían alargarse. Los resultados corresponden a los agentes, el modelo y las tareas probados.
La investigación
Cuando crece el historial de un agente de programación, eliminar información antigua puede parecer una forma de reducir cuánto tiene que procesar.
Pero ¿se conservan las tareas resueltas o el agente necesita turnos adicionales para recuperar lo que perdió? La respuesta importa para evaluar tanto la eficacia como el coste estimado de ejecución.
El estudio varía qué olvida un agente y cuándo: retrasar la eliminación suele preservar la resolución de tareas, aunque la duración de las ejecuciones y los costes pueden aumentar.
Los investigadores variaron qué parte del historial se eliminaba, cuánto se borraba y si la eliminación era inmediata o se retrasaba dos turnos. Entre dos agentes y 100 tareas, 37 de 42 evaluaciones con eliminación diferida no mostraron una caída estadísticamente significativa en las tareas resueltas, aunque 21 tuvieron ejecuciones significativamente más largas. En las 21 se eliminaron resultados de herramientas.
La comparación sugiere que el retraso puede ayudar a conservar la resolución de tareas, aunque quizá quede trabajo adicional.
Cuando se eliminaron resultados de herramientas, los agentes a menudo volvieron a buscarlos; el ahorro estimado dependió de cómo se cobraba el texto repetido de las instrucciones.
Estos resultados corresponden a un modelo, dos agentes y 100 tareas de programación. Cada configuración de eliminación se ejecutó una vez por agente y tarea, con una única selección aleatoria de contenido para eliminar en cada ejecución. Superar las pruebas sirve como indicador indirecto de que el parche es correcto, y las estimaciones de coste dependen de supuestos simplificados sobre la caché.
Qué muestran las pruebas
- La pregunta y la prueba
El estudio pregunta cómo cambia la resolución de tareas, el comportamiento posterior y el coste estimado de ejecución cuando se elimina parte del historial acumulado de un agente. Prueba dos agentes de ingeniería de software en 100 tareas de SWE-bench Verified, tareas de programación basadas en incidencias reales de GitHub en las que una solución se considera exitosa si el parche supera pruebas ocultas.
Los autores también proporcionan un conjunto de datos y un paquete de replicación con 9.400 trayectorias.
- Qué varía la eliminación
Los investigadores variaron qué contenido podía eliminarse, cuánto se borraba, si la eliminación afectaba a turnos completos o a tokens elegidos al azar, y si ocurría de inmediato o después de dos turnos. Para cada configuración, compararon los resultados con ejecuciones sin compresión del mismo agente en las mismas tareas.
Este diseño permite examinar el momento de la eliminación junto con las demás opciones, dentro del sistema probado.
- El retraso ayuda a conservar tareas resueltas
Conservar intactos los dos turnos más recientes se asoció con menos pérdidas en la resolución de tareas que eliminar contenido de inmediato: 37 de 42 evaluaciones con eliminación diferida no mostraron una disminución estadísticamente significativa en las tareas resueltas, frente a disminuciones significativas en 19 de 42 evaluaciones con eliminación inmediata.
Estas cifras corresponden a los dos agentes. La eliminación diferida alargó significativamente las ejecuciones en 21 evaluaciones, todas con eliminación de resultados de herramientas; la eliminación inmediata las alargó en 34.
- Los agentes vuelven a buscar resultados eliminados
Los investigadores examinaron las lecturas de archivos para saber si los agentes recuperaban información eliminada de su historial. En 24 evaluaciones de configuraciones de eliminación por turnos, entre los dos agentes y los distintos momentos de eliminación, los resultados de lectura borrados se volvieron a buscar entre 1,5 y cinco veces más a menudo que los conservados.
La diferencia fue significativa en 23 comparaciones. Esto respalda la interpretación de que algunos agentes recuperaron información eliminada, lo que puede ayudar a explicar por qué se alargaron las ejecuciones.
- El coste depende del esquema de precios
Tener menos tokens en la instrucción no garantizó un menor coste estimado. Según los supuestos del estudio sobre precios que tienen en cuenta la caché, ninguna de las 42 evaluaciones con eliminación diferida costó menos que la referencia sin compresión, y 26 fueron significativamente más caras.
Reescribir el historial puede romper el prefijo coincidente de la instrucción que recibe el descuento; los turnos adicionales también pueden sumar costes. Con el precio fijo, 26 estimaciones fueron menores, pero solo seis reducciones fueron significativas.
Detalles
- Autores del paper original
- Fernando Vallecillos-Ruiz, Islem Bouzenia, Michael Pradel, Leon Moonen
- Enviado a arXiv
- Licencia
- CC BY 4.0