ReCode : Mise à jour des connaissances des API de code par apprentissage par renforcement
ReCode: Updating Code API Knowledge with Reinforcement Learning
June 25, 2025
Auteurs: Haoze Wu, Yunzhi Yao, Wenhao Yu, Huajun Chen, Ningyu Zhang
cs.AI
Résumé
Les modèles de langage de grande taille (LLMs) démontrent des capacités remarquables en génération de code, mais rencontrent des difficultés pour s'adapter aux mises à jour fréquentes des API de bibliothèques externes. Cette limitation critique, découlant de leur dépendance à des connaissances d'API obsolètes issues de leurs données d'entraînement, même avec un accès à la documentation actuelle, entrave la génération fiable de code dans des environnements dynamiques. Pour résoudre ce problème, nous proposons ReCode (Reinforcement learning basé sur des règles pour la mise à jour de code), un cadre novateur qui imite l'adaptation des programmeurs humains aux changements d'API. Plus précisément, nous construisons un ensemble de données d'environ 2 000 entrées pour entraîner les LLMs à effectuer des migrations de version basées sur des informations mises à jour. Ensuite, nous introduisons une métrique modifiée de similarité de chaînes pour l'évaluation du code comme récompense pour l'apprentissage par renforcement. Nos expériences montrent que ReCode améliore considérablement les performances de génération de code des LLMs dans des scénarios d'API dynamiques, en particulier sur la tâche inédite CodeUpdateArena. De manière cruciale, comparé à un ajustement supervisé, ReCode a moins d'impact sur les capacités générales de génération de code des LLMs. Nous appliquons ReCode à divers LLMs et algorithmes d'apprentissage par renforcement (GRPO et DAPO), tous obtenant des améliorations constantes. Notamment, après l'entraînement, Qwen2.5-Coder-7B surpasse le modèle de code à 32 milliards de paramètres ajusté pour les instructions et le modèle de raisonnement avec la même architecture. Le code est disponible à l'adresse 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.