论文

编码时自言自语:注释为何有助于代码生成?

Talking to Itself While Coding: What Makes Comments Help Code Generation?

模型评测模型行为与机制分析

摘要

大语言模型 (LLM) 在编写代码时通常会生成自然语言注释,并且这些注释成为用于生成后续代码的上下文的一部分。然而,尚不清楚注释的哪些属性会影响代码生成性能。我们通过观察分析和控制干预来研究这个问题。在 LiveCodeBench 上,评论频率和广泛的评论意图都无法可靠地预测 pass@1。然后,我们用更强的源模型编写的评论块预填充较弱的接收者模型,使我们能够将评论表面形式与它们传达的解决方案内容分开。来自通过测试的源解决方​​案的评论将收件人 pass@1 平均提高了 17.2%。相比之下,描述失败解决方案的注释不会提供可靠的增益,而针对不同问题编写的注释会使 pass@1 减少 20.8%。最后,在各种模型和提示变体中,大多数接收者模型都没有显示出外部评论增益的显着恢复,最好的情况仅恢复了 24%。这些结果表明,注释有助于代码生成,不仅因为它们是注释,而且因为它们可以提供提示无法可靠引出的正确解决方案内容。