- 简介大型语言模型(LLMs)正在代码生成方面取得显著进展。除了一次性代码生成外,最近的研究还将单元测试和程序验证器集成到LLMs中,以迭代地完善生成的程序。然而,这些研究将生成的程序视为不可分割的实体,在调试程序时对LLMs来说存在不足,特别是当程序包含复杂的逻辑流程和数据操作时。相比之下,当人类开发人员调试程序时,他们通常设置断点并有选择地检查运行时执行信息。执行流程和中间变量在调试过程中起着至关重要的作用,但它们在现有的代码生成文献中被低估了。在本研究中,我们介绍了大型语言模型调试器(LDB),这是一个新的调试框架,使LLMs能够通过运行时执行信息完善其生成的程序。具体来说,LDB将程序分成基本块,并跟踪每个块后的中间变量值,以便LLMs集中在整个执行流程中的较简单的代码单元上,逐块验证其正确性,并高效地定位任何潜在错误。实验表明,LDB在HumanEval、MBPP和TransCoder基准测试中始终将基准性能提高了高达9.8%,在各种LLM选择的代码调试方面取得了新的最先进性能。
- 图表
- 解决问题论文旨在解决大型语言模型在调试程序时的问题,尤其是当程序包含复杂的逻辑流程和数据操作时。
- 关键思路论文提出了一种新的调试框架——Large Language Model Debugger (LDB),通过将程序分段并跟踪运行时执行信息中的中间变量值,使大型语言模型能够集中精力在简单的代码单元上,逐块验证其正确性并快速定位潜在错误。
- 其它亮点论文实验表明,LDB可以在HumanEval、MBPP和TransCoder基准测试中将基准性能提高高达9.8%,在各种大型语言模型选择中实现了新的最先进的代码调试性能。
- 最近的相关研究包括将单元测试和程序验证器集成到大型语言模型中以迭代地完善生成的程序,以及使用大型语言模型生成代码的单次代码生成。


提问交流