71.2%的驚人解決率,倫敦大學開源頂級AI代碼修復智能體系統
倫敦大學,瑞典皇家理工學院等發布了一個名為Prometheus的AI系統。

它通過將代碼庫變成一張巨大的知識圖譜,解決了跨越9種編程語言的真實GitHub問題。
它不再局限于特定語言或預設的測試環境,而是像一個經驗豐富的軟件工程師團隊,直接面對真實、復雜且多語言的開源項目。
這一切都源于一個簡單而強大的理念:要讓AI真正理解代碼,就必須讓它看到整個項目的全貌,而不僅僅是零散的文件。
Prometheus用一張圖譜理解整個代碼世界
軟件工程自動化的探索從未停止。
從早期集成開發環境(IDE)的代碼補全,到靜態代碼分析工具,再到Facebook的自動bug修復系統SapFix和微軟的IntelliCode,每一步都讓機器更懂代碼。
大型語言模型的出現,更是將這一進程推向了高潮。
GitHub Copilot讓AI輔助編碼成為日常,而SWE-bench基準測試的建立,則為衡量AI解決真實世界軟件工程問題的能力提供了一把標尺。
像SWE-agent這樣的先行者在SWE-bench上取得了不錯的成績,但它們普遍存在兩個繞不開的限制。
第一個限制是語言單一。
它們幾乎都專注于Python,因為SWE-bench最初就是一個純Python的測試集。
這些方法能否推廣到Java,C++或JavaScript等其他語言的代碼庫,一直是個未知數。
第二個限制是依賴溫室。
先前的方法嚴重依賴SWE-bench為每個問題預先構建好的Docker容器。這意味著AI智能體無需親自搭建環境或復現問題,直接在一個準備好的、無菌的環境里開始工作。
這在真實世界中是不現實的,自動化項目構建和問題復現,本身就是解決問題的第一步,也是最棘手的一步。
Prometheus的誕生,就是為了打破這兩個限制。

它提出了一種全新的范式:將整個代碼存儲庫,無論其結構多復雜,使用了多少種編程語言,都統一轉換成一張知識圖譜。
這張圖譜就像是整個項目的一幅高清大腦地圖。
它由三種核心的神經元(節點)構成。
文件節點(FileNode),代表項目中的每一個文件和目錄。它們是地圖上的基本地標,定義了項目的骨架結構。每個節點都記錄著自己的唯一ID,相對路徑和基本名稱。
抽象語法樹節點(ASTNode),這是理解代碼語法的關鍵。通過Tree-sitter這個強大的多語言解析器,Prometheus能將源代碼文件解析成一棵棵語法樹。樹上的每個節點,比如一個函數定義,一個變量聲明,或一個if語句,都成為一個AST節點。它記錄了代碼的起止行號,具體的代碼文本,以及它的語法類型。
文本節點(TextNode),負責處理非結構化的信息,比如Markdown文檔或者純文本文件里的說明。這些內容被切分成文本塊,成為知識圖譜中的文本節點,保留了項目的文檔和注釋信息。
這些神經元之間通過五種不同類型的突觸(邊)連接起來,共同描繪出代碼庫內部錯綜復雜的關系網絡。
HAS_FILE邊(黑色),連接目錄和它包含的文件或子目錄,維持了項目的文件層級結構。
HAS_AST邊(紫色),將一個文件節點與其對應的抽象語法樹的根節點連接起來,表明這是這個文件的代碼結構。
PARENT_OF邊(灰色),在抽象語法樹內部,連接父節點和子節點,精確描繪了代碼的句法層次,比如一個類定義包含了哪些方法定義。
HAS_TEXT邊(藍色),將文件節點(通常是文檔)與其包含的文本塊連接起來。
NEXT_CHUNK邊(橙色),將連續的文本塊按順序連接,保證了文檔內容的連貫性。
通過這種方式,文件結構,代碼句法和自然語言文檔被無縫地集成到一張異構圖中。
這張圖譜隨后被持久化存儲在Neo4j圖數據庫中。Neo4j的靈活性和高效的查詢能力,讓AI智能體能夠對這個巨大的代碼大腦進行快速、結構化的查詢和推理。
Prometheus的設計巧妙之處在于,它只關注通用的關系,如包含,父子關系等,而不涉及特定語言的語法,比如Java的extends或implements。
這使得它天然具備了跨語言的能力。
五個智能體協同作戰,像個專家團隊
構建了知識圖譜這個大腦之后,Prometheus派遣出一個由五個智能體組成的精英團隊來解決實際問題。這個團隊的工作流程,高度模擬了一個高效的人類開發團隊。

團隊的核心是上下文檢索智能體(Context Retrieval Agent)。
它就像團隊里的首席研究員或圖書管理員,負責在龐大的知識圖譜中精準地檢索信息。其他智能體需要任何關于代碼,文檔或項目結構的信息,都會向它求助。
它的工作分為三步:檢索,選擇和精煉。
當接到一個查詢時,比如找到與用戶認證相關的代碼,它會利用Neo4j的Cypher查詢語言在知識圖譜中進行結構化搜索。它能按文件名查找,按AST模式匹配(例如,找到所有名為login的函數),或者在文檔中搜索關鍵詞。
檢索到的所有相關代碼和文檔片段會進入選擇階段。在這里,大型語言模型會評估每個片段與當前任務的相關性以及令牌效率,進行排序和過濾。
如果LLM認為當前的信息還不足以解決問題,就會進入精煉階段。它會分析還缺少哪些信息,并觸發新一輪的查詢。這個檢索-選擇-精煉的循環會一直迭代,直到收集到足夠精確和全面的上下文。
有了這個強大的信息中樞,其他四個智能體便可以各司其職,高效協作。
當一個GitHub問題報告被提交給Prometheus時,首先登場的是問題分類智能體(Issue Classification Agent)。
它像團隊的分診臺,通過分析問題的描述文本,將其歸類為錯誤(Bug),功能請求(Feature),文檔問題(Documentation)或是一般性提問(Question)。
它會查詢知識圖譜,尋找錯誤模式,匹配現有功能,檢查文檔覆蓋范圍,只有被標記為錯誤的問題,才會進入下一環節。
接下來是錯誤復現智能體(Issue Verification Agent)。
這是團隊中的偵探,它的任務是驗證這個報告的錯誤是否真的存在,以及能否被穩定復現。這是之前AI智能體普遍缺失的關鍵能力。它會自動檢測項目的構建系統(是Maven,Gradle還是npm?),并嘗試運行相關的測試用例。
如果標準方法不行,它會利用LLM推理生成自定義的構建和測試命令,并在一個隔離的Docker容器中執行,確保環境純凈。
如果失敗,它會分析日志,調整策略,反復嘗試,直到成功復現錯誤或達到重試上限。這個過程中的所有日志,命令和受影響的文件都會被詳細記錄下來,作為后續修復的依據。
一旦錯誤被成功復現,補丁生成智能體(Patch Generation Agent)便開始工作。
它是團隊里的外科醫生。它會根據問題描述,復現日志和上下文檢索智能體提供的信息,推理出錯誤的根本原因。然后,它直接在源代碼中提出修改建議,生成一個修復補丁。
補丁生成后,它會立即運行構建和測試命令,確保這個補丁確實解決了問題,并且沒有引入新的錯誤(即回歸測試)。最終,一個Git格式的差異文件(diff)會被生成,清晰地記錄了所有的代碼改動。
補丁驗證智能體(Patch Verification Agent)是團隊的質量保證工程師。
它的職責只有一個:用最初復現錯誤的方法,再次驗證應用了新補丁的代碼。它會在一個全新的容器化環境中,嚴格執行復現命令。只有當所有相關的測試都順利通過,沒有任何錯誤或失敗時,這個問題才被確認為已解決。
最后出場的是問題響應智能體(Response Generation Agent),團隊的溝通專家。
它的工作是根據原始問題,生成的補丁和驗證結果,撰寫一份專業且友好的評論,發布到GitHub的原始問題頁面。這份響應會清晰地解釋系統對錯誤的理解,為修復它所做的具體更改,并確認修復已通過測試。它會保持開源社區的溝通語調,并且不會透露自己是一個AI。
這五個智能體,在統一知識圖譜的支持下,構成了一個完整的,端到端的自動化問題解決流水線。
它在真實世界的表現令人信服
Prometheus的能力需要通過嚴格的實驗來驗證。研究團隊設計了五個核心問題來評估它。
在與現有代碼智能體的有效性比較中,Prometheus在SWE-bench Lite這個包含300個Python問題的精選基準測試上進行了評估。

實驗結果顯示,Prometheus使用成本相對較低的DeepSeek-V3模型,實現了28.67%的pass@1成功率(即一次性成功解決問題的比例)。
這個成績超過了多個使用更昂貴GPT-4模型的基線系統,如CodeR(28.33%)和AutoCodeRover(19%),也超過了使用GPT-4o的Agentless(27.33%)。
雖然略低于同樣使用頂級模型GPT-4o的AutoCodeRover(30.67%)和RepoGraph(29.7%),但考慮到模型成本的巨大差異(GPT-4o比DeepSeek-V3貴9到36倍),Prometheus的性價比極高。
更重要的是,Prometheus展現了其獨特的解決問題的能力。在與三個基于GPT-4o的頂尖系統比較時,有42個問題是大家都能解決的。但Prometheus獨立解決了10個其他三個系統都未能解決的問題。
一個典型的例子來自著名的Web框架Django。當一個子語言代碼(如de-at,奧地利德語)被用作默認語言時,系統會錯誤地報警,即便其基礎語言(de,德語)在支持列表中。這是因為Django應該能自動回退到基礎語言。

其他系統,如Agentless,錯誤地修改了一個不相關的配置文件,因為它沒能理解檢查邏輯的真正位置。
Prometheus通過其知識圖譜,精準定位到了驗證邏輯所在的文件和AST節點,生成了與人類專家提交的黃金補丁在語義上完全等價的正確修復。
在多語言支持方面,Prometheus在SWE-bench Multilingual基準測試上接受了挑戰。這個測試集包含來自9種編程語言的300個任務。

結果顯示,Prometheus在全部七種參與評估的語言中都成功解決了問題,總體解決率為13.7%。其中在Java項目上表現最好,解決了34.9%的問題。
這是第一個在SWE-bench Multilingual排行榜上提交結果的系統,證明了其知識圖譜架構在跨語言任務上的有效性。
為了檢驗在真實世界問題上的泛化能力,研究團隊將Prometheus直接應用于兩個流行的大型開源項目:LangChain和Open Hands。
這不再是有標準答案的基準測試,而是社區里正在發生的,懸而未決的真實問題。
在評估的八個真實GitHub問題中,Prometheus成功為其中的四個生成了有效的修復補丁,成功率達到50%。

解決的問題類型多種多樣,包括模式生成,命令行工具的迭代限制,Docker權限錯誤和API速率限制。
這證明了Prometheus不僅能處理受控環境中的問題,也能在復雜的真實項目中發揮作用。所有成功的補丁都已被提交到相應的GitHub問題討論中。這是現有代碼智能體中,第一個公開報告在SWE-bench之外的真實問題上進行評估的工作。
在可擴展性方面,Prometheus同樣表現出色。以SWE-bench Lite中的11個Python項目為例,最大的Django項目生成了超過9000個文件節點和22萬個AST節點,而Sympy項目則生成了超過63萬個AST節點。

這些數字對于Neo4j社區版來說只是小菜一碟,它能夠可靠地支持數億級別的節點和關系,包括超過1億個AST節點和1000萬個文件。這意味著Prometheus完全有能力處理當今世界上絕大多數大型軟件項目的知識圖譜構建和存儲。
最后,在成本方面,Prometheus同樣具有吸引力。使用DeepSeek-V3模型,解決一個SWE-bench Lite問題的平均API成本僅為0.23美元,在更復雜的SWE-bench Multilingual上也僅為0.38美元。

還是中國模型香啊!
低廉的成本使其成為學術研究和工業應用中一個非常可行的選擇。
更令人振奮的是,在2025年9月,Prometheus團隊將其V1.2版本與更先進的GPT-5模型結合,向難度更高的SWE-bench Verified排行榜提交了結果。
最終,PrometheusV1.2 + GPT-5取得了71.20%的問題解決率,在500個問題中解決了356個。這一成績使其躋身排行榜的頂尖行列,尤其在scikit-learn(90.62%)和pydata/xarray(81.82%)等項目上表現極為出色,進一步證明了其架構的強大潛力和可擴展性。
任何人都能部署和使用這個系統
Prometheus不僅是一個停留在論文里的概念,它已經完全開源,任何開發者都可以部署和使用。
部署前需要準備好Docker,Docker Compose,Python 3.11以上版本以及大型語言模型的API密鑰。
安裝過程非常直接。
首先,克隆項目的代碼倉庫。
git clone https://github.com/EuniAI/Prometheus.gitcd Prometheus
git clone https://github.com/EuniAI/Prometheus.git
cd Prometheus然后,配置環境變量,主要是填入你的API密鑰。
cp example.env .env# 編輯.env文件,添加您的API密鑰
cp example.env .env
# 編輯.env文件,添加您的API密鑰生成用于身份驗證的JWT密鑰。
python -m prometheus.script.generate_jwt_token# 將輸出復制到.env文件中作為PROMETHEUS_JWT_SECRET_KEY
python -m prometheus.script.generate_jwt_token
# 將輸出復制到.env文件中作為PROMETHEUS_JWT_SECRET_KEY創建一個工作目錄。
mkdir -p working_dir
mkdir -p working_dir最后,啟動所有服務。
docker-compose up --build
docker-compose up --build服務啟動后,就可以通過API接口(http://localhost:9002/v1.2)或者交互式文檔(http://localhost:9002/docs)來使用Prometheus了。
對于本地開發,也可以通過pip安裝依賴并直接運行開發服務器,方便進行調試和二次開發。
Prometheus代表了自動化軟件工程領域的一次重要飛躍。它通過統一知識圖譜和多智能體協作的創新架構,成功地解決了先前方法在多語言支持和真實世界問題復現上的兩大核心痛點。
像Prometheus這種,將整個代碼庫視為一個整體,構建其語義網絡,并在此基礎上進行推理和修復,這或許是AI編程的未來新方向。
免費體驗: https://euni.ai/































