Generación de Código en Múltiples Turnos Mediante Recompensas de Un Solo Paso
Multi-Turn Code Generation Through Single-Step Rewards
February 27, 2025
Autores: Arnav Kumar Jain, Gonzalo Gonzalez-Pumariega, Wayne Chen, Alexander M Rush, Wenting Zhao, Sanjiban Choudhury
cs.AI
Resumen
Abordamos el problema de la generación de código a partir de retroalimentación de ejecución en múltiples turnos. Los métodos existentes generan código sin retroalimentación o utilizan aprendizaje por refuerzo jerárquico complejo para optimizar recompensas en múltiples turnos. Proponemos un enfoque simple pero escalable, muCode, que resuelve la generación de código en múltiples turnos utilizando únicamente recompensas de un solo paso. Nuestra idea clave es que la generación de código es un MDP recuperable en un solo paso, donde el código correcto puede recuperarse desde cualquier estado intermedio de código en un solo turno. muCode entrena iterativamente tanto un generador para proporcionar soluciones de código condicionadas a la retroalimentación de ejecución en múltiples turnos como un verificador para puntuar el código recién generado. Las evaluaciones experimentales muestran que nuestro enfoque logra mejoras significativas sobre los métodos de referencia más avanzados. Proporcionamos un análisis de las decisiones de diseño de los modelos de recompensa y la política, y demostramos la eficacia de muCode al utilizar la retroalimentación de ejecución. Nuestro código está disponible en https://github.com/portal-cornell/muCode.
English
We address the problem of code generation from multi-turn execution feedback.
Existing methods either generate code without feedback or use complex,
hierarchical reinforcement learning to optimize multi-turn rewards. We propose
a simple yet scalable approach, muCode, that solves multi-turn code
generation using only single-step rewards. Our key insight is that code
generation is a one-step recoverable MDP, where the correct code can be
recovered from any intermediate code state in a single turn. muCode
iteratively trains both a generator to provide code solutions conditioned on
multi-turn execution feedback and a verifier to score the newly generated code.
Experimental evaluations show that our approach achieves significant
improvements over the state-of-the-art baselines. We provide analysis of the
design choices of the reward models and policy, and show the efficacy of
muCode at utilizing the execution feedback. Our code is available at
https://github.com/portal-cornell/muCode.Summary
AI-Generated Summary