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的输入空间。结合一种无需代理的图RAG框架后,我们的方法在SWE-bench Lite基准测试中使用开源的Qwen2.5-72B模型实现了43.00%的问题解决率。这一表现不仅在开源权重模型中排名第一,在所有开源系统方法中排名第二,整体排名第八,还超越了此前最佳的开源模型方法12.33个百分点。
  • 作者讲解·1
  • 图表
  • 解决问题
    论文试图解决仓库级(repository-level)软件工程任务在当前大型语言模型(LLMs)中的表现不足问题。目前的解决方案主要依赖于专有的LLM代理,这带来了不可预测性、数据隐私和模型定制化方面的担忧。这是一个相对较新的研究方向,因为大多数现有工作集中在函数级别的代码生成,而非更复杂的仓库级任务。
  • 关键思路
    论文的关键思路是探索开源LLMs是否可以在不使用代理(agentless)的情况下有效处理仓库级任务。为此,作者提出了一种名为Code Graph Models(CGMs)的新方法,将代码库的图结构整合进LLM的注意力机制中,并通过专用适配器映射节点属性到LLM输入空间,从而增强LLM对代码结构与语义的理解能力。
  • 其它亮点
    1. 结合代理无关的图RAG框架,在SWE-bench Lite基准测试中取得了43.00%的解决率,显著优于此前最佳开源模型方法12.33% 2. 使用了开源模型Qwen2.5-72B,表明高性能可以不依赖闭源模型实现 3. 实验设计强调代码结构信息的重要性,为后续研究提供了可复现的基础 4. 论文可能开源其代码与模型,推动相关领域的发展
  • 相关研究
    1. CodeT: Code Generation with Test Suite Evaluation 2. ReAct: Synergizing Reasoning and Acting in Language Models 3. GraphCodeBERT: Pre-training Code Representations with Data Flow 4. InCoder: A neural code generation model from Meta that can generate code in both left-to-right and infilling fashion 5. CodeGen: An Open Language Model for Program Synthesis by Salesforce 6. PanGu-Coder: Large-scale pre-trained model for code generation from Huawei
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

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

向作者提问