大模型首次直接理解代码图:不用 Agent 自动修 bug,登顶 SWE-Bench 开源模型榜单
日期:2025-06-30 14:28:46 / 人气:4
在 AI 编程领域,一项突破性成果震撼登场!蚂蚁集团推出的开源新模型,实现了 AI 自动修复 bug,解决率高达 44%,刷新全球开源模型的最强水平。在 SWE-bench Lite 榜单上,该模型超越所有开源方案,性能直逼闭源模型,成为行业焦点。
具体来看,在 SWE-bench Lite 的排名中,该模型在所有开源模型方法(Open Weight Model)中位居第一;在所有开源系统方法(Open Source Syestem)里排名第六;总体排名第 14,并且比此前榜单表现最佳的开源模型 “KGCompass” 高出 7.33% 。
这项成果的关键,在于蚂蚁团队首创将仓库代码图模态融入大模型,打造出 Code Graph Model(CGM)。CGM 让大语言模型能够直接理解代码图,在修复 bug、补全代码等任务上效率大幅提升。更重要的是,它摆脱了对 GPT-4、Claude 3.7 等黑盒闭源模型以及复杂 Agent 工作流程的依赖,为软件工程自动化带来了更可控、透明且安全的解决方案。而且,CGM 完全基于开源模型构建,在以往,开源模型在 SWE-bench 上表现欠佳,SOTA 级方案大多基于闭源模型,而 CGM 基于 Qwen 模型,却达到了与闭源模型相当的水平。
CGM 仅需 4 步就能完成定位问题、生成补丁的操作,相比 Agent 方案省去了繁琐的编排过程,效率显著提高。
让 AI 真正理解大模型代码库
自进入大模型时代,AI 编程发展迅速,在编写函数这类小任务上,许多模型在 HumanEval 等基准测试中的准确率已超 90% 。然而,真实的软件工程远比写函数复杂得多,像 Bug 修复、功能增强等任务,往往需要跨文件、跨模块操作,还要求模型理解项目复杂的结构、依赖关系和类的继承体系。
当前主流方法是使用基于闭源模型的 Agent,它们能模拟人类程序员观察代码、调用工具、多轮交互等行为来完成任务。但这种方法存在诸多问题:行为路径难以控制,容易积累推理误差;依赖闭源模型,难以进行私有部署或定制;工程成本高,效率却不高。同时,基于开源模型的现有方案,很难达到 SOTA 级效果。正是在这样的背景下,为解决仓库级任务,CGM 应运而生。
图结构与大模型深度融合
CGM 采用类似 Vision-Language Model(VLM)的跨模态建模方式,将传统大语言模型(LLM)的文本理解能力与代码仓库的结构图相结合,形成图 - 语言多模态模型。其核心融合了两个关键模态:
- 图模态:把代码仓库构建成结构化图,节点包含函数、类、文件、包等 7 种类型,边则表示调用、包含、继承等依赖关系;
- 语言模态:基于用户输入的自然语言描述和代码提示,驱动模型生成补丁或回答。
模型以代码图和文本形式的 prompt 作为输入,在 LLM 中实现结构与语义的双模态对齐。具体融合方法如下:
- 节点编码:使用小型编码器(CodeT5+)对每个节点进行编码,压缩成单个 “节点 token”,每个节点内按至多 512 个 token 的文本块进行切分;
- 空间映射:通过一个适配器(两层 MLP)将编码后的节点表征映射到 LLM 的输入嵌入空间,相当于把 LLM 的上下文扩展 512 倍,更利于处理海量代码仓库上下文;
- 注意力机制改进:采用图感知注意力掩码(Graph-aware Attention Mask)替代 LLM 原有的因果注意力,使注意力机制仅作用于相邻节点间,类似 GNN 的消息传递机制,帮助 LLM 感知和利用代码结构依赖关系;
- 两阶段训练:
- 子图重构预训练:设计 “图生代码 (Graph-to-Code)” 任务,从大型代码图中随机采样子图,模型根据子图重建原始代码片段,并采用层级化方法保证重建代码的结构与可读性;
- 噪声增强微调:使用真实的 GitHub 问题 - 修复补丁数据微调 CGM,在提示中引入 10% 的噪声输入,提升模型在信息不完整或有干扰场景下的鲁棒性和泛化能力。
推理阶段:Graph-RAG 框架替代 Agent
为提升实际应用能力,CGM 构建了无 Agent 轻量化框架 Graph-RAG,还原人类程序员 bug 修复工作流,且效率更高。该框架将核心模块从 10 个精简到 4 个:
- 改写器(Rewriter):改写问题描述,提取关键词与相关文件;
- 检索器(Retriever):通过语义与结构检索,从代码图中抽取连通子图;
- 重排器(Reranker):对检索结果排序,筛选最关键文件用于生成;
- 生成器(Reader):结合子图与提示,生成最终修复代码。
实验结果
研究团队在多个主流基准上对 CGM 进行评估,涵盖代码修复和代码补全两大任务类别,均取得领先成绩:
- 仓库级别的代码修复:在 SWE-bench Lite Leaderboard 上,CGM 以 44.00% 的成绩位列开源权重榜单第一;在 SWE-bench Verified 上,相比最佳开源基线提升 10.20%,达到 50.40% ;针对 Java 项目,在 SWE-bench-java Verified 上达到 14.29%,比最佳开源基线提升 4.4%,展现出强大的跨语言、跨项目 Bug 修复能力。
- 仓库级别的代码补全:在 ComplexCodeEval 和 CrossCodeEval 等复杂代码生成任务中,CGM 显著领先同尺寸开源模型,在跨文件推理和补全场景下优势明显。此外,在不同基座模型(CodeLlama-7B 和 DeepSeek-Coder-7B)上部署 CGM,其表现均超越传统 RAG 方法,通用性出色。
CGM 首次在大模型中融合代码图模态,让 AI 能够理解仓库里文本和代码间的复杂依赖关系,真正 “读懂” 项目。而且它基于开源模型,具有高度灵活性,为企业和开发者提供了全新选择。目前,CGM 的技术论文、核心代码、模型权重与训练数据均已开源,感兴趣的开发者可前往深入了解。
作者:天富娱乐
新闻资讯 News
- YU7 发布会后,小米友商咬紧牙...06-30
- 大模型首次直接理解代码图:不用...06-30
- 理想大调销售体系:总裁马东辉全...06-30
- OpenAI员工爆料:已抢先体验G...06-30