假設 DPO 已經通過未見偏好配對、實際生成與能力回歸等驗收,模型確實能在兩個合理回答之間,穩定偏好「先查證,再承諾」的版本。接下來很自然會遇到一個問題:既然模型已經學會偏好,為什麼還需要 Reinforcement Learning(RL)?
答案不在於 RL 比 DPO 更進階,而在於兩者取得學習訊號的方式不同。
DPO 從已經收集好的偏好配對學習。如果資料裡有「先查訂單」與「直接承諾退款」兩個答案,它可以學會前者比較好;但當更新後的 Agent 開始呼叫工具,走出資料裡從未出現的新路徑,固定資料就無法告訴它這條路到底有沒有成功。
以退款 Agent 為例,同一句「退款已完成」背後至少可能有三種結果:
如果評分器只看最後一句話,第一種可能拿到滿分;如果只看資料庫終態,第二種也可能過關。模型並沒有違背訓練目標,而是把我們量到的東西最佳化得非常徹底。
這就是本文的核心:
Online RL 讓模型從新產生的行動結果繼續學習;但它只能最佳化我們提供的 Reward,不會自動理解什麼才是真正的成功。
Online RL 的 online,不是連上正式環境,也不是收到一筆正式流量就立即修改模型權重。
真正的判準是:訓練期間是否會用目前或近期的策略重新產生回答或執行軌跡,取得 Reward、更新策略,再用更新後的策略繼續取樣。 Prompt 題庫可以固定,沙盒也可以完全與正式環境隔離;只要回答與軌跡會隨策略更新而重新產生,這個訓練迴圈仍然是 online。
PPO 原始論文 描述的正是「與環境互動取樣」和「最佳化策略」交替進行。DAPO 的演算法也會先用目前策略的快照產生一組回答、計算 Reward,再更新策略並進入下一輪。
相對地:
(Prompt, Target Response) 上進行監督式交叉熵訓練。它沒有 Reward/Return、環境狀態轉移資料或策略改善目標,因此不是 offline RL。研究界確實已有會反覆收集新偏好的 Online DPO,因此不能說所有 DPO 永遠都是 offline。本文比較的是最常見的固定資料 DPO,以及會持續產生新軌跡的 Online RL。
另一組容易混淆的詞是 online/offline 與 on-policy/off-policy。前者問的是「訓練期間是否持續收集新經驗」;後者問的是「更新所用資料由哪個策略產生,與目前策略有多接近」。PPO/GRPO 通常屬於近 on-policy 方法,但會使用舊策略快照與重複利用同一批資料,因此兩組詞不能直接互換。

把 SFT、DPO 與 Online RL 排成版本高低,很容易選錯方法。更實用的理解方式,是看每一階段解決什麼問題,又留下什麼缺口。
| 方法 | 它最適合解決什麼 | 主要限制 |
|---|---|---|
| SFT | 從高品質示範學會格式、工具協定與基本流程 | 只能模仿資料中已出現的做法 |
| DPO | 在多個合理回答之間學會偏好 | 固定偏好資料無法回應模型後來走出的新路徑 |
| Online RL | 讓新策略的行動結果回到下一輪更新 | 必須負擔取樣、環境、驗證與訓練穩定性的成本 |
SFT 的角色,是先讓模型「至少做得出來」。如果起始模型幾乎不可能走到成功結果,稀疏 Reward 只會得到一整片零分,RL 也不知道該放大哪種行為。
DPO 再處理「做得到,但哪個比較好」。它不需要顯式訓練 Reward Model,也不需要在訓練中反覆執行工具,因此通常比 Online RL 簡單穩定。DPO 原始論文 將偏好學習化成固定資料上的分類損失;它的代價是受限於資料覆蓋範圍。
當模型更新後開始產生資料裡沒有的新行為,Online RL 才補上最後一段閉環:重新取樣、觀察結果、更新,再試一次。NeurIPS 2024 對 online 與 offline 方法的分析 也指出,固定偏好資料的覆蓋範圍是 DPO 類方法的重要限制。
所以真正的決策不是「要不要升級成 RL」,而是:固定資料是否已經出現可重現的覆蓋缺口,而且重新取樣能否產生可驗證的新資訊。
很多討論會把 RLVR、GRPO、DAPO 放在同一張排行榜裡比較,但它們回答的不是同一個問題。比較之前,可以先拆成三個系統層,再加上一個跨層診斷問題:
| 問題 | 要確認什麼 | 代表做法 |
|---|---|---|
| 資料產生 | 訓練資料是固定的,還是由更新中的策略持續產生? | 固定示範、固定偏好資料、沙盒 rollout |
| 回饋取得 | 誰判斷結果好不好? | 人類偏好、Reward Model、規則、測試、資料庫終態 |
| 策略更新 | 如何把資料或回饋轉成權重更新? | SFT、DPO、PPO、GRPO |
| 跨層診斷 | 故障出在資料、回饋,還是更新過程? | 修資料與 Verifier,或採用 DAPO、Dr. GRPO、GSPO 等修正 |
這個心智模型能避免三個常見誤解:
DAPO、Dr. GRPO 與 GSPO 最終仍會修改資料取樣、Reward 處理或策略更新,不是獨立於前三層之外的演算法種類。把故障診斷單獨列成一個問題,是為了先找出壞在哪裡,再回到正確的系統層修正。
接下來只要依序回答這四個問題,就不容易先選演算法、再回頭替它找問題。
「能重新取樣」不代表「值得做 Online RL」。我會在三個條件同時成立時,才認真評估:
這也解釋了為什麼數學與程式題常成為 RLVR(Reinforcement Learning with Verifiable Rewards,可驗證獎勵強化學習)的起點:答案、編譯器與測試結果通常容易重算。DeepSeek-R1 顯示規則 Reward 配合探索,可以改善特定數學、程式與 STEM 任務;但 R1-Zero 也出現可讀性差與語言混雜等問題,正式 R1 因而加入冷啟動資料與多階段訓練。
退款 Agent 更困難,因為它只有一部分結果可以客觀驗證。退款紀錄與金額可以重算,溝通品質與例外判斷卻未必有唯一答案。因此不能只給一個總分,而要把「結果正確」「流程合規」與「主觀品質」拆開。
這三個名詞可以用一句話串起來:Environment 產生結果證據,Verifier 判斷證據是否符合條件,Reward 再把判斷轉成可供訓練使用的訊號。
τ-bench 把客服型工具任務放進包含資料庫、API、政策與模擬使用者的環境,再比較任務前後的資料庫狀態。這示範了如何用外部證據驗收結果,避免只根據模型宣稱成功就給分;但單看終態,仍不足以證明執行路徑合規。
因此,退款任務至少要分成四種責任:Runtime 負責在身分、授權、金額上限或政策版本不符時直接拒絕;違規診斷獨立記錄越權、略過確認或試圖修改 Verifier;結果驗證確認退款紀錄、金額、幣別與訂單狀態真的正確;最後才在合規且結果正確的軌跡之間,比較說明品質、步驟、成本與延遲。
這裡最重要的原則是:不允許發生的事,用 Runtime 擋住;允許發生、但有品質差異的事,才交給 Reward 學習。 超額退款不能只是少 0.2 分,否則模型仍可能靠其他分數取得更高總分。
Online RL 還需要一個可重設的沙盒。每次 rollout 都要從可比較的初始狀態開始,清除前一次的資料與工具歷史,並保存模型、環境、政策、Verifier 與亂數種子版本。否則第二個 Agent 可能沿用第一個 Agent 留下的退款紀錄,什麼都沒做就拿到成功分數。

當 Environment 與 Reward 已經可信,才輪到更新演算法。
PPO 使用 Value Model 估計每個狀態下的預期回報,再判斷哪些行動比預期更好。這個架構通用,但在大型語言模型上,Value Model 可能和策略模型同樣龐大,增加 GPU 記憶體、計算與校準成本。
DeepSeekMath 提出的 GRPO,改用同一個 Prompt 的多次 rollout 相對分數估計優勢,省掉額外的 Value Model。代價是每題必須產生多個回答;若使用二元 Outcome Reward,而且同組 Reward 全為 1 或全為 0,組內 Advantage 就會是零。
兩者的差別可以濃縮成一句話:
PPO 用 Value Model 回答「這次表現比預期好多少」;GRPO 用同題其他回答回答「這次在組內相對有多好」。
GRPO 並沒有省掉 Environment、Verifier、Reward 或大量取樣。它只改變第三層的優勢估計方式。
GRPO 省掉 Value Model 後,新的問題也跟著浮上來。這時才需要看後續方法:
這三者不是 GRPO 1.1、1.2、1.3,也沒有一個方法能在所有任務上全面取代其他方法。正確順序應該是先量測零變異群組比例、Entropy、長度分布、Clip Fraction、Policy Lag 與 Reward Noise,再根據已觀察到的故障選擇修正。
更重要的是,這些方法修的是取樣、估計或訓練穩定性,不會修好錯誤的 Verifier。如果「只說退款成功」也能拿到高分,換成更新的演算法只會讓模型更有效率地鑽漏洞。
模型會尋找有效路徑,也會尋找評分器的捷徑。它可能只輸出 Verifier 喜歡的句型、猜測容易通過的答案、修改測試,或為了縮短時間略過查證。
防線不是再補一個加權項目,而是把 Verifier 當成需要測試的系統:
Anthropic 對 Reward Hacking 的受控研究 顯示,模型在可被攻擊的程式環境中學會作弊後,任務外的錯誤行為也可能增加。這不能直接當成正式產品的事故率,但足以支持一條工程原則:可被攻擊的環境所產生的高分,本身就是需要調查的訊號。
| 檢核關卡 | 通過證據 | 不通過時怎麼做 |
|---|---|---|
| 固定資料確實不夠 | SFT/DPO 出現可重現的資料覆蓋缺口 | 繼續改善資料,不急著導入 RL |
| 模型已有探索起點 | 同題多次 rollout 不是全部失敗 | 先補 SFT、工具說明或調整題目難度 |
| 任務可以重設 | 初始狀態、停止條件、逾時與快照可版本化重建 | 先建立沙盒與狀態契約 |
| Verifier 能抓到假成功 | 假成功、違規終態與重複退款都無法過關 | 先修 Verifier 並做突變測試 |
| Runtime 能隔離風險 | 正式金流、權限、隱藏測試與稽核紀錄不受 Agent 控制 | 收窄工具與權限,不做自由探索 |
| 成本可以承擔 | 軌跡可追查,重複取樣、工具與驗證成本可接受 | 縮短任務,或繼續使用固定資料訓練 |
如果前五項有一項答不出來,討論 PPO 還是 GRPO 都太早。當這些條件都通過,再依實際瓶頸決定要不要使用 Value Model、同題群組基準,或加入特定的穩定性修正。

工程師:「Reward 一直上升,模型終於學會退款了。」
AI:「先看資料庫。你訓練的可能只是『把成功說得更像真的』。」
從 SFT、DPO 到 Online RL,真正的演化不是演算法變得愈來愈複雜,而是學習系統能取得的資訊逐步增加:先模仿示範,再比較偏好,最後讓新行為的結果回到下一輪更新。
這條閉環同時帶來新的責任。Environment 決定能產生什麼證據,Verifier 決定什麼算成功,Reward 決定模型追逐什麼,Runtime 則守住絕對不能跨越的邊界。PPO/GRPO 只負責把訊號轉成更新;如果成功定義本身不完整,更有效率的演算法只會更快放大錯誤。
因此,Online RL 最值得記住的最佳實踐不是「選哪個演算法」,而是:先證明固定資料真的不夠,再證明新行為能在可重設環境中被可靠驗證,最後才選擇如何更新策略。
下一篇會接著處理另一個問題:訓練分數提高之後,距離一個可發布、可比較、可回復的模型版本,還差哪些驗收。