摘要
arXiv:2505.07768v1 交叉类型:cross
摘要:大规模语言模型(LLMs)在代码生成方面展现了前所未有的能力。然而,LLM生成的代码仍然存在广泛的功能错误,尤其是在LLMs从未见过的复杂编程任务中更为明显。最近的研究表明,开发者在检查和修复LLMs生成的错误代码时经常遇到困难,这降低了他们对基于LLM的代码生成的信任度和生产力。受通信中的相互接地理论启发,我们提出了一种交互方法,利用代码注释作为开发者和LLMs之间的共享理解媒介。我们的方法通过嵌套代码生成、行内注释生成以及上下文反馈(通过可编辑注释)来促进迭代接地,以使生成的代码与开发者的意图保持一致。我们在两个流行的基准测试上评估了我们的方法,并证明我们的方法显著改善了多个最先进的LLM,例如在HumanEval上code-davinci-002的pass@1提高了17.1%。此外,我们进行了用户研究,参与人数为12人,并将我们的方法与两个基线进行了比较:(1)与GitHub Copilot交互,(2)与一个名为多轮程序合成的多步代码生成范式交互。与使用我们的方法相比,参与者完成给定编程任务的速度提高了16.7%,任务成功率提高了10.5%。上述结果表明,交互性地完善代码注释能够促进合作式的相互接地的建立,从而提高了代码生成的准确性并提升了开发者的信心。