一水 發自 凹非寺量子位 | 公眾號 QbitAI
又一開源AI神器在外網引起熱議!
名為PaperCoder,是一個多智慧體LLM(大語言模型)系統,能自動實現機器學習論文中的程式碼。

據介紹,之所以推出這一工具,是因為經過統計發現:
2024年,在NeurIPS、ICML和ICLR等頂會上,平均只有21%的機器學習論文共享了程式碼。

造成的結果是,復現和構建研究成果的速度極其緩慢。
於是乎,來自韓國科學技術院的四位研究人員推出了PaperCoder,在規劃、分析和程式碼生成這三個階段,分別由專門的智慧體來處理不同的任務,最終完成頂會論文的程式碼生成工作。
並且最終生成的程式碼超越了一些現有基準,甚至獲得了所招募的77%原頂會論文作者的認可。

下面具體來看。
智慧體提示詞曝光
透過模仿人類研究員編寫庫級程式碼的典型生命週期,PaperCoder大致分為三個流程:
-
規劃(Planning):包括總體計劃、架構設計、邏輯設計和配置檔案; -
分析(Analyzing):將計劃轉化為詳細的檔案級規範; -
程式碼生成(Coding):生成最終程式碼以實現論文中的方法和實驗。

研究過程中,每一個步驟所用到的提示詞如下:
1)在規劃階段生成總體計劃。
系統提示詞:你是一位具有豐富實驗設計和復現科學研究的專家研究員和戰略規劃者。你將收到一份JSON格式的研究論文。你的任務是建立一個詳細且高效的計劃,以重現論文中描述的實驗和方法。該計劃應與論文的方法、實驗設定和評估指標精確對齊。要求:1、與論文對齊:你的計劃必須嚴格遵循論文中描述的方法、資料集、模型配置、超引數和實驗設定。2、清晰且結構化:以組織良好且易於遵循的格式呈現計劃,將其分解為可操作的步驟。3、優先考慮效率:最佳化計劃以確保清晰度和實際可實施性,同時確保對原始實驗的忠實度。
除了系統提示詞,下面還包括使用者在上傳論文後,所提到的任務安排、要求、注意事項等。

2)在規劃階段生成架構設計。
使用者提示詞:你的目標是建立一個簡潔、可用且完整的軟體系統設計,以復現論文的方法。使用適當的開源庫,並保持整體架構簡單……
後面還附上了格式示例。

3)在規劃階段生成邏輯設計。
使用者提示詞:你的目標是根據產品需求文件(PRD)/技術設計分解任務,生成任務列表,並分析任務依賴關係。你將分解任務,分析依賴關係。你概述了復現論文方法和實驗的清晰PRD/技術設計。現在,讓我們根據PRD/技術設計分解任務,生成任務列表,並分析任務依賴關係。邏輯分析不僅要考慮檔案之間的依賴關係,還要提供詳細的描述,以協助編寫復現論文所需的程式碼。
格式示例+1。

4)在規劃階段生成配置檔案。
使用者提示:你編寫優雅、模組化和可維護的程式碼。遵循Google風格指南。根據之前指定的論文、計劃和設計,遵循“格式示例”並生成程式碼。從上述論文中提取訓練細節(例如,學習率、批次大小、週期數等),遵循“格式示例”並生成程式碼。不要編造細節——只使用論文提供的內容。你必須編寫‘config.yaml’。注意:使用“##”分割部分,而不是“#”。你的輸出格式必須嚴格遵循下面的例子。

5)在分析階段生成檔案規範。
系統提示詞:你是一位具有豐富實驗設計和復現科學研究的專家研究員、戰略規劃者和軟體工程師。你將收到一份JSON格式的研究論文,包括計劃概述、一個包含“實現方法”、“檔案列表”、“資料結構和介面”和“程式呼叫流程”的設計,以及一個包含“所需包”、“所需其他語言第三方包”、“邏輯分析”和“任務列表”的任務,還有一個名為“config.yaml”的配置檔案。你的任務是進行全面的邏輯分析,以準確重現研究論文中描述的實驗和方法。此分析必須與論文的方法論、實驗設定和評估標準精確對齊。(一些具體要求)……

6)程式碼生成階段。
在系統提示詞中,除了重複上一步提到的內容,還增加了對Coding的表述:
你的任務是編寫程式碼來複現論文中描述的實驗和方法。編寫的程式碼必須優雅、模組化且可維護,遵循Google風格指南。程式碼必須嚴格與論文的方法論、實驗設定和評估指標對齊。編寫三重引號的程式碼。

77%論文原作表示認可
利用以上提示詞,研究人員使用了4個模型及變體來進行實驗。它們分別是:
-
DS-Coder:DeepSeek-Coder-V2-Lite-Instruct -
Qwen-Coder:Qwen2.5-Coder-7B-Instruct -
DS-Distil-Qwen:DeepSeek-R1-Distill-Qwen14B -
o3-mini-high
評估物件包括90篇頂會論文。
具體而言,基於ICML 2024、NeurIPS 2024和ICLR 2024得分最高的30篇論文,研究人員構建了Paper2Code基準測試。
過程中,他們使用OpenReview API篩選出有公開GitHub儲存庫的論文。
在這些論文中,選擇了總程式碼量少於70,000個tokens的儲存庫,以在可控範圍內確保可重複性。
然後還使用了一個名為PaperBench Code-Dev的基準測試,該測試包含ICML 2024的20篇論文,以進一步驗證框架。
為了對比,在目前缺少端到端論文到程式碼生成框架的情況下,他們選擇了一些軟體開發多智慧體框架進行比較,包括ChatDev和MetaGPT。
所使用的評估方法包括兩種:
其一,和其他框架對比所生成程式碼的準確性、規範性和可執行性。
其二,邀請13位計算機專業的碩博學生參與評估,要求回答是否喜歡AI為他們的一作論文所生成的程式碼。
實驗結果顯示,在Paper2Code基準測試中,PaperCoder取得了比其他多智慧體框架更好的結果。

在人類評估中,大約有77%(10人)的論文原作者將PaperCoder生成的程式碼作為首選。

另外值得一提的是,研究人員發現o3-mini-high與人類判斷的相關性最高,因此在實驗中大多將其選為評估模型。

更多細節歡迎查閱原論文。
論文:https://arxiv.org/pdf/2504.17192程式碼:https://github.com/going-doer/Paper2Code?tab=readme-ov-file
參考連結:[1]https://x.com/akshay_pachaar/status/1915818238191276138[2]https://x.com/Mahesh_Lambe/status/1916114076310110668
一鍵三連「點贊」「轉發」「小心心」
歡迎在評論區留下你的想法!
— 完 —
🌟 點亮星標 🌟