摘要
arXiv:2408.05006v3 宣告类型: 交叉替换
摘要:代码调试是软件开发中的一个重要阶段,对于确保大型语言模型(LLMs)在代码生成任务中的可靠性和性能至关重要。人类调试通常遵循一个多阶段过程,包括错误定位、错误识别、代码修复和代码识别。然而,现有的代码调试基准主要侧重于代码修复阶段,这仅提供了一种有限的视角来评估LLMs的调试能力。本文介绍了DEBUGEVAL,这是一个全面的基准,通过模拟多阶段的人类调试过程来评估LLMs的调试能力。通过在DEBUGEVAL上的评估,我们观察到7B规模的模型始终逊色于其规模更大的同类模型,突显了它们在理解代码语义方面的局限性。在这种情况下,我们提出了基于通信代理的数据合成(COAST)框架,该框架采用多代理系统生成高质量的监督微调(SFT)训练数据。实验结果表明,COAST生成的数据优于人工策划和GPT-4生成的数据,使7B规模的LLMs的调试性能与GPT-3.5相匹敌。所有数据和代码均在https://github.com/NEUIR/COAST上提供。