ChatPaper.aiChatPaper

Обучение языковых моделей генерации качественного кода с использованием обратной связи на основе анализа программ

Training Language Models to Generate Quality Code with Program Analysis Feedback

May 28, 2025
Авторы: Feng Yao, Zilong Wang, Liyuan Liu, Junxia Cui, Li Zhong, Xiaohan Fu, Haohui Mai, Vish Krishnan, Jianfeng Gao, Jingbo Shang
cs.AI

Аннотация

Генерация кода с использованием больших языковых моделей (LLMs), часто называемая "вибро-кодированием", всё чаще применяется в производственной среде, но не обеспечивает качество кода, особенно в аспектах безопасности (например, уязвимости SQL-инъекций) и поддерживаемости (например, отсутствие аннотаций типов). Существующие методы, такие как контролируемое тонкое настраивание и постобработка на основе правил, зависят от трудоёмких аннотаций или хрупких эвристик, что ограничивает их масштабируемость и эффективность. Мы предлагаем REAL — фреймворк обучения с подкреплением, который стимулирует LLMs генерировать код производственного качества с использованием обратной связи, основанной на анализе программ. В частности, REAL интегрирует два автоматизированных сигнала: (1) анализ программ, выявляющий дефекты безопасности или поддерживаемости, и (2) модульные тесты, обеспечивающие функциональную корректность. В отличие от предыдущих работ, наш фреймворк не зависит от промптов и эталонных данных, что позволяет масштабировать контроль без ручного вмешательства. Эксперименты на множестве наборов данных и масштабов моделей показывают, что REAL превосходит современные методы в одновременной оценке функциональности и качества кода. Наша работа устраняет разрыв между быстрым прототипированием и готовым к производству кодом, позволяя LLMs обеспечивать как скорость, так и качество.
English
Code generation with large language models (LLMs), often termed vibe coding, is increasingly adopted in production but fails to ensure code quality, particularly in security (e.g., SQL injection vulnerabilities) and maintainability (e.g., missing type annotations). Existing methods, such as supervised fine-tuning and rule-based post-processing, rely on labor-intensive annotations or brittle heuristics, limiting their scalability and effectiveness. We propose REAL, a reinforcement learning framework that incentivizes LLMs to generate production-quality code using program analysis-guided feedback. Specifically, REAL integrates two automated signals: (1) program analysis detecting security or maintainability defects and (2) unit tests ensuring functional correctness. Unlike prior work, our framework is prompt-agnostic and reference-free, enabling scalable supervision without manual intervention. Experiments across multiple datasets and model scales demonstrate that REAL outperforms state-of-the-art methods in simultaneous assessments of functionality and code quality. Our work bridges the gap between rapid prototyping and production-ready code, enabling LLMs to deliver both speed and quality.
PDF94June 4, 2025