跳到主要內容

【2026 最新】World Model RL 怎麼減少 Sandbox?用真實 Anchor 校準代理評分的玩具實驗

最後更新: ·
World Model RL 教學首圖:少量 Sandbox 真實 anchor 校準大量代理評分

World Model RL 想解一個很實際的瓶頸:研究型 AI Agent 每產生一個程式方案,都交給 Sandbox 真跑,reward 很可靠,速度與算力成本卻可能拖垮訓練;全部改由另一個模型評分,又可能把「討好評分器」錯當成「把任務做好」。WMRL 的答案不是二選一,而是讓便宜代理評分器處理多數候選,再保留少量真實執行當校準尺。

這篇給第一次接觸 Agent RL 的讀者。你會先看懂 Online Debiasing 與 Inverse-Variance Denoising,再看一個 20 個候選程式、20 個 unit tests 的本地 toy:比較 all-real、all-judge、anchored 三條路,並故意放入會騙分的程式。最後,我們會拆開論文真正報告的 GPU-hours、90:10 說法與公開程式之間的落差。

先記住這條原理:WMRL = 大量便宜預測 reward + 少量真實 anchor + 偏差校準 + 可靠度加權。Anchor 就像抽考時的標準答案:不替你批完所有考卷,但能持續檢查代理老師的刻度有沒有漂移。

World Model RL 先說結論:減少 Sandbox,不是取消 Sandbox

⚡ 三句話版:
一、WMRL 用凍結的語言模型預測程式執行後的分數,多數 training groups 不必當場真跑。
二、少量 groups 同時拿代理分數與真實 reward,拿來修正評分刻度,並依殘差調整兩條 gradient stream 的權重。
三、Anchor 與最後驗收仍要進 Sandbox;若代理評分把好壞順序排反,單調校準也不一定救得回來。

這裡的「world model」和生成影片或模擬機器人動作的世界模型不太一樣。依 2026 年 9 月 10 日更新的論文 v3,它讀取 task、Agent 產生的 solution 與執行規格,預測真實執行會回傳的 outcome/score;在 AutoResearch 設定中,它是與 Agent 同 backbone、訓練期間凍結的 LLM surrogate grader。若你想先補一般世界模型的 observation、state、action 與 rollout,可先看World Model 世界模型新手教學

World Model RL 怎麼運作?拆成 4 個零件

① Proxy scorer:先猜「真跑後會得幾分」

痛點:每個研究方案都要在隔離環境載入已備妥的資料、跑訓練與評估,reward 雖可靠,吞吐量卻很低。解法:讓凍結模型先閱讀候選 solution,預測執行結果。這不是把程式安全地執行在模型腦內,也不是證明程式沒有惡意;它只提供便宜的

論文把預測寫成 r̂(τ) = r(τ) + b(τ) + ξ(τ):真實 reward r 之外,同時有系統性偏差 b 與零平均隨機 noise ξ。如果全部用 更新 policy,Agent 就有機會沿著偏差找捷徑。這也是為什麼一套可靠的AI Evals不能只有模型自評。

② Anchor groups:同一批方案,同時拿預測分數與真實答案

痛點:只有代理分數,就不知道評分尺度是否正在漂。解法:隨機抽一些完整 group,既交給 world model 評分,也送進 Sandbox 真跑。得到的 (predicted, real) 配對,就是後續校準與殘差估計的資料。

注意單位是 group,不是「每十個候選固定抽一個」。GRPO 會在同一題抽多條 trajectory,再用組內相對 reward 算 advantage;WMRL 的 anchor 也沿著這個群組邊界安排。被抽中的候選程式仍是不可信程式,隔離、timeout 與資源限制不能省。

③ Online Debiasing:用單調曲線重校評分刻度

痛點:代理老師可能普遍打太高,也可能在中間分數特別樂觀。解法:用 anchor pairs 擬合 isotonic regression(只允許分數隨輸入單調上升的回歸),把 raw predicted score 映回較接近真實 reward 的尺度。公開實作在累積 200 個配對前先使用 identity map,之後每新增 64 個配對重擬合一次。

單調校準能修「85 分其實約等於 70 分」這種刻度問題,不能修「壞程式被排在好程式前面」的 rank reversal。這是整套方法最容易被忽略的邊界:校準器不是另一個萬能法官。

④ Inverse-Variance Denoising:哪一條 gradient 比較可靠,就多聽一點

痛點:Anchor gradient 乾淨但樣本少,proxy gradient 量大卻吵。解法:估計代理分數在 anchor 上的殘差,再提高或降低真實 gradient stream 的相對權重。白話就是:便宜評分越不穩,標準答案的票越重。

這個結論有前提。逆變異數融合在兩條 gradient 都是同一目標的無偏且彼此獨立估計時,才有降低 variance 的標準意義;若兩者相關,就必須把 covariance 納入權重計算。一個方向錯誤但每次都錯得很一致的 judge,可能低 variance,卻仍有 bias。公開設定也把 anchor 權重上限設為 4,所以 disagreement 變大只會讓系統 real-GRPO 靠近,不會完整切回全部真實執行。

World Model RL 校準回路:多數 group 由代理評分,少量 anchor 同時取得 Sandbox 真實 reward,再做 Online Debiasing 與 Inverse-Variance Denoising
WMRL 的關鍵不是「模型取代環境」,而是維持一條持續回到真實 reward 的閉環。

論文真的省了多少?先把「3–4×」放回正確範圍

在作者的 AutoResearch 設定中,4B 與 9B WMRL 使用的 A100 GPU-hours 都約為同尺寸 real-execution GRPO 的三分之一,而且兩個 held-out benchmark 的平均分更高。這是有吸引力的結果,但應讀成「作者在兩個固定訓練規模報告的 GPU-hour 比較」,不是跨雲端、硬體、任務都成立的 wall-clock 或美元成本定律。

WMRL 論文 Table 1:4B 的 real GRPO 與 WMRL 為 883 對 286 A100 GPU-hours,9B 為 1174 對 349;作者報告的 benchmark 平均分與證據邊界
數字來自 preprint v3 Table 1。v3 未交代 AutoResearch 的 training seed 數,Table 1 也未提供誤差棒或顯著性檢定;部分子項低於 real GRPO,因此不能延伸成每一類任務都改善。

截至 2026 年 9 月 14 日,Hugging Face 論文頁顯示它在 9 月 10 日是 #1 Paper of the Day,累積 447 upvotes。這能說明 Hugging Face 平台上的關注度,不能替代 peer review、原始 logs 或獨立 replication。更重要的是,官方 README把核心 wmrl/ library 描述為約 600 行、NumPy-only;整個 repository 另含 AutoResearch 與 embodied infrastructure。作者明示公開版是 clean reimplementation,production stack 未公開、並非 byte-identical,且不含 baselines。

90% 代理、10% 真實,是方法原理還是固定配方?

答案:可以當成論文描述與玩具實驗的直覺比例,不能當成已由公開 artifacts 完整確認的固定配方。 論文腳註稱約 10% groups 進行真實執行;公開通用 library 的預設 anchor_fraction 也是 0.10。但標示為 Table 1 設定的公開 9B config設定每步 8 groups、anchor_groups_per_step = 2;只有在 in-flight concurrency cap 未綁住時才對應 2/8=25%,cap 綁住時實現比例可以更低。由於 production stack 未公開,現有程式無法確認報告跑法的實際比例。

實務上,anchor 比例應是一個可監控的風險旋鈕:judge 變動、policy 分布漂移、殘差升高或出現新型 solution 時就提高;長期穩定、真實執行昂貴時才考慮降低。不要把 10% 抄進 production 後便停止量測。

World Model RL 玩具實驗:20 個程式怎麼比較三種 reward 路線?

為了把抽象公式變成可檢查結果,我們建立 20 個固定 Python 候選程式,要求它們完成字串 canonicalization;每個程式用 20 個 deterministic unit tests 算出 toy 定義下的 ground-truth reward,也就是測試通過率。程式各自在新的 isolated interpreter process 執行一次,這是程序隔離,不是安全 Sandbox。

  • All-real:每次採樣都查候選目錄中的 unit-test reward,並把它記為一次邏輯 real-reward query。
  • All-judge:完全用手寫 stochastic proxy;它可以是由 true score 建造的單調變形,也可以被註解裡的關鍵字欺騙。
  • Anchored:每步 10 groups 中隨機取 1 group,同時查 proxy 與目錄中的 true reward;24 個配對後開始 isotonic calibration,再以近期殘差導出的 WMRL-like 權重融合兩條 gradient。

每組有 8 個 samples、共跑 60 steps;每個 arm/scenario 各做 32 個 deterministic seed-runs,不同 cell 使用不同 seed offsets,不能當 paired runs。這裡把 warmup 縮成 24 pairs,是因為只有 20 個固定 arms;它不是論文的 200-pair 設定。每個候選的代理分數另取 5 次獨立 noisy draws 平均,純粹展示一般的 1/√R 降噪直覺;這不是論文命名的 IVD,後者是在 gradient stream 層做融合。

# 核心流程(省略候選程式、unit tests 與記錄器)
for step in range(60):
    groups = policy.sample(groups=10, samples_per_group=8)
    anchor_id = rng.randrange(10)

    proxy_scores = [[mean(judge.score(item) for _ in range(5))
                     for item in group] for group in groups]
    real_scores = lookup_cached_unit_test_reward(groups[anchor_id])  # 邏輯查詢
    anchor_pairs.extend(zip(proxy_scores[anchor_id], real_scores))

    calibrator = fit_isotonic(anchor_pairs) if len(anchor_pairs) >= 24 else identity
    proxy_grads = group_relative_bandit_gradients(calibrator(proxy_scores),
                                                   exclude=anchor_id)
    anchor_grad = group_relative_bandit_gradient(real_scores)

    rho = residual_based_weight(anchor_pairs, minimum=1, maximum=4)
    policy.update((rho * anchor_grad + sum(proxy_grads)) /
                  (rho + len(proxy_grads)))

判讀結果時先看方向,不要只看漂亮小數。第一個情境直接用 0.08 + 0.82 × √(true reward) 建造 judge mean;它不是讀程式後獨立預測品質的小模型,而且仍有 clipping 與 noise,不等於滿足論文 theorem 的所有假設。第二個 hackable 情境掃描 source/comments,故意違反單調偏差假設:只有少量 unit tests 通過的 reward-hacker 被 proxy 排成第一。All-judge policy 因而往錯誤方案集中,anchors 則在這個固定 catalogue 中把它拉回。

圖中的數值是 32 個 seed-runs 結束後,learned policy 的 final expected true reward 平均,不是單一候選的分數。邏輯 real-reward queries 是全真實路線的一成,但這項計數不含整個 run 開始時 20 個候選程式各自執行一次的 catalogue build;後續訓練只查已快取的 rewards。我們沒有量測重複容器啟動、GPU batching 或 wall-clock。Toy 的 rho 也只是由近期 calibration residual 正規化後得到的融合類比,沒有直接估計兩條 gradient 的 empirical inverse variance。

這個 hackable 壓力測試刻意違反單調偏差假設;anchored 的成功既不驗證定理,all-judge 的失敗也不反駁定理。它只說明:當 proxy 可被固定漏洞欺騙時,保留真實抽查能提供純代理路線缺少的修正訊號。

World Model RL 玩具實驗結果:32 seeds 下,hackable judge 的 all-judge final expected true reward 為 0.322、hacker 機率 0.745;anchored 為 0.967 與 0.005,真實 reward 邏輯查詢為 480 對 all-real 的 4800
這是 reward-side mechanism sanity check:手寫 judge、固定 20-candidate bandit、快取 reward 與邏輯 query 計數;不是 LLM world model、神經 GRPO 或論文訓練結果。

想自己檢查 WMRL 公開實作,先跑最小 library

官方 repo 的 wmrl/ 把 anchor scheduler、isotonic calibrator、adaptive weight 與 correction loop 拆成小型 NumPy 模組。若你的目標是理解演算法介面,而不是重跑論文訓練,可先執行:

git clone https://github.com/xiyuanyang45/WMRL.git
cd WMRL
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
python3 -m pytest tests -q

閱讀順序可從 wmrl/loop.py 開始,再看 anchor.pydebias.pydenoise.py。只有 scorer 沒有產生有效 grade,例如評分服務失聯或評分請求本身逾時,才回傳 None;若任務規格明定候選程式超過 execution budget 即失敗,timeout 可以是合法的 0.0 reward。先把 unknown 與 task outcome 分開定義。若你還沒有可重播的狀態、tool trace 與驗收層,先用AI Agent Harness 心智模型整理邊界,再照從零建立 Agent Harness把 scorer 接進完整流程。

6 個最容易踩的坑:Anchor 不是免死金牌

  1. 把 10% 當常數:痛點是不同 judge 與任務的誤差不一樣;解法是把 anchor rate、coverage 與 residual 當 dashboard,而不是貼上論文數字。
  2. 只看平均 calibration:整體均方誤差很低,某一種 API、code style 或罕見任務仍可能嚴重錯;應依 task family 與風險切片。
  3. 忽略 rank reversal:isotonic map 會保留原本排序。若 proxy 把 exploit 排第一,就需要能覆蓋該區域的真實驗證,或靠其他防護來發現。
  4. Policy 跑得比校準快:Agent 會主動尋找高 proxy reward 區域,昨天的 calibration 不保證今天仍有效;可配合 drift alarm、短窗口與強制抽查。
  5. 把低 variance 當正確:一個穩定說錯話的 judge 仍可能取得權重;bias 與 variance 要分開監控。
  6. 省訓練執行,忘了最終驗收:模型預測不能替代 security sandbox、held-out real evaluation 與 regression test。可參考Shadow Eval 回歸診斷,把新 scorer 放在不影響 production 的旁路先觀察。

這些不是空想風險。Reward model 過度最佳化的ICML 2023 原始研究觀察到 proxy 繼續上升時,gold reward 可能反而下降;另一項correlated proxies 研究則說明,policy optimization 本身會把分布推向代理指標失真的區域。這些工作沒有直接測 WMRL,卻提供了設計壓力測試的理由。

理論能保證什麼?把強假設攤開來看

基本 convergence bound 依賴 J 的 smoothness/gradient domination、bounded score-function gradient、固定單調 score distortion,以及跨 trajectories 獨立且有界的 noise;校準誤差收斂率還要求離散 score levels 不被 distortion 合併,且每一 level 持續取得 anchor pairs。只有進一步主張 WMRL 的 variance term 嚴格優於 raw-world-model bound 時,Corollary 7 才額外要求 recalibration 不放大 noise。這些都是條件式理論,不代表現實 LLM judge 必然滿足。

最該問的是:你的 proxy bias 真的只是一條單調曲線嗎?若相同 raw score 在不同 task family 代表不同真實品質,單一全域 calibrator 會把兩種情況混在一起。比較穩妥的做法是先在離線 log 做分群 reliability plot,再上線 shadow traffic;只有當 anchor coverage、排序一致性與 drift 都能被觀察,才逐步讓代理 reward 參與更新。若你想把這套流程擴成多階段訓練,可再讀Agent Lightning 與 Agentic RL

誰適合用 anchored proxy reward?一個實務決策順序

  1. 先問真實 reward 是否明確。Unit tests、可重播模擬器或客觀 verifier 比模糊的人類偏好更適合當 anchor。
  2. 再量 Sandbox 是否真是瓶頸。若生成模型才占大部分 GPU 時間,省 execution 不一定省總成本。
  3. 建立 all-real 小基準。沒有 all-real 小基準,會更難量化 proxy training 相對於全真實路線偏到哪裡。
  4. 先跑 shadow/offline。觀察 rank correlation、分群 calibration、rare exploit 與 policy shift,再決定 anchor 比例。
  5. 保留 fail-closed 路徑。Coverage 不足、residual 暴增或 scorer 回傳 unknown 時停止 proxy update,回到真實驗證,不把缺值當零分。

適合的早期場景,是「真實驗證清楚但昂貴、代理分數與 gold 大致同序、又能持續隨機抽查」的研究 workflow。不適合的是高風險一次性決策、ground truth 本身含糊,或候選程式會接觸真實憑證與外部系統的流程。想把這套判斷做成自己的可觀測開發環境,可從 AlphaLab 的AI 系統實作課程繼續。

World Model RL FAQ

1. WMRL 是一個新的 AI 模型嗎?

不是。它是一套 RL 訓練方法:Agent policy 被更新,凍結的 world model 提供代理 reward,真實執行則提供 anchors。

2. 這裡的 world model 會模擬完整電腦環境嗎?

不應這樣理解。論文中的模組更像 outcome/score predictor:讀 task 與 solution 後預測執行結果,而不是建立可互動的完整作業系統。

3. WMRL 可以完全拿掉 Sandbox 嗎?

不可以。Anchor groups 與最終 real evaluation 仍要執行程式;官方三節點拓撲也保留 sandbox node。模型評分不是安全隔離。

4. 10% anchors 是萬用最佳比例嗎?

不是。論文描述約一成,但公開 Table 1 重實作 config 設定 2/8 groups;這是 capacity 未受限時的 25%,實際比例可能更低。應依成本、coverage、drift 與錯誤風險調整。

5. Online Debiasing 能修正任何 judge 偏差嗎?

不能。單調 isotonic map 能重校分數刻度,不能把已排反的好壞順序自動翻回來,也不保證涵蓋罕見 exploit。

6. 同一個答案評五次取平均,就是論文的 IVD 嗎?

不是。玩具實驗的重複評分只是一般隨機降噪;WMRL 的 Inverse-Variance Denoising 是把 real-anchor 與 proxy 兩條 gradient streams 按可靠度融合。

7. 有 anchors 就能阻止 reward hacking 嗎?

不能保證。隨機 anchors 能揭露被抽中區域的誤差;罕見、條件式、會適應抽樣規則或隨 policy shift 出現的漏洞,仍可能逃過早期偵測。

8. 這個 toy 證明 90% 成本節省或 3–4× 加速嗎?

沒有。它只計算固定 catalogue 上的邏輯 reward queries,沒有 learned world model、神經 GRPO、GPU utilization 或真實 sandbox contention;論文數字只能歸因於作者的 preprint 實驗。

給新手的 6 個重點

  1. WMRL 的核心是代理大量評分、真實少量校準,不是免 Sandbox。
  2. Online Debiasing 處理分數尺度偏差;Inverse-Variance Denoising 處理兩條 gradient 的相對噪聲。
  3. Anchor 的正確單位是 group,比例是風險旋鈕,不是固定常數。
  4. 單調校準修不了 rank reversal;rare exploit 與 distribution shift 要另外壓力測試。
  5. 論文的 3.1×/3.4× 是作者報告的 A100 GPU-hour 比值,不是通用 wall-clock 保證。
  6. 先建立 all-real baseline、coverage 與 drift dashboard,再讓 proxy reward 影響 policy。

接著閱讀

左右滑動查看更多推薦

結語:先校準會打分的 AI,再讓它教 Agent

回到開頭的原理:大量預測 + 少量 anchor + 偏差校準 + 可靠度加權。World Model RL 最值得學的不是「用模型省掉環境」,而是承認代理評分可能有誤差,並把真實答案持續留在訓練回路裡。

如果你要把它用在自己的 Agent,第一步不是立刻把 90% 執行關掉;先在既有 all-real 流程旁加一條 proxy shadow stream,畫出不同 task family 的排序與 calibration,再故意放入會討好 judge 的失敗案例。只有當你能看見它何時錯、錯在哪裡、coverage 不足時如何停下來,anchor 才真的從漂亮公式變成安全工程。

ALPHALAB 社群

有問題?來 Telegram 聊

和 Terry、編輯、其他網友一起討論這篇文章。提問、分享觀點,回覆更即時。

加入 Telegram 討論

📩 訂閱 AlphaLab 電子報

每週最多三封:一封 Weekly 週報與最多兩封關鍵 Alpha Signal。

我們不會 spam,隨時可退訂。