FEA-Bench:首個倉庫級新功能實現基準,讓大模型更懂軟體開發

(本文閱讀時間:8分鐘)
編者按:當前,大語言模型在程式碼生成領域已展現出驚人的能力,但能否勝任真實軟體開發中的“新增功能實現”任務,仍是一個關鍵未解的問題。對此,微軟亞洲研究院與北京大學聯合釋出了首個專注於倉庫級新功能實現的基準測試 FEA-Bench,填補了評估體系中的重要空白。該測試集構建於真實開源專案的 pull request (合併請求),覆蓋1400多個高質量任務,系統評估了主流大模型在複雜工程任務中的表現。FEA-Bench 不僅為推動程式碼生成系統邁向真實世界的新功能實現任務提供了堅實支撐,也為相關研究拓展了更廣闊的探索空間。
隨著人工智慧的快速發展,大語言模型在程式碼生成領域展現出越來越多的可能性,從函式級別的補全到複雜問題的修復,AI 已逐漸滲透至開發者的工作流程。然而,在真實的軟體工程場景中,大語言模型是否具備實現新功能的能力,仍是一個亟待驗證的重要課題。與此同時,現有的基準測試多聚焦於大模型的獨立程式設計問題或修復任務,缺乏對“新功能實現”這一核心能力的系統性評估。
對此,來自微軟亞洲研究院與北京大學的研究團隊聯合推出了首個面向倉庫級新功能實現的基準測試 FEA-Bench,填補了當前程式碼生成評估體系中的關鍵一環。該基準測試透過1401個高質量任務例項,全面評估了大語言模型在新增功能時所需的程式碼生成與編輯能力,揭示了當前模型在複雜軟體工程任務中的侷限性,為未來的研究提供了重要方向。
論文連結:
https://arxiv.org/abs/2503.06680
GitHub 專案頁面:
https://github.com/microsoft/FEA-Bench
Hugging Face 資料集地址:
https://huggingface.co/datasets/microsoft/FEA-Bench

FEA-Bench推動大語言模型走向真正的軟體工程自動化
儘管當前的大語言模型如 GPT-4、DeepSeek-Coder 和 Qwen2.5-Coder 等在程式碼補全、函式級生成乃至修復 GitHub 議題(issue等任務中表現出色,但在實際的軟體開發中,為程式碼倉庫增添新功能是一個更重要且難度更大的需求。開發者往往需要在已有程式碼庫中新增新元件(如函式、類),並相應修改其他相關程式碼以確保整體的一致性。這種倉庫級增量開發能力是衡量大語言模型能否勝任真實軟體工程任務的核心指標。而且,目前尚無專門針對該能力設計的評估基準。
FEA-Bench 的出現填補了這一空白。該資料集基於83個開源 Python 專案的真實 pull request (合併請求)資料構建而成,包含1401個新增功能的任務例項,並配套完整的單元測試驗證機制,從而保證生成結果的可執行性與準確性。每個任務例項均要求模型不僅要生成新的程式碼元件,還需理解整個倉庫結構並在必要時進行聯動修改,從而實現端到端的功能實現。
不同於以往主要關注 bug 修復(如 SWE-bench)或獨立程式設計(如 HumanEval)任務的基準測試,FEA-Bench 將目標聚焦於新功能的實現。其任務例項全部來自真實的 GitHub pull request,涵蓋多個行業場景,具有較高的代表性和實用價值。這樣的設計不僅使資料集更貼近真實的軟體開發情境,也為大模型在工業場景中的落地提供了指導意義。
表1:FEA-Bench 的任務明顯更復雜,且更強調新功能的引入,而 SWE-bench 更偏向於已有程式碼的區域性修復。
圖1:FEA-Bench 專注於評測倉庫級增量式開發,與評測修復 issue 的 SWE-bench 共同構成了軟體迭代的完整評測
為了確保任務設定的真實性與挑戰性,FEA-Bench 構建了一套多維度的難度控制與質量保障機制。在資料篩選階段,系統會結合規則過濾與意圖識別技術,精準甄別出確實涉及新功能開發的 pull request。每個任務例項均配備詳盡的功能請求描述、新增元件定義(包括函式簽名、類結構等)、環境配置資訊及單元測試用例,並標註黃金補丁(gold patch)作為參考實現。所有例項在釋出前均透過自動單元測試驗證,確保資料集具有良好的可驗證性和可復現性,為評估模型效能提供了穩定可靠的基礎。
圖2:任務例項收集流程:先收集高質量的程式碼倉庫,再爬取 pull request 作為源資料;再基於是否有新增的函式或類,以及意圖識別,來過濾得到目標是實現新功能的 pull request;最後構建執行環境來觀察單元測試的透過情況,從而得到可驗證的任務示例作為最終的 FEA-Bench 資料。
此外,FEA-Bench 還提供了一個輕量版本 FEA-Bench Lite,用於適配不同實驗條件下的計算資源需求。該子集在保留代表性的前提下,篩選出了複雜度相對較低的任務例項,方便科研人員在資源受限的環境中進行模型的快速迭代與評估。
研究團隊使用 FEA-Bench 系統地評估了 GPT-4、DeepSeek-R1、Qwen2.5-Coder 等目前主流的大語言模型。結果顯示,在不使用代理(agent)框架的情況下,當前最優模型 DeepSeek-R1 在 Oracle 設定中(給定需要編輯的程式碼檔案作為上下文輸入)的解決率僅為9.92%。相比之下,SWE-bench 中模型的 bug 修復成功率普遍在30%以上。這一差距充分說明,“新增功能”任務在邏輯複雜度、跨檔案一致性維護與邏輯整合等方面,都對大語言模型提出了更高的要求。
表2:主流程式碼大模型在不同的檢索和提示詞(prompt)設定下,在 FEA-Bench 和 FEA-Bench Lite 子集上的評測結果
圖3:不同模型效果的柱狀圖對比

開啟新階段:助力AI真正理解軟體工程
FEA-Bench 的釋出為程式碼生成研究打開了一個全新的維度。在為學術界提供全新的測試平臺的同時,FEA-Bench 也為工業界評估 AI 輔助開發軟體新功能提供依據標準。研究團隊希望透過 FEA-Bench,可以讓更多人關注 AI 在面對自由度較高的新功能實現中的表現,激發更多科研人員探索如何讓 AI 真正理解並深度參與現代軟體工程的核心。
未來,研究團隊將持續拓展任務的覆蓋範圍、最佳化檢索機制、提升生成格式的相容性,進一步推動大語言模型向自主軟體開發邁進。
微軟亞洲研究院新書《無界》上市
當面對集體性的難題時,思想的碰撞與智慧的共鳴顯得尤為重要。微軟亞洲研究院歷時兩年打磨的《無界——透視微軟創新研究之境》一書,正是獻給這個時代的探索指南。
包括周禮棟院長在內的十餘位頂尖科研人員參與了本書的編寫工作,他們從不同角度探討了人工智慧、計算機科學及其交叉領域的最新進展,分享了前沿的展望、觀點以及寶貴的科研經驗。
本書已獲得十餘位全球頂尖學者的推薦,其中包括圖靈獎得主、院士、知名高校領導、在各自領域享有盛譽的學者,以及微軟亞洲研究院的傑出院友。
現在,《無界——透視微軟創新研究之境》已全平臺火爆開售!首批讀者將獲得限量版微軟50週年書籤,書籤上的文章作者親筆簽名將隨機呈現,盲盒式驚喜等你開啟!
立即點選下方連結,開啟你的專屬閱讀之旅!
你也許還想看:


相關文章