4 个月前

从代码到正确性:通过层次调试关闭代码生成的最后一公里

从代码到正确性:通过层次调试关闭代码生成的最后一公里

摘要

尽管大型语言模型在代码生成方面取得了显著进展,但生成代码的通过率仍受到细微错误的制约,通常需要人工干预才能通过测试,尤其是在处理复杂问题时。现有的基于大型语言模型的调试系统将生成的程序视为单一整体,无法解决从低级语法错误到高级算法缺陷等多个粒度级别的错误。本文介绍了一种多粒度调试器(MGDebugger),它通过隔离、识别和解决不同粒度级别的错误,实现分层代码调试。MGDebugger 将有问题的代码分解为子函数的层次树结构,每一层代表特定粒度的错误。在调试过程中,它逐层分析每个子函数,并自底向上逐步修复错误。为了有效测试每个子函数,我们提出了一种基于大型语言模型模拟的 Python 执行器,该执行器可以跟踪代码执行过程并记录重要变量状态,从而准确地定位错误。大量实验表明,MGDebugger 在性能上优于现有的调试系统,在 HumanEval 数据集上的准确性比初始生成提高了 18.9%,在 HumanEvalFix 数据集上的修复成功率为 97.6%。此外,MGDebugger 能够有效地修复不同类别和难度级别的错误,展示了其鲁棒性和有效性。

代码仓库

基准测试

基准方法指标
code-generation-on-humanevalMGDebugger (DeepSeek-Coder-V2-Lite)
Pass@1: 96.3
code-generation-on-mbppMGDebugger (CodeQwen1.5)
Accuracy: 80.8

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
从代码到正确性:通过层次调试关闭代码生成的最后一公里 | 论文 | HyperAI超神经