ChatPaper.aiChatPaper

ReCode: Aktualisierung von Code-API-Wissen durch Reinforcement Learning

ReCode: Updating Code API Knowledge with Reinforcement Learning

June 25, 2025
Autoren: Haoze Wu, Yunzhi Yao, Wenhao Yu, Huajun Chen, Ningyu Zhang
cs.AI

Zusammenfassung

Große Sprachmodelle (LLMs) zeigen bemerkenswerte Fähigkeiten in der Code-Generierung, scheitern jedoch bei der Anpassung an häufige Aktualisierungen von externen Bibliotheks-APIs. Diese kritische Einschränkung, die auf der Abhängigkeit von veraltetem API-Wissen aus ihren Trainingsdaten beruht, selbst bei Zugriff auf aktuelle Dokumentation, behindert die zuverlässige Code-Generierung in dynamischen Umgebungen. Um dieses Problem zu lösen, schlagen wir ReCode (regelbasiertes Reinforcement Learning für Code-Aktualisierung) vor, ein neuartiges Framework, das die Anpassung menschlicher Programmierer an API-Änderungen nachahmt. Konkret erstellen wir einen Datensatz von etwa 2.000 Dateneinträgen, um die LLMs zu trainieren, Versionenmigrationen basierend auf aktualisierten Informationen durchzuführen. Anschließend führen wir ein modifiziertes String-Ähnlichkeitsmaß für die Code-Bewertung als Belohnung für das Reinforcement Learning ein. Unsere Experimente zeigen, dass ReCode die Code-Generierungsleistung von LLMs in dynamischen API-Szenarien erheblich steigert, insbesondere bei der unbekannten CodeUpdateArena-Aufgabe. Entscheidend ist, dass ReCode im Vergleich zum überwachten Feinabgleich weniger Auswirkungen auf die allgemeinen Code-Generierungsfähigkeiten der LLMs hat. Wir wenden ReCode auf verschiedene LLMs und Reinforcement-Learning-Algorithmen (GRPO und DAPO) an, die alle konsistente Verbesserungen erzielen. Bemerkenswerterweise übertrifft Qwen2.5-Coder-7B nach dem Training das 32B-Parameter-Code-Instruktionsmodell und das Modell mit der gleichen Architektur. Der Code ist verfügbar unter 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