![]()
「首個公開的面向 Terminal-Bench 環(huán)境交互類任務的數(shù)據(jù)規(guī)模化生產(chǎn)管線正式發(fā)布!」
- 開源完整自動化數(shù)據(jù)構建算法
- 構建 1655 個高可靠 CLI 任務環(huán)境鏡像
- 通過 291 條軌跡數(shù)據(jù)帶來 20% 解決率提升
在 Agentic Coding 領域,基于 SWE-bench 的數(shù)據(jù)管線研究已取得長足進展。過去一年中,業(yè)界涌現(xiàn)了大量相關工作,例如 SWE-Gym、SWE-Smith 和 R2E-Gym 等,極大推動了以代碼生成為核心的 Agentic Coding 發(fā)展,也使得當前最先進的開源模型與閉源模型之間的表現(xiàn)差距顯著縮小。然而,對于更廣泛的環(huán)境交互類問題(如 Terminal-Bench 所涵蓋的任務),目前尚沒有公開的高效和可規(guī)模化的數(shù)據(jù)生產(chǎn)方案,導致相關數(shù)據(jù)構建困難重重,高度依賴人工參與,這已然成為制約該方向發(fā)展的瓶頸,也使得在相關任務上開源模型的表現(xiàn)大幅落后于閉源模型。
![]()
因此 CLI-Gym 來了!我們首先嘗試用 Dockerfile 對環(huán)境進行結構化與可復現(xiàn)定義;進一步,將數(shù)據(jù)生產(chǎn)管線本身重新建模為一種 Agentic Coding 任務:在健康環(huán)境中驅(qū)動 Code Agent 執(zhí)行環(huán)境反演(即 “劣化” 操作),自動生成問題環(huán)境及其準確的單元測試,從而實現(xiàn)問題實例與驗證工具的自動化構造。我們在 29 個基礎鏡像上制造出 1655 個針對 Terminal-Bench 實例并產(chǎn)出 291 條高質(zhì)量成功軌跡,我們的微調(diào)模型 LiberCoder 32B 和 235B 在 Terminal Bench 上分別實現(xiàn)了 + 28.6%(至 38.9%)和 + 21.1%(至 46.1%)的提升。
我們的管線創(chuàng)新性地以Codebase、Dockerfile 與 Base Image為核心抽象,完備地定義任意 CLI Coding 實體,使環(huán)境構建、問題生成與驗證機制形成統(tǒng)一表達框架,具備良好的可組合性與通用性。我們希望這一范式能夠進一步拓展至更多 Agentic Coding 場景,推動更通用的數(shù)據(jù)生產(chǎn)算法與基準構建方法的發(fā)展。
![]()
論文、代碼和鏡像數(shù)據(jù)均會在如下鏈接放出:
- 論文鏈接:https://arxiv.org/pdf/2602.10999
- 開源代碼:https://github.com/LiberCoders/CLI-Gym
- 鏡像數(shù)據(jù):https://huggingface.co/datasets/LiberCoders/CLI-Gym
背景介紹
近年來,Agentic Coding 正在快速改變軟件工程任務的解決方式,模型能力的邊界正在從 “寫代碼” 逐漸擴展為 “解決真實軟件系統(tǒng)中的復雜問題”。當前的研究重點還停留在以 SWE-bench 為核心的的代碼層面的研究,而在現(xiàn)實的軟件工程和系統(tǒng)運維場景中,大量問題并非源于代碼本身,而是來自運行環(huán)境,例如依賴版本沖突、環(huán)境變量錯誤、權限配置問題、系統(tǒng)庫損壞、網(wǎng)絡配置錯誤等。這類問題通常無法或很難通過修改代碼修復,而必須依賴 agent 通過命令行理解系統(tǒng)狀態(tài),定位問題來源,并執(zhí)行一系列系統(tǒng)級操作恢復環(huán)境運行狀態(tài)。因此,對 agent 的環(huán)境理解與干預能力的要求越來越高。
Terminal-Bench 的任務恰好契合這一需求。其基準中包含大量以環(huán)境修復為核心目標的任務,對 agent 在 CLI 環(huán)境下的交互、診斷與修復能力提出了更高要求。然而,從當前官方 leaderboard 可以觀察到,高性能方案往往依賴圍繞強閉源模型構建的復雜 agent 框架,通過大量提示工程與多輪反思機制來彌補模型在環(huán)境理解與問題定位方面的能力不足。相比之下,圍繞開源模型如何通過系統(tǒng)性訓練提升其環(huán)境修復能力的研究仍然相當有限。
其根本瓶頸在于:環(huán)境密集型任務難以規(guī)模化生成。代碼類問題可以通過挖掘倉庫歷史與 pull request 自動構建訓練數(shù)據(jù),但環(huán)境狀態(tài)通常缺乏可追溯的演化記錄,難以進行自動化重建與標注。這使得環(huán)境任務的數(shù)據(jù)長期依賴人工構造,規(guī)模難以擴展,也限制了模型在該方向上的持續(xù)訓練與能力提升。
![]()
CLI-Gym 正是在這一背景下提出,旨在通過自動化機制突破環(huán)境依賴型任務數(shù)據(jù)難以規(guī)模化的問題,為 agent 能力訓練提供可持續(xù)的數(shù)據(jù)來源。我們創(chuàng)新性地將數(shù)據(jù)生產(chǎn)管線本身重新建模為一種 Agentic Coding 任務:在健康環(huán)境中驅(qū)動 Code Agent 執(zhí)行環(huán)境反演(即 “劣化” 操作),自動生成問題環(huán)境及其精確的單元測試,從而實現(xiàn)問題實例與驗證機制的自動化構建。
![]()
如上表所示,該建模思路具有良好的通用性,不僅適用于環(huán)境依賴型任務的構造,也在統(tǒng)一框架下涵蓋了此前 SWE 系列方法的核心范式,實現(xiàn)了方法論層面的整合與擴展。
Pipeline:通過環(huán)境反演自動生成故障任務
CLI-Gym 的核心思想非常巧妙,通過模擬環(huán)境歷史自動生成故障場景。與傳統(tǒng)方法相反,我們不是從零構建受損環(huán)境,而是驅(qū)動一個 “破壞者” agent 主動篡改健康環(huán)境,制造多樣化故障,再將其轉(zhuǎn)化為可修復的任務實例。
![]()
CLI-Gym 的核心思想在于重新思考任務生成方式:既然真實環(huán)境問題通常源于環(huán)境狀態(tài)的錯誤,那么我們不再從零人工構造損壞環(huán)境,而是從健康環(huán)境出發(fā),自動模擬環(huán)境如何被破壞,從而反向構造出可修復任務。這一思想被稱為 “環(huán)境反演”,即通過 agent 將一個原本正常運行的環(huán)境主動破壞,使其回退到包含運行錯誤的狀態(tài),再將這一退化過程轉(zhuǎn)換為 agent 需要修復的問題實例。在具體流程中,系統(tǒng)首先從真實開源倉庫中構建包含健康環(huán)境的 Docker 鏡像,該環(huán)境能夠成功運行并通過全部單元測試,作為后續(xù)任務生成的起點。隨后系統(tǒng)自動從 Unit Tests 中抽取目標 UT,通過語言模型生成誘導 agent 執(zhí)行環(huán)境破壞的指令,例如刪除關鍵依賴、篡改配置文件、破壞系統(tǒng)庫、修改路徑或權限等,agent 在執(zhí)行過程中不斷改變環(huán)境狀態(tài),使得部分測試失敗,從而模擬真實系統(tǒng)退化或配置錯誤產(chǎn)生的歷史過程。
當環(huán)境中出現(xiàn)失敗測試后,系統(tǒng)根據(jù)失敗日志、執(zhí)行軌跡以及環(huán)境變更自動生成問題描述與修復目標,從而形成完整 CLI 任務實例,agent 的目標是通過命令行操作恢復環(huán)境,使失敗測試重新通過。整個流程無需人工參與,從健康環(huán)境生成故障環(huán)境,再從故障環(huán)境構造修復任務,實現(xiàn)了環(huán)境問題的自動規(guī)模化生成。這一過程不僅能夠模擬真實系統(tǒng)問題的產(chǎn)生方式,同時由于每次破壞路徑不同,也帶來了豐富多樣的任務類型,使得生成任務覆蓋軟件工程、系統(tǒng)管理、安全調(diào)試等多個場景,顯著提升訓練數(shù)據(jù)的多樣性與真實性。
產(chǎn)出:規(guī)模化與高質(zhì)量的數(shù)據(jù)
![]()
基于這一自動化 pipeline,CLI-Gym 在 29 個真實開源倉庫中生成了 1,655 個環(huán)境密集型 CLI 任務實例,規(guī)模遠超 Terminal-Bench 的人工構造數(shù)據(jù),同時任務類型覆蓋多個應用領域,展現(xiàn)出極強的可擴展性。與現(xiàn)有 benchmark 相比,這些任務具有更高復雜度,每個任務平均包含超過 20 個失敗測試,為 agent 提供更豐富的診斷信號和修復反饋,使模型必須真正理解系統(tǒng)狀態(tài)并執(zhí)行多步操作才能完成修復,而不是通過簡單代碼修改或投機策略通過測試。此外,該流程完全自動化運行,僅消耗計算資源而無需人工標注,相比依賴大量工程師構造任務的傳統(tǒng)方式大幅降低成本,使環(huán)境任務數(shù)據(jù)能夠持續(xù)擴展。
在軌跡數(shù)據(jù)收集階段,系統(tǒng)通過強模型運行這些自動生成任務,收集成功修復軌跡,并通過嚴格過濾機制排除過于簡單或存在作弊路徑的軌跡,僅保留真正體現(xiàn)復雜環(huán)境修復過程的數(shù)據(jù),最終獲得數(shù)百條高質(zhì)量 agent 行為軌跡,用于后續(xù)模型訓練。這些軌跡展示了豐富的修復策略,包括依賴恢復、系統(tǒng)配置調(diào)試、權限問題處理與環(huán)境組件修復等,為模型學習真實環(huán)境問題解決模式提供了寶貴監(jiān)督信號。
實戰(zhàn)效果:顯著提升環(huán)境問題解決能力
![]()
基于 CLI-Gym 生成的數(shù)據(jù)對 Qwen3 系列模型進行微調(diào)后,得到 LiberCoder 系列模型,在 Terminal-Bench 上取得顯著性能提升。LiberCoder-32B 在 Terminal-Bench 1.0 上的 Pass@1 達到 38.9%,相比基礎模型實現(xiàn)大幅提升,而規(guī)模更大的 LiberCoder-235B-A22B 達到 46.1%,超過大多數(shù)開源模型,并接近部分閉源模型性能。進一步分析發(fā)現(xiàn),微調(diào)后的模型在環(huán)境問題處理能力上發(fā)生明顯變化,模型不再頻繁失敗于編輯錯誤或問題定位,而更多受到上下文長度與執(zhí)行時間等外部因素限制,說明其核心環(huán)境修復能力已經(jīng)顯著增強。同時在多個任務類別中均觀察到一致提升,包括軟件工程、系統(tǒng)管理、安全修復與調(diào)試任務,說明 CLI-Gym 數(shù)據(jù)并非針對單一場景優(yōu)化,而是全面增強了模型在環(huán)境交互任務中的泛化能力。
![]()
![]()
結語
CLI-Gym 是第一種用于擴展 CLI 代理編碼任務訓練環(huán)境的公開方法。使用 Dockerfile 來表示每個環(huán)境,以進行精確的配置和版本控制,并使用 agent 來模擬環(huán)境歷史。整理了 1655 個任務實例,收集了 291 個成功的軌跡。實驗表明,對我們的數(shù)據(jù)進行微調(diào)可以大大增強以環(huán)境為中心的代理編碼,從而在開源模型中在 Terminal Bench 上實現(xiàn)頂級性能。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.