Geração de Código em Múltiplos Turnos Através de Recompensas de Passo Único
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
Resumo
Abordamos o problema de geração de código a partir de feedback de execução em múltiplas etapas. Os métodos existentes ou geram código sem considerar o feedback ou utilizam aprendizado por reforço hierárquico complexo para otimizar recompensas em múltiplas etapas. Propomos uma abordagem simples, porém escalável, chamada muCode, que resolve a geração de código em múltiplas etapas utilizando apenas recompensas de etapa única. Nossa principal percepção é que a geração de código é um MDP (Processo de Decisão Markoviano) recuperável em uma única etapa, onde o código correto pode ser recuperado a partir de qualquer estado intermediário de código em uma única etapa. O muCode treina iterativamente tanto um gerador para fornecer soluções de código condicionadas ao feedback de execução em múltiplas etapas quanto um verificador para pontuar o código recém-gerado. Avaliações experimentais mostram que nossa abordagem alcança melhorias significativas em relação às linhas de base state-of-the-art. Fornecemos uma análise das escolhas de design dos modelos de recompensa e da política, e demonstramos a eficácia do muCode na utilização do feedback de execução. Nosso código está disponível em 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