RST遞迴合成法:讓終端機代理的長任務訓練資料自動長出難度
Recursive Synthesis for Long-Horizon Terminal Tasks
背景
要訓練一個能在終端機(terminal)裡完成複雜任務的AI代理,最大的瓶頸不是模型架構,而是「訓練資料」。一個高品質的長任務(long-horizon task)必須同時具備四項互相一致的元素:任務指令、可執行的環境、一份參考解法,以及能自動判斷任務是否完成的驗證器(verifier)。這四者只要有一項脫節——例如指令要求的行為驗證器沒檢查,或參考解法在乾淨環境裡跑不過——這筆資料就是廢的。
過去要產出這種資料,幾乎只能靠人工撰寫,單筆成本可以高達數百到數千美元,完全無法規模化。而直接讓大型語言模型(LLM)生成任務雖然便宜,卻常常打破指令、環境、解法、驗證器之間的一致性——LLM很會編故事,但很難保證四個檔案彼此對得上。這就是本篇論文《Recursive Synthesis for Long-Horizon Terminal Tasks》要解決的核心問題:如何低成本、大規模地生成「難度可控且驗證可靠」的終端機任務。
方法
作者提出的框架叫 RST(Recursive Synthetic Terminal Tasks,遞迴驗證合成),核心想法是「站在已驗證任務的肩膀上,一步步把任務改得更難」,而不是每次從零生成。整個流程從 TerminalWorld 提供的 639 個已驗證的種子任務(seed tasks)出發,每一輪(round)執行四個步驟:
- 種子挑選與多樣性控制:對種子的家系(parent lineage)、任務類別、改寫家族、生成批次都設定上限,避免某一種模式的任務無限繁殖,壓垮多樣性。
- 改寫目標選擇:系統從 40 種「改寫運算子(rewrite operators)」中挑選,這些運算子分屬五大家族,包括設定與控制狀態、資料與結構描述狀態、檔案系統與資源綁定、建置與快取產物狀態,以及執行期工具與診斷。
- 改寫執行:關鍵順序是先擴充參考解法(讓它做更多事),再回頭同步更新環境、驗證器與公開指令——也就是先讓「可執行的行為」變複雜,再讓「規格文件」跟上,避免規格與行為脫鉤。
- 沙盒驗證:新任務要經過靜態檢查、抓「抄捷徑」漏洞的稽核,以及在全新沙盒(sandbox)中的實跑驗證。這裡分兩種有效性:oracle validity(參考解法必須能讓驗證器判定通過)與 contract validity(公開指令必須包含解題所需的全部資訊,不能隱藏關鍵條件)。
通過驗證的任務會被收進任務池,並作為下一輪的新種子,如此遞迴 15 輪。每個任務最終由五個檔案組成:instruction.md(公開描述)、task.toml(執行期中繼資料)、environment/Dockerfile(初始工作環境)、solution/solve.sh(參考解法)、以及 tests/ 下的私有驗證腳本。
實驗結果
規模與成本上,RST 在 15 輪內從 639 個種子擴增出 37,484 個通過驗證的任務,平均每筆成本約 0.05 美元,遠低於人工撰寫的數百至數千美元。每輪的合成產出率維持在每千次種子嘗試產生 498.2~572.2 個通過任務,候選任務通過率穩定在 74.5%~81.5%,顯示遞迴過程沒有隨輪次崩潰。
難度成長非常顯著:參考解法的中位數行數從第 1 輪的 67 行增長到第 15 輪的 374 行(約 5.6 倍);實際執行的指令數中位數從 40 條增至 244 條(約 6.1 倍);用到的 CLI 工具種類從 17 種增至 71 種;驗證器的斷言(assertion)數也從 17 條增至 57 條。相對地,指令文字長度只從 85 字增到 122 字(約 1.4 倍)——也就是說,難度提升來自「要做的事變多」,不是「說明文字灌水」。
難度的實際衝擊反映在模型表現上:用 DeepSeek-V4-Pro 測 pass@4,第 1 輪還有 90% 的通過率,到第 15 輪暴跌到只剩 2.5%。
訓練效用方面,作者對 Qwen3.5-27B 與 Qwen3.5-122B-A10B 兩個模型,用 RST 任務上收集的拒絕採樣(rejection-sampled)軌跡做監督微調(SFT)。結果在 Terminal-Bench 2、Terminal-Bench Hard、Long-Horizon Terminal Bench 三個 benchmark 上都拿到最多達 10 個百分點的提升,例如 122B-A10B 在 Terminal-Bench Hard 上從 20.0% 升到 30.0%。進一步用 agentic PPO(強化學習)訓練 Qwen3.5-27B,最終在三個 benchmark 上分別達到 49.44%、32.00%、22.07%,相較基礎模型有 20.0%、41.2%、21.9% 的相對提升。訓練過程中,平均驗證器獎勵從約 0.11 升到超過 0.14,平均互動輪數從 19~20 輪增加到超過 30 輪,顯示模型學會了維持更長的互動來滿足更多驗證條件。
意義
這篇論文最重要的貢獻,是證明「用驗證過的任務當種子、遞迴改寫」這條路徑可以無限期地把任務難度往上推,而不會像單純用 LLM 直接生成那樣資料品質崩潰。經過 15 輪,產出率與驗證通過率仍然穩定,任務領域多樣性也沒有塌縮(有效領域數維持在 11 上下),作者稱之為「沒有天花板」——暗示這套機制可以繼續擴展遠超論文報告的規模。
對整個代理訓練生態而言,RST 提供了一個便宜到近乎免費的長任務資料生產線(單價 0.05 美元),而且訓練效果經過 SFT 與 PPO 雙重驗證,能同時在多個模型尺寸與多個 benchmark 上帶來一致提升,不是單一模型的偶然結果。更值得注意的是,作者也做了 benchmark 污染分析,確認合成任務與現有測試集之間的文字重疊極低(5-gram Jaccard 相似度不超過 0.0081),證明提升不是因為背答案,而是真正學到了處理長流程、多步驟終端機操作的能力。這對接下來要訓練「能自主完成複雜工程任務」的代理系統,提供了一條可規模化、可驗證、成本可控的資料合成路線。