《電子技術應用》
您所在的位置:首頁 > 人工智能 > 業界動態 > 大模型首次直接理解代碼圖

大模型首次直接理解代碼圖

不用Agent自動修bug,登頂SWE-Bench開源模型榜單
2025-06-27
來源:IT之家
關鍵詞: AI 大模型 開源模型

AI 自動修 bug,解決率達 44%!這是全球開源模型的最新最強水平。

來自螞蟻的開源新模型,在 SWE-bench Lite 上超越所有開源方案,性能媲美閉源模型。

000.png

具體表現如下,在 SWE-bench Lite 上:

所有開源模型方法(Open Weight Model)中排名第一;

所有開源系統方法(Open Source Syestem)中排名第六;

總體排名第 14;

優于目前榜單最好開源模型“KGCompass”7.33%。

000.png

他們首創將倉庫代碼圖模態融入大模型(Code Graph Model, CGM),讓大語言模型能直接理解代碼圖,更高效修復 bug、補全代碼。

這徹底擺脫對黑盒模型(如 GPT-4 或 Claude 3.7 等)和復雜 Agent 工作流程的依賴,實現更加可控、透明、安全的 SE 自動化。

而且,CGM 完全基于開源模型。要知道,開源模型在 SWE-bench 上的表現通常不夠好,此前幾乎所有 SOTA 級方案都是基于閉源模型實現。而 CGM 基于 Qwen 模型,做到了比肩閉源模型的水平。

CGM 僅需 4 步就能快速定位、生成補丁,省去了 Agent 方案中復雜的編排過程,效率直線 up。

000.png

讓 AI 真正理解大模型代碼庫

大模型趨勢以來,AI 編程迅速崛起,尤其是在寫函數這類小任務上的表現出色,比如在 HumanEval 等基準測試上,許多模型的準確率已經超過 90%。

然而真實的軟件工程遠比”寫一個函數“復雜得多。像 Bug 修復、功能增強這樣的任務,通常需要跨文件、跨模塊操作,并要求模型理解項目中復雜的結構、依賴關系和類的繼承體系。

現在的主流方法通常是使用基于閉源模型的 Agent。它們可以模擬人類程序員行為,如觀察代碼、調用工具、多輪交互等完成任務。

但這類方法也存在幾個問題:

行為路徑不可控,容易積累推理誤差;

依賴 GPT-4、Claude 等閉源模型,難以私有部署或定制;

工程成本高,效率不高。

與此同時,當前使用開源模型的方案,很難實現 SOTA 級效果。

為此研究團隊提出:能否只用開源模型、不依賴 Agent,解決倉庫級任務?CGM 由此而來。

??圖結構與大模型深度融合

CGM 采用類似 Vision-Language Model(VLM)的跨模態建模方式。它將傳統 LLM 的文本理解能力與代碼倉庫的結構圖(Graph)結合,形成一種圖-語言多模態模型。模型核心融合了兩個模態:

圖模態:將倉庫構建為結構化圖,節點包括函數、類、文件、包等 7 種類型,邊表示調用、包含、繼承等依賴;

語言模態:用戶輸入的自然語言描述和代碼提示,驅動模型生成 patch 或回答。

000.png

模型輸入為代碼圖和文本形式的 prompt,將在 LLM 中對結構-語義進行雙模態對齊。

具體結構融合方法如下:

使用小型編碼器(CodeT5+)對每個節點進行編碼,壓縮為單個“節點 token”,每個節點內按照至多 512 個 token 的文本塊切分。

通過一個適配器(一個兩層 MLP)將編碼后的節點表征映射到 LLM 輸入嵌入空間中。相當于將 LLM 上下文擴展 512 倍,能更好處理海量的代碼倉庫上下文。

使用圖感知注意力掩碼(Graph-aware Attention Mask)。替代 LLM 中原有的因果注意力,使注意力機制只作用于相鄰節點間。類似于 GNN 的消息傳遞機制,能夠讓 LLM 直接感知和利用代碼的結構依賴關系。

??兩階段訓練:結構理解 + 問題泛化

基于此模型架構,團隊通過兩階段訓練讓 LLM 能夠理解代碼圖的拓撲結構。

階段一:子圖重構預訓練

為了訓練 CGM 有效捕捉代碼圖的語義和結構信息,團隊設計了一個“圖生代碼 (Graph-to-Code)”任務。從大型代碼圖中隨機采樣出子圖(限制節點數量以控制輸出代碼長度),模型需要根據這些輸入的子圖(僅包含節點類型和連接關系,不含完整的代碼內容)來重建出原始的代碼片段。

然后采用層級化方法,保持重建代碼的結構一致性和可讀性。按照拓撲排序與行號順序拼接倉庫上下文:高級別節點(如 REPO、PACKAGE)置于輸出序列或文件的起始;文件節點通過拓撲排序確定順序;文件內節點(如 CLASS、FUNCTION)則按行號順序拼接。

階段二:噪聲增強微調

此階段使用真實的 GitHub 問題-修復補丁數據對 CGM 進行微調。

模型學習基于兩項輸入生成代碼補丁:(i) 一個相關的代碼子圖;(ii) 一段文本提示,指明根據補丁可能需要修改的實際文件。為了提升模型的魯棒性,特意在提示中引入了 10% 的噪聲輸入:例如,提示中可能包含一個實際上無需修改的不相關文件,或者遺漏至少一個本應被修改的關鍵文件。在訓練中引入這種受控的噪聲有助于模型更好地泛化到實際輸入信息不完整或包含干擾的場景。

??推理階段:Graph-RAG 框架替代 Agent

最后,為了進一步提升實際應用能力,CGM 構建了一個無 Agent 輕量化框架 Graph-RAG。

它還原了人類程序員 bug 修復工作流,但比現有 Agent 方案效率更高。

核心模塊數量從 10 個進一步精簡到了 4 個:改寫器 → 檢索器 → 重排器 → 生成器(CGM 模型)。

改寫器(Rewriter):改寫問題描述,提取關鍵詞與相關文件;

檢索器(Retriever):通過語義與結構檢索,從代碼圖中抽取連通子圖;

重排器(Reranker):排序檢索結果,選擇最關鍵文件用于生成;

生成器(Reader):結合子圖與提示生成最終修復代碼。

000.png

基于以上,CGM 在多個測試基準中取得了領先成績。具體如下 ——

實驗結果

研究團隊在多個主流基準上系統評估了 CGM 的性能,涵蓋兩個主要任務類別:(1)代碼修復和(2)代碼補全。

倉庫級別的代碼修復

在 SWE-bench Lite Leaderboard 上,CGM 以 44.00% 的結果排名開源權重榜單第一。

000.png

在 SWE-bench Verified 上,CGM 相比于最佳開源基線提升了 10.20%,至 50.40%;

對于 Java 項目,CGM 在 SWE-bench-java Verified 上達到 14.29%,則相比于最佳開源基線提升了 4.4%。

000.png

這些結果表明 CGM 能夠處理跨語言、跨項目的大規模倉庫級 Bug 修復任務,展現出強大的結構理解與泛化能力。

倉庫級別的代碼補全

在復雜代碼生成任務中,CGM 在 ComplexCodeEval 和 CrossCodeEval 上也顯著領先于同尺寸開源模型,特別是在需要跨文件推理和補全的場景下效果突出。

000.png

此外,研究團隊在不同基座模型上(CodeLlama-7B 和 DeepSeek-Coder-7B)分別部署了 CGM,并與近期 RAG 系統進行比較。結果顯示,CGM 具備很好通用性,可以適配多種基座模型,并且表現超越傳統 RAG 方法。

000.png

總結來看,CGM 不依賴復雜 Agent 系統,首次實現了在大模型中融合代碼圖模態,讓 AI 像人類一樣 get 倉庫里文本和代碼之間的復雜依賴關系,“真正理解一個項目”。

更關鍵的是,它基于開源模型就能實現,不局限于特定模型。為企業和開發者提供了一個靈活、透明且可控的方案。

??最后,CGM 的技術論文、核心代碼、模型權重與訓練數據均已開源,感興趣的同學可進一步了解詳情。

技術論文:https://arxiv.org/abs/2505.16901

開源代碼:https://github.com/codefuse-ai/CodeFuse-CGM

模型權重:https://huggingface.co/codefuse-ai/CodeFuse-CGM-72B

訓練數據:https://huggingface.co/datasets/codefuse-ai/CodeGraph

??團隊此前工作:

Code LLM綜述:Awesome-Code-LLM(TMLR)https://github.com/codefuse-ai/Awesome-Code-LLM

Graph+LLM前序研究:GALLa(ACL 2025)https://github.com/codefuse-ai/GALLa

高效注意力架構:Rodimus(ICLR 2025)https://arxiv.org/abs/2410.06577

代碼多任務微調框架:MFTCoder(KDD 2024)https://arxiv.org/abs/2311.02303


Magazine.Subscription.jpg

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 无码人妻丰满熟妇区bbbbxxxx| 毛片女人十八以上观看| 成年人黄色毛片| 亚洲欧美视频一级| 色婷婷亚洲综合| 国产精品视频在| baoyu777永久免费视频| 日本视频一区在线观看免费| 亚洲人成综合在线播放| 精品亚洲一区二区三区在线观看| 国产欧美日韩另类精彩视频| silk131中字在线观看| 日韩精品一区二区三区老鸦窝| 亚洲国产精品无码久久98 | 风韵多水的老熟妇| 在线视频一区二区三区在线播放| 三级黄色毛片视频| 欧洲a老妇女黄大片| 亚洲欧美日韩一区在线观看| 美女一级免费毛片| 国产欧美日韩综合精品一区二区 | 精品人妻无码一区二区色欲产成人 | 天堂а√8在线最新版在线| 久久午夜无码鲁丝片午夜精品| 欧美精品手机在线| 午夜精品久久久久久久99热| 亚洲色欲色欲综合网站| 奷小罗莉在线观看国产| 久久久噜噜噜久久熟女AA片| 欧美性色19p| 国产亚洲欧美在线播放网站| 5x社区精品视频在线播放18| 性高朝久久久久久久3小时| 久久综合88熟人妻| 欧美超清videos1080p| 伊人这里只有精品| 老司机福利在线免费观看| 国产欧美日产激情视频| 大战孕妇12p| 夜夜揉揉日日人人青青| igao视频网站|