返回首頁

程式代理與評測

Change2Task 將歷史 PR 搬到新版程式碼,900 項代理任務通過三階段驗證

Change2Task 從已合併 PR 提取開發意圖,再於同一儲存庫的現代版本重建可執行任務。研究在 1,130 個候選變更中產生 900 組任務,但多數案例仍須依賴另一個程式代理完成重建。

miss_rogue on flickr, https://www.flickr.com/photos/missrogue/132777293/ · CC BY-SA 2.0 · Image source
zh-Hant

微軟研究團隊提出 Change2Task,嘗試解決程式代理訓練與評測中的「環境很貴、任務很快過時」問題。傳統 SWE-bench 類資料通常把問題固定在歷史 commit;Change2Task 則從已合併 PR 取得描述、修補程式與測試證據,再把同一項維護需求移植到可正常建置的較新版本,讓一套 Docker/依賴環境承載多個任務。

系統依序採用三種方法:先直接反轉原始 patch;若新版程式已重構,便映射歷史與現代程式區塊;仍無法對應時,再讓 Claude Code 依 PR 證據與失敗回饋重建任務。每個案例都必須通過「健康基底—故障任務—修復還原」三態驗證:目標測試須呈現通過、失敗、再通過,迴歸測試則全程保持成功,並另以變更範圍與原 PR 的結構相似度過濾失真案例。

研究涵蓋除錯、功能新增、測試生成、API 遷移與安全修補五類工作。1,130 個合格來源中有 900 個完成驗證,整體成功率 79.6%;在同一批 621 個除錯候選上,Change2Task 產生 500 項任務,SWE-smith PR Mirror 為 387 項,相對增加 29.2%。共用 388 個現代基底後,環境建置時間與儲存量分別減少 58.4% 和 71.2%,但完整流程的估算支出只下降 10.8%,顯示代理重建與驗證仍是主要成本。

工程團隊應留意資料污染與評測獨立性:900 項任務中有 68.3% 需要代理重建,語意審核又使用其他大型模型。論文尚未附公開實作或資料集連結,外界目前無法核對建置失敗、模型裁判偏差及成本估算;它較像一套可行的資料工廠設計,而不是已能直接部署的基準套件。

來源

  1. Change2Task: From Repository Changes to Executable Coding Agent Tasks and Environments
  2. SWE-smith: Scaling Data for SWE-agents