ScienceIDE:把全世界的科學程式碼變成 AI 智能體的練功房
ScienceIDE: Turning World's Scientific Codebase into Agent Learnable Environments
背景
過去幾年,語言模型的能力成長高度依賴「可驗證的經驗」——程式碼倉庫、編譯器與測試讓 AI 的行動可觀察、結果可檢查,進而支撐監督微調(SFT)與可驗證獎勵的強化學習(RL)。但科學領域一直是個例外。科學程式碼往往牽涉數十年累積的物理模型、數值方法與領域慣例:一份天文流體模擬程式可能用隱式單位換算、一份氣候模式可能有未寫明的守恆量容差,這些「暗知識」讓一般的程式碼 benchmark 難以直接套用。論文團隊將這個困境稱為「科學經驗瓶頸」(scientific experience bottleneck):論文、程式碼與資料集不會自動變成可訓練的環境,既有的科學程式碼與可重現性 benchmark(如 SciCode、ScienceAgentBench)只能評估智能體,卻無法提供能夠持續擴充經驗的生產基礎設施。
由 AItonomy Foundation 主導、45 位以上作者共同完成的 ScienceIDE,正是要解決這個問題:把散落在世界各地的科學程式碼倉庫,轉換成可程式化操作、可產生訓練訊號的智能體環境。
方法
ScienceIDE 的核心設計理念是「專家判斷一次性投入,任務生產可重複利用」。整套流程分五步:先取一個有版本控制的科學程式碼庫(pinned source),由智能體檢視其官方測試與範例,抽取出「模組」(scientific module)——一個具有明確科學職責與可執行覆蓋範圍的單位;接著把模組打包成「環境」(environment),附上執行時期、校準過的科學檢查(pointwise 容差比對或分佈/守恆量等不變量比對)與私有驗證器;再由「工廠」(factory)依環境特化出任務生產規則,涵蓋修復(Repair)、實作(Implementation)、加速(Acceleration)、發現(Discovery)、重現(Reproduction)、整合(Integration)、校準(Calibration)七大類;候選任務必須通過「已知正確解能過關、未修復版本會失敗」的可執行驗證後才算合格;最後每次智能體與任務的互動(episode)都會記錄軌跡、獎勵與資源消耗,同時供評測、SFT 資料與 RL 獎勵三種用途重複利用。
目前 ScienceIDE 已從 27 個科學程式碼庫中萃取出 64 個環境、共 2,812 個已驗證任務(2,515 個修復、295 個實作、2 個加速),並附帶 1,076 個可執行的數值檢查。公開評測子集 ScienceIDE-Hard 從 PLUTO、Athena++、MITgcm、LAPS、PHANTOM 等 18 個環境中精選出 85 個高難度任務(52 修復 + 33 實作),涵蓋天文磁流體、電漿物理、海洋大氣模擬與粒子模擬,程式碼規模落在 1 萬至 10 萬行之間。
研究團隊用這套基礎設施訓練出 PhAI-IDE-72B、PhAI-IDE-9B、PhAI-IDE-4B 三個模型(分別以 Qwen2.5-72B-Instruct、Qwen3.5-9B、Qwen3.5-4B 為底座),一部分用 SFT(軌跡由 GPT-5.6-sol 生成、以數值等價驗證器篩選,訓練集 4,567 段來自 564 個任務、驗證集 544 段來自 81 個任務,使用 ms-swift 對所有線性層做 LoRA、訓練 3 個 epoch),一部分用線上 RL(在 LAPS 這個 3D 擬譜 Hall-MHD 求解器與 MITgcm 海洋生物地球化學環境上,用類 GRPO 目標搭配非對稱 PPO 裁剪,訓練框架建立在 veRL 之上)。
實驗結果
在 ScienceIDE-Hard 的智能體對戰中,研究團隊透過 Codex、Claude Code、Gemini CLI 三種執行框架,比較了來自 8 家廠商的 15 個模型,統一給予一小時的任務預算。結果顯示 Claude Fable 5.1 成功率最高,達 67.1%,其次是 Claude Opus 5 的 64.6% 與 GPT-6-astra 的 63.1%,GPT-5.6-sol 為 55.0%;其餘 11 個模型全部低於 40%,最低的 MiniMax-M3 只有 4.4%。即便是表現最好的模型,仍有約三分之一的科學任務在一小時內無法解決。成本效率上也出現有趣反差:Astra 平均每個任務只花 3.56 美元、9.4 分鐘、1.39 萬輸出 token 就拿下 63.1%,而 Fable 要花 7.90 美元、16.8 分鐘、8.57 萬 token 才多拿 4 個百分點,顯示花費與正確率是兩個獨立的維度(相關係數僅 -0.22)。
SFT 訓練後的效果也很明確:在留出的科學修復任務上,PhAI-IDE-4B 在 PLUTO-Particles-Dust 環境的修復獎勵從 0 提升到 0.3333(+33.33 個百分點),9B 版本在 PLUTO-RMHD/ResRMHD 從 0 提升到 0.2857(+28.57 點)、在 LAPS 從 0.3125 提升到 0.5000(+18.75 點)。更值得注意的是遷移效果:4B 模型在 HumanEvalFix JavaScript 上提升 10.98 個百分點、QuixBugs Java 提升 10.00 點、CodeXGLUE 缺陷偵測提升 7.03 點;9B 模型在 BBH Word Sorting 上從 0.240 大增到 0.576(+33.60 點);72B 模型在 APPS Introductory、LiveCodeBench Execution 等泛用 benchmark 上也都有 3~6 個百分點的提升。RL 實驗方面,Qwen3.5-4B 在 LAPS 環境的留出任務獎勵從 0.357 提升到 0.857(成長 2.4 倍),在 MITgcm-biogeo 上從 0.286 提升到 0.571(成長 2.0 倍),同時預算截斷率(任務因超時而失敗的比例)從 39.5% 降到 6.6%。
意義
ScienceIDE 的價值不在於刷新某個單一 benchmark 的分數,而是提出了一套「專家判斷可重複利用」的工程範式:領域專家只需要為一個模組定義一次科學等價標準與容差,之後便能自動衍生出成百上千個修復、實作、重現任務,不必為每個任務重新做人工標註。這解決了科學智能體訓練長期缺乏大規模、可驗證訓練資料的痛點。實驗也提供了「科學經驗可以反哺通用能力」的初步證據——在科學程式碼修復任務上訓練出的模型,同時在程式碼理解、邏輯推理、知識類的泛用 benchmark 上出現正向遷移,雖然論文也坦承這些提升尚未達到全面或前沿水準。對於想推動 AI for Science 的團隊而言,ScienceIDE 提供了一個開源(GitHub: aitofound/ScienceIDE)、可持續擴充的基礎設施雛型;而對整個產業而言,它示範了如何把人類數十年累積在科學軟體中的知識,轉換成訓練下一代科學智能體的共同基石。