Code Graph Model (CGM): A Graph-Integrated Large Language Model for Repository-Level Software Engineering Tasks

2025年05月22日
  • 简介
    近期大型语言模型(LLMs)在函数级别的代码生成方面展现出潜力,然而在仓库级别的软件工程任务上仍然面临挑战。当前的解决方案大多依赖专有的 LLM 代理,这不仅引入了不可预测性,还限制了可访问性,同时引发了关于数据隐私和模型定制化的担忧。本文探讨了开源 LLM 是否能够在无需依赖代理的方法下有效处理仓库级别的任务。我们通过使 LLM 能够理解代码库中函数和文件的语义信息及其结构依赖关系,证明了这一点是可行的。为此,我们提出了代码图模型(Code Graph Models, CGMs),该模型将代码仓库的图结构整合到 LLM 的注意力机制中,并通过一个专门的适配器将节点属性映射到 LLM 的输入空间。结合无代理的图检索增强生成(graph RAG)框架,我们的方法使用开源的 Qwen2.5-72B 模型,在 SWE-bench Lite 基准测试中达到了 43.00% 的解决率。这一表现不仅在开源权重模型中排名第一,也在包含开源系统的所有方法中位列第二,整体排名第八,比之前基于最佳开源模型的方法高出 12.33%。
  • 作者讲解·1
  • 图表
  • 解决问题
    论文试图解决使用开放权重模型进行仓库级别软件工程任务的问题,特别是通过语义信息和结构依赖来增强LLM对代码库的理解。这是一个新问题,因为大多数现有方法依赖于专有LLM代理,这限制了可访问性和定制性,并引发了数据隐私问题。
  • 关键思路
    关键思路是引入Code Graph Models (CGMs),将代码库的图结构集成到LLM的注意力机制中,并通过专门的适配器将节点属性映射到LLM的输入空间。此外,结合无代理的图RAG框架,这种方法能够显著提升开放权重模型在SWE-bench Lite基准上的表现。相比当前领域研究,该方法首次展示了无需代理的情况下,开放权重模型可以有效完成复杂的仓库级任务。
  • 其它亮点
    实验设计基于SWE-bench Lite基准测试,使用Qwen2.5-72B作为开放权重模型,取得了43.00%的分辨率,这是开放权重模型中的最佳表现,同时也是开源系统方法中的第二名。论文还提供了详细的对比分析,表明其方法比之前最佳的开源模型高出12.33%。值得注意的是,论文可能伴随开源代码或技术实现细节,便于后续研究者复现和改进。
  • 相关研究
    最近的相关研究包括:1) 使用闭源LLM代理进行仓库级任务的研究;2) 图神经网络(GNN)与LLM结合的方法,如GraphCodeBERT;3) 针对代码生成优化的开源模型,例如StarCoder和CodeGen。相关论文标题包括《Agent-based LLMs for Software Engineering》、《Graph Neural Networks for Code Understanding》和《Large Language Models for Code Generation: A Survey》。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问