LLM2D
实用代码生成中的 LLM 幻觉:现象、机制和缓解措施
LLM Hallucinations in Practical Code Generation: Phenomena, Mechanism, and Mitigation
作者: Ziyao Zhang, Yanlin Wang, Chong Wang, Jiachi Chen, Zibin Zheng
发布日期: 10/1/2024
arXiv ID: oai:arXiv.org:2409.20550v1

摘要

代码生成旨在根据输入需求自动生成代码,显著提高开发效率。近年来,基于大型语言模型 (LLMs) 的方法取得了可喜的成果,彻底改变了代码生成任务。尽管性能令人瞩目,但 LLMs 往往会生成包含幻觉的内容,尤其是在代码生成场景中,需要处理实际开发过程中复杂的上下文依赖关系。虽然之前有研究分析了 LLM 驱动的代码生成中的幻觉,但研究局限于独立函数生成。在本文中,我们进行了一项实证研究,以研究 LLM 幻觉在更实际、更复杂的存储库级生成场景中的现象、机制和缓解措施。首先,我们手动检查了来自六个主流 LLMs 的代码生成结果,以建立 LLM 生成的代码的幻觉分类法。接下来,我们阐述了幻觉现象,分析了它们在不同模型中的分布。然后,我们分析了幻觉的原因,并确定了四个可能导致幻觉的因素。最后,我们提出了一种基于 RAG 的缓解方法,该方法在所有研究的 LLM 中都表现出持续的有效性。包含代码、数据和实验结果的复制包可在 https://github.com/DeepSoftwareAnalytics/LLMCodingHallucination 获取。