大型语言模型(LLM)在写代码时常会生成自然语言注释,这些注释随后会成为后续代码生成的上下文。然而,哪些注释属性真正影响代码生成性能尚不明确。我们在 LiveCodeBench 上进行观察性分析和受控干预。结果显示,注释出现的频率以及宽泛的注释意图都不能可靠预测 pass@1。随后,我们让较弱的接受模型预填由较强的源模型写出的注释块,以此把注释的表面形式与其传递的解题内容分离。来自通过测试的源解答的注释平均提升接受模型的 pass@1 约 17.2%。相反,描述失败解答的注释没有显著提升,而为其他问题编写的注释甚至会使 pass@1 下降约 20.8%。进一步在多种模型和提示变体上测试,大多数接受模型无法显著恢复外部注释带来的提升,最佳情况也仅恢复约 24%。这些发现表明,注释之所以有助于代码生成,并非因为它们是注释本身,而是因为它们能够提供提示难以可靠获取的正确解题信息。
点评