⏶19
编码三角:大型语言模型如何理解代码?
发表
由
Songyang Zhang 提交
作者:
Taolin Zhang,
Zihan Ma, Maosong Cao,
Junnan Liu,
Songyang Zhang, Kai Chen


摘要
大型语言模型(LLM)在代码生成方面取得了显著进展,但其真正的编程能力仍未被充分探索。我们引入了代码三角框架,该框架系统地从三个基本维度评估LLM:解题思路分析(editorial analysis)、代码实现和测试用例生成。通过在竞争性编程基准上的广泛实验,我们发现虽然LLM可以在这些维度上形成一个自洽的系统,但它们的解决方案往往缺乏人类程序员的多样性和鲁棒性。我们发现了模型认知与人类专业知识之间存在显著的分布偏移,模型错误倾向于因训练数据偏差和有限的推理迁移而聚集。我们的研究表明,结合人类生成的解题思路、解决方案和多样化测试用例,以及利用模型混合,可以显著提升LLM的性能和鲁棒性。此外,我们揭示了LLM认知中的连贯性和不连贯性,这可能有助于自我反思和自我改进,为开发更强大的编码模型提供了潜在方向。
技术报告