ReCode: Actualización del conocimiento de API de código con aprendizaje por refuerzo
ReCode: Updating Code API Knowledge with Reinforcement Learning
June 25, 2025
Autores: Haoze Wu, Yunzhi Yao, Wenhao Yu, Huajun Chen, Ningyu Zhang
cs.AI
Resumen
Los Modelos de Lenguaje de Gran Escala (LLMs, por sus siglas en inglés) exhiben capacidades notables para la generación de código, pero presentan dificultades al adaptarse a actualizaciones frecuentes en las APIs de bibliotecas externas. Esta limitación crítica, derivada de la dependencia de conocimientos obsoletos sobre APIs en sus datos de entrenamiento, incluso con acceso a documentación actualizada, obstaculiza la generación confiable de código en entornos dinámicos. Para abordar este problema, proponemos ReCode (Aprendizaje por Refuerzo basado en Reglas para la Actualización de Código), un marco novedoso que imita la adaptación de los programadores humanos a los cambios en las APIs. Específicamente, construimos un conjunto de datos de aproximadamente 2,000 entradas para entrenar a los LLMs a realizar migraciones de versiones basadas en información actualizada. Luego, introducimos una métrica de similitud de cadenas modificada para la evaluación de código como recompensa en el aprendizaje por refuerzo. Nuestros experimentos demuestran que ReCode mejora sustancialmente el rendimiento de los LLMs en la generación de código en escenarios dinámicos de APIs, especialmente en la tarea no vista CodeUpdateArena. De manera crucial, en comparación con el ajuste fino supervisado, ReCode tiene un menor impacto en las capacidades generales de generación de código de los LLMs. Aplicamos ReCode en varios LLMs y algoritmos de aprendizaje por refuerzo (GRPO y DAPO), logrando mejoras consistentes en todos los casos. Notablemente, después del entrenamiento, Qwen2.5-Coder-7B supera al modelo de 32B parámetros ajustado para instrucciones de código y al modelo de razonamiento con la misma arquitectura. El código está disponible en https://github.com/zjunlp/ReCode.
English
Large Language Models (LLMs) exhibit remarkable code generation capabilities
but falter when adapting to frequent updates in external library APIs. This
critical limitation, stemming from reliance on outdated API knowledge from
their training data, even with access to current documentation, impedes
reliable code generation in dynamic environments. To tackle this issue, we
propose ReCode (rule-based Reinforcement learning for Code Update), a novel
framework that mimics human programmer adaptation to API changes. Specifically,
we construct a dataset of approximately 2,000 data entries to train the LLMs to
perform version migration based on updated information. Then, we introduce a
modified string similarity metric for code evaluation as the reward for
reinforcement learning. Our experiments demonstrate that ReCode substantially
boosts LLMs' code generation performance in dynamic API scenarios, especially
on the unseen CodeUpdateArena task. Crucially, compared to supervised
fine-tuning, ReCode has less impact on LLMs' general code generation abilities.
We apply ReCode on various LLMs and reinforcement learning algorithms (GRPO and
DAPO), all achieving consistent improvements. Notably, after training,
Qwen2.5-Coder-7B outperforms that of the 32B parameter code instruction-tuned
model and the reasoning model with the same architecture. Code is available at
https://github.com/zjunlp/ReCode.