⏶9
利用程序分析反馈训练语言模型生成高质量代码
发表
由
Feng Yao 提交
作者:
Feng Yao, Zilong Wang, Liyuan Liu, Junxia Cui, Li Zhong,
Xiaohan Fu, Haohui Mai, Vish Krishnan, Jianfeng Gao, Jingbo Shang
摘要
大型语言模型(LLM)的代码生成,通常被称为“随性编程”(vibe coding),正在生产环境中被越来越多地采用,但未能确保代码质量,尤其是在安全性(例如,SQL 注入漏洞)和可维护性(例如,缺少类型注解)方面。现有方法,例如监督微调和基于规则的后处理,依赖于劳动密集型标注或脆弱的启发式规则,限制了它们的可扩展性和有效性。我们提出了REAL,一个强化学习框架,旨在激励LLM利用程序分析指导的反馈来生成生产质量的代码。具体而言,REAL集成了两种自动化信号:(1) 检测安全性或可维护性缺陷的程序分析,以及 (2) 确保功能正确性的单元测试。与以往工作不同,我们的框架与提示无关且无需参考,实现了无需人工干预的可扩展监督。跨多个数据集和模型规模的实验表明,REAL在功能性和代码质量的同步评估中优于最先进的方法。我们的工作弥合了快速原型开发与生产就绪代码之间的差距,使LLM能够同时实现速度和质量。

我们推出 𝐑𝐞𝐚𝐋,这是一个强化学习(RL)框架,它通过自动化程序分析反馈来训练大型语言模型(LLM),使“随心所欲的编码”(vibe coding)不仅速度快,而且无漏洞、可投入生产 🛡️