MemGovern團隊 投稿量子位 | 公眾號 QbitAI
人類程式設計師碰到棘手的bug通常會上網查詢前輩的經驗。
當前AI雖然開始具備聯網搜尋能力,但仍不能很好地從網路經驗中獲取修復bug的能力。
讓AI學習人類程式設計師的工作流程或許有助於其提升bug修復能力,名為MemGovern的項目團隊在此思路下做出的嘗試近期得到了良好的效果。
在自動化軟體工程(SWE)領域,大語言模型驅動的程式碼智慧體(Code Agents)雖然在程式設計範式上帶來了變革,但們目前普遍面臨「封閉世界」的認知局限:現有的智慧體往往試圖從零開始修復Bug,或者僅依賴倉庫內的局部上下文,而忽略了GitHub等平台上積累的浩瀚歷史人類經驗。
事實上,人類工程師在解決複雜問題時,往往會搜尋開源社群,借鑑相似問題的歷史解決方案。
然而,直接讓智慧體利用這些「開放世界」的經驗極具挑戰,因為真實的Issue和Pull Request(PR)數據充斥著非結構化的社交噪音、模稜兩可的描述以及碎片化的資訊。
為了突破這一壁壘,前沿開源學術社群QuantaAlpha聯合中國科學院大學(UCAS)、新加坡國立大學(NUS)、北京大學(PKU)、華東師範大學(ECNU)等團隊提出了MemGovern框架。
該框架並未採用簡單的檢索增強(RAG)路徑,而是提出了一套完整的「經驗精煉」機制,將雜亂的GitHub數據轉化為智慧體友好的結構化記憶,並結合了Deep Research的思想提出了「Experiential Memory Search」策略,實現了從歷史經驗中提取可復用修復邏輯的閉環。
核心痛點:海量數據≠可用知識
現有的Code Agent(如SWE-Agent)在處理複雜Bug時,往往陷入「不知所措」的境地,因為們缺乏歷史記憶。雖然GitHub是一個巨大的寶庫,但直接把Issue和PR丟給AI效果並不好,原因在於:
1.雜訊極大:原始討論中充斥著「感謝」、「合併請求」等無關社交用語。2.非結構化:不同專案的日誌、報錯資訊和修復邏輯混雜在一起,缺乏統一格式。3.難以檢索:簡單的語義匹配容易被表面關鍵字誤導,無法觸達深層的修復邏輯。
MemGovern的出現,就是為了把這些「原始數據」變成AI真正能用的「經驗卡片」。
經驗精煉機制(Experience Refinement Mechanism)
MemGovern並沒有直接將原始的GitHub Issue和PR扔給智慧體,而是構建了一套層次化的篩選與內容淨化流水線。
層次化選擇(Hierarchical Selection):首先,透過綜合考量Star數與維護活躍度(Issue/PR頻率),篩選出高品質的倉庫源;隨後,在實例層面進行嚴格清洗,僅保留包含完整證據鏈(問題-程式碼-驗證)的「閉環」修復記錄。
標準化經驗卡片(Experience Card):這是MemGovern的獨創設計。原始記錄被重構為標準化的經驗卡片,每張卡片被顯式地解耦為兩層:
索引層(Index Layer,):包含標準化的問題摘要與關鍵診斷訊號(如異常類型、錯誤簽名),用於基於症狀的高效檢索。 決議層(Resolution Layer,):封裝了根因分析(Root Cause)、修復策略(Fix Strategy)、補丁摘要(Patch Digest)以及驗證方法(Verification)。
這種結構化設計有效解決了檢索訊號與推理邏輯混淆的問題,顯著提升了知識的可用性。目前,團隊已成功構建了包含135,000條高保真經驗卡片的知識庫。
代理式經驗搜尋(Agentic Experience Search):像人類一樣「搜尋-瀏覽」文件
傳統的RAG(檢索增強生成)往往是一次性把檢索結果塞給模型,容易導致上下文超長且充滿雜訊。MemGovern採用了更符合人類直覺的Search-then-Browse(先搜後看)模式:
- Searching(搜尋)
智慧體首先根據當前Bug的症狀(如報錯堆疊)在索引層進行廣度搜尋,快速定位可能相關的候選案例。 - Browsing(瀏覽)
智慧體自主選擇最有希望的案例,查看其詳細的「解決方案層」。這種機制允許智慧體深入理解修復邏輯,排除無關干擾。 - 遷移與應用
智慧體將歷史案例中的抽象修復策略(如「增加邊界檢查」)映射到當前的程式碼庫中,實現知識遷移。
實驗評估:全面超越主流基線
研究團隊在SWE-bench Verified上進行了詳盡的評測。結果顯示,MemGovern在所有測試模型上都取得了顯著提升。
主要實驗結果(Pass@1修復率):
- Claude-4-Sonnet+MemGovern
修復率達到69.8%,相較於基線SWE-Agent提升了3.2%。 - GPT-4o+MemGovern
修復率從23.2%飆升至32.6%,實現了9.4%的巨大提升。 - DeepSeek-V3+MemGovern
修復率提升至65.8%。
實驗數據清晰地表明,MemGovern的提升是穩健且模型無關的。對於基礎能力較弱的模型,MemGovern提供的外部經驗能夠帶來更為顯著的性能飛躍。
消融實驗驗證:
- 記憶規模的影響
隨著經驗卡片數量從10%增加到100%,智慧體的修復率呈現單調上升趨勢,證明了大規模經驗記憶的有效性。 - 精煉的重要性
對比直接使用原始Issue/PR數據(Raw Experience),經過「精煉」的經驗卡片帶來了更穩定、更高的性能提升,證明了結構化治理的必要性。
案例分析:經驗如何改變結果?
在Django框架的一個真實Bug(order by導致崩潰)中,我們可以清晰地看到MemGovern的價值。
傳統Agent(No Experience):
缺乏經驗的智慧體只能看到報錯表象。
它採取了一種「防禦性程式設計」的策略,簡單粗暴地加了一個類型檢查來繞過報錯。但這實際上違反了函數的API規範——它返回了錯誤的原始物件而非預期的處理結果。
這種「掩耳盜鈴」式的修復雖然暫時消除了執行時的報錯,卻導致下游核心功能因資料類型不匹配而失效,最終依然無法通過測試用例。
MemGovern Agent:
智慧體檢索到了一條相似的歷史經驗。
經驗卡片中的「Fix Strategy」明確指出:「不要僅僅繞過物件,而應該進行顯式的類型檢查並提取欄位名」。
依據這條指引,智慧體寫出了完美的修復程式碼,既修復了Crash,又保留了原有功能。
經驗重塑
MemGovern的提出,不僅是效能指標上的突破,更重要的是,它為AI智慧體如何有效利用海量的非結構化人類除錯經驗指明了一條清晰可行的道路。
它證明了將GitHub上雜亂的原始Issue與PR經過經驗加工後能被視為可檢索、可驗證、可遷移的「經驗記憶」,而非充滿雜訊的「干擾數據」,是打破智慧體封閉世界的限制、解決複雜現實世界Bug的強大範式。
未來,MemGovern所開創的經驗重塑範式,其潛力絕不僅限於程式碼領域。
這種將非結構化的人類專業經驗轉化為機器可讀記憶的方法,具有極強的通用性與推廣價值。它為法律諮詢、醫療診斷等同樣高度依賴歷史案例與專家經驗的垂直領域,提供了一套標準化的模版。
期待MemGovern的理念能走出程式碼倉庫,完成更多需要「以史為鑑」的複雜智力任務,為建構跨領域的、通用的智慧體記憶基礎設施奠定基石。
論文標題:
MemGovern: Enhancing Code Agents through Learning from Governed Human Experiences論文連結:
https://arxiv.org/abs/2601.06789開源程式碼:
https://github.com/QuantaAlpha/MemGovern
關於QuantaAlpha
QuantaAlpha成立於2025年4月,由來自清華、北大、中科院、CMU、港科大等名校的教授、博士後、博士與碩士組成。我們的使命是探索智慧的「量子」,引領智慧體研究的「阿爾法」前沿——從CodeAgent到自進化智慧,再到金融與跨領域專用智慧體,致力於重塑人工智慧的邊界。
2026年,我們將在CodeAgent(真實世界任務的端到端自主執行)、DeepResearch、AgenticReasoning/Agentic RL、自進化與協同學習等方向持續產出高品質研究成果,歡迎對我們方向感興趣的同學加入我們!
團隊主頁:
https://quantaalpha.github.io/
一鍵三連「點讚」「轉發」「小心心」
歡迎在評論區留下你的想法!
— 完 —
我們正在招聘一名眼疾手快、關注AI的學術編輯實習生🎓
感興趣的小伙伴歡迎關注 👉 了解詳情
🌟 點亮星標 🌟
科技前沿進度每日見