面向降低LLM生成代码API幻觉的层次依赖感知框架MARIN
软件工程
2025-05-21 v2
摘要
应用程序编程接口(APIs)是现代软件开发中至关重要的组件。大型语言模型(LLMs)在自动代码生成中发挥着重要作用,但在实际开发场景中常常难以处理API幻觉问题,包括调用不存在的API以及误用现有API。现有研究采用检索增强生成(RAG)方法来缓解幻觉问题,但往往失败,因为它们通常忽视实际项目中的结构依赖关系,且并未验证生成的API是否真实可用。为此,我们提出MARIN框架,通过层次依赖感知来减轻LLM生成代码中的API幻觉。MARIN包含两个阶段:层次依赖挖掘(Hierarchical Dependency Mining),用于分析当前函数的局部和全局依赖关系,以补充LLMs输入中的完整项目上下文;受依赖约束解码(Dependency Constrained Decoding),利用挖掘的依赖关系对生成过程进行自适应约束,以确保生成的API符合项目规范。为评估API幻觉程度,我们引入了新的基准APIHulBench,以及两个新的度量指标,包括微型幻觉数量(Micro Hallucination Number, MiHN)和宏观幻觉率(Macro Hallucination Rate, MaHR)。在六个最先进的LLMs上进行的实验表明,MARIN有效降低了API幻觉,相较于RAG方法,在MiHN上平均降低67.52%,在MaHR上平均降低73.56%。应用于华为内部项目和两款专有LLMs时,MARIN在MiHN上平均降低57.33%,在MaHR上平均降低59.41%。
引用
@article{arxiv.2505.05057,
title = {Towards Mitigating API Hallucination in Code Generated by LLMs with Hierarchical Dependency Aware},
author = {Yujia Chen and Mingyu Chen and Cuiyun Gao and Zhihan Jiang and Zhongqi Li and Yuchi Ma},
journal= {arXiv preprint arXiv:2505.05057},
year = {2025}
}
备注
Accepted by FSE 2025 Industry Track