ChatPaper.aiChatPaper

ReCode: Обновление знаний об API кода с использованием обучения с подкреплением

ReCode: Updating Code API Knowledge with Reinforcement Learning

June 25, 2025
Авторы: Haoze Wu, Yunzhi Yao, Wenhao Yu, Huajun Chen, Ningyu Zhang
cs.AI

Аннотация

Крупные языковые модели (LLMs) демонстрируют впечатляющие способности в генерации кода, но сталкиваются с трудностями при адаптации к частым обновлениям API внешних библиотек. Это критическое ограничение, вызванное зависимостью от устаревших знаний об API из их обучающих данных, даже при наличии доступа к актуальной документации, препятствует надежной генерации кода в динамичных средах. Для решения этой проблемы мы предлагаем ReCode (rule-based Reinforcement learning for Code Update) — новый фреймворк, имитирующий адаптацию программистов к изменениям API. В частности, мы создаем набор данных из примерно 2000 записей для обучения LLM выполнению миграции версий на основе обновленной информации. Затем мы вводим модифицированную метрику сходства строк для оценки кода в качестве награды для обучения с подкреплением. Наши эксперименты показывают, что ReCode значительно улучшает производительность LLM в сценариях с динамичными API, особенно на задаче CodeUpdateArena, которая не была представлена в обучающих данных. Важно отметить, что по сравнению с тонкой настройкой с учителем, ReCode оказывает меньшее влияние на общие способности LLM к генерации кода. Мы применяем ReCode к различным LLM и алгоритмам обучения с подкреплением (GRPO и DAPO), и все они демонстрируют стабильные улучшения. Примечательно, что после обучения Qwen2.5-Coder-7B превосходит модель с 32 миллиардами параметров, настроенную на генерацию кода, и модель с аналогичной архитектурой, ориентированную на рассуждения. Код доступен по адресу 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.
PDF51June 26, 2025