ReCode: Code API-kennis bijwerken met Reinforcement Learning
ReCode: Updating Code API Knowledge with Reinforcement Learning
June 25, 2025
Auteurs: Haoze Wu, Yunzhi Yao, Wenhao Yu, Huajun Chen, Ningyu Zhang
cs.AI
Samenvatting
Grote Taalmodellen (LLMs) vertonen opmerkelijke codegeneratiecapaciteiten, maar falen bij het aanpassen aan frequente updates in externe bibliotheek-API's. Deze kritieke beperking, voortkomend uit de afhankelijkheid van verouderde API-kennis uit hun trainingsdata, zelfs met toegang tot actuele documentatie, belemmert betrouwbare codegeneratie in dynamische omgevingen. Om dit probleem aan te pakken, stellen we ReCode (rule-based Reinforcement learning for Code Update) voor, een nieuw framework dat de aanpassing van menselijke programmeurs aan API-wijzigingen nabootst. Specifiek construeren we een dataset van ongeveer 2.000 gegevensitems om de LLMs te trainen in het uitvoeren van versiemigratie op basis van bijgewerkte informatie. Vervolgens introduceren we een aangepaste stringsimilariteitsmetriek voor code-evaluatie als beloning voor reinforcement learning. Onze experimenten tonen aan dat ReCode de codegeneratieprestaties van LLMs aanzienlijk verbetert in dynamische API-scenario's, vooral bij de onbekende CodeUpdateArena-taak. Cruciaal is dat ReCode, vergeleken met supervised fine-tuning, minder impact heeft op de algemene codegeneratievaardigheden van LLMs. We passen ReCode toe op verschillende LLMs en reinforcement learning-algoritmen (GRPO en DAPO), die allemaal consistente verbeteringen laten zien. Opmerkelijk is dat na de training Qwen2.5-Coder-7B beter presteert dan het 32B-parameter code-instructiegetrainde model en het redeneermodel met dezelfde architectuur. Code is beschikbaar op 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.