中文

修正大语言模型的规约误解以提升代码生成

软件工程 2024-12-20 v3

摘要

代码生成旨在自动生成符合给定编程规约的源代码,随着大语言模型(LLM)的发展已受到广泛关注。由于代码生成的固有难度,LLM生成的代码可能与规约不一致。尽管已提出引发思考的提示技术来增强LLM的代码生成性能,但对复杂编程问题产生正确理解仍具挑战性,导致性能不尽人意。此外,一些基于反馈的提示技术已提出利用测试执行产生的错误信息来修复错误代码。然而,当生成的代码严重偏离真实答案时,它们难以基于此类粗粒度信息提升性能。在本工作中,我们提出一种新颖的提示技术,称为{\mu}FiX,通过设计精细的引发思考提示与基于反馈的提示并首次探索其协同作用,来提升LLM的代码生成性能。它首先利用测试用例分析获得规约理解,并启用自我改进过程以识别并精炼引发思考提示阶段的误解。{\mu}FiX进一步将规约理解朝缩小所提供的理解(来自第一阶段)与LLM用于代码生成的隐式实际理解之间差距的方向进行修正。通过{\mu}FiX改进理解,LLM的代码生成性能可大幅提升。我们对两个先进LLM(ChatGPT和DeepSeek-Coder)在六个广泛使用基准上对比15个基线进行评估,证明了{\mu}FiX的有效性……

关键词

引用

@article{arxiv.2309.16120,
  title  = {Fixing Large Language Models' Specification Misunderstanding for Better Code Generation},
  author = {Zhao Tian and Junjie Chen and Xiangyu Zhang},
  journal= {arXiv preprint arXiv:2309.16120},
  year   = {2024}
}

备注

Accepted by ICSE 2025