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

2025年05月22日
  • 简介
    近期大型语言模型(LLMs)在函数级别的代码生成方面展现出了潜力,然而在仓库级别的软件工程任务中仍然面临挑战。当前的解决方案大多依赖于专有的 LLM 代理,这不仅引入了不可预测性,还限制了可访问性,进而引发了关于数据隐私和模型定制化的担忧。本文探讨了是否可以通过非代理的方式,利用开源 LLM 来有效解决仓库级别的任务。我们通过使 LLM 能够理解代码库中函数和文件的语义信息及其结构依赖关系,证明了这一点是可行的。为此,我们提出了代码图模型(CGMs),该模型将代码仓库的图结构整合到 LLM 的注意力机制中,并通过一个专门的适配器将节点属性映射到 LLM 的输入空间。结合无代理的图检索生成框架(RAG),我们的方法在 SWE-bench Lite 基准测试中使用开源 Qwen2.5-72B 模型实现了 43.00% 的解决率。这一表现不仅在开源权重模型中排名第一,在包含开源系统的全部方法中排名第二,整体排名第八,比此前基于最佳开源模型的方法提升了 12.33%。
  • 图表
  • 解决问题
    论文试图解决使用开放权重的大型语言模型(LLMs)来处理复杂代码库级别的软件工程任务的问题,特别是避免依赖专有代理系统。这是一个相对较新的问题,因为大多数现有方法依赖于封闭的、专有的LLM代理系统。
  • 关键思路
    关键思路是引入Code Graph Models (CGMs),通过将代码库的语义信息和结构依赖性整合到LLM的注意力机制中,使得LLM能够更好地理解和生成代码库级别的内容。与传统方法不同,该研究采用无代理的图检索增强生成(graph RAG)框架,并结合开源LLM(如Qwen2.5-72B),从而实现了对代码库的高效建模。
  • 其它亮点
    实验设计基于SWE-bench Lite基准测试集,展示了在不使用代理的情况下,开源LLM可以达到较高的任务分辨率(43.00%)。此外,代码和模型完全开源,便于后续研究者复现和改进。未来值得深入研究的方向包括进一步优化CGMs架构以及扩展到更多实际工业场景中的代码库任务。
  • 相关研究
    最近的相关研究包括:1) CodeT5系列工作,专注于代码理解与生成;2) AlphaCode,由DeepMind提出,探索了大规模LLM在编程竞赛中的应用;3)CodeGen,研究如何利用预训练模型进行代码生成;4) StarCoder,一种针对多语言代码生成优化的大规模模型。这些研究共同推动了代码生成领域的进展,但多数仍依赖于闭源或代理技术。
许愿开讲
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论