9.2 強化學習與 Agent、世界模型的合流(2025-2026)#
前言:三條河流向同一片海#
本書的三大技術線——RL 演算法(第 2-5 章)、自我對弈與可驗證獎勵(第 6、9.1 章)、世界模型(第 7 章)——在 2025-2026 年匯流:LLM Agent 把 RL 帶進開放世界的長時程任務;世界模型(Genie、影片生成)試圖給 agent 一個可以「在夢中練習」的環境;推理模型(o1/R1)則證明了「用 RL 在語言空間鍛鍊能力」的可行性。合流的動力是一個共同的結構性缺口:LLM 已經「知道」很多,但不會「做」——知道代碼怎麼寫卻寫不對、知道步驟卻無法在多步交互中執行到底、知道世界常識卻無法預測自己行動的後果。RL 是「把知識轉成能力」的鍛造爐(第 9.1 章已在數學/代碼域證明);agent 是它的應用形態;世界模型是它擴展到真實世界的樣本效率前提。本節作為全書終章,要畫出這張合流地圖、指出每條路上的未解難題,並回答一個貫穿全書的問題:從 Thorndike 的貓到會思考的模型,「試誤學習」的下一個一百年會是什麼?
歷史背景:2024-2026 的三波浪潮#
第一波:可驗證域的 RL 普及(2024-2025)。R1 開放配方後,RLVR 成為各家旗艦模型的標配訓練階段;「預訓練 → 中期訓練 → RLVR(推理)→ RLHF(偏好)」成為新的後訓練範式,取代「SFT + RLHF」的舊兩段式。第二波:Agentic RL(2025)。訓練場景從「單輪問答」擴展為「多步交互任務」:SWE-bench 式的軟體工程(模型在真實 repo 中讀碼、改碼、跑測試)、瀏覽器操作、工具調用鏈。獎勵仍是可驗證的(測試通過、任務完成),但動作空間變成「工具調用 + 觀察 + 繼續思考」的長回合 MDP,時程從幾百 token 延伸到幾百步交互——第 2 章 MDP 的長時程、稀疏獎勵、部分可觀測問題全部回歸,且規模前所未有。第三波:世界模型作為環境(2025-2026)。Genie 3(DeepMind, 2025)展示了「文本生成可交互世界」:模型即環境,agent 可以在其中無限採樣。Google 的 Sima(可玩任何遊戲的 agent)與「影片生成即世界模擬器」的路線之爭(Sora vs. Genie:被動生成 vs. 可交互模擬)成為戰略焦點。本節將把三波浪潮整合成一張架構圖。
Agent 的 MDP 形式化:老框架的新規模#
用本書第 2 章的語言重述 LLM Agent(這是全書「理論反覆使用」的最後一次展示):
- 狀態 \(s_t\) =(任務描述 + 全部歷史:模型自己的輸出、工具返回、環境觀察)。天然非 Markov 且無界增長——上下文窗口是有限資源,「記住什麼、壓縮什麼」成為狀態設計問題(第 2.1 節:Markov 性質是設計要求)。
- 動作 \(a_t\) = 下一 token(混合了「內部思考」與「外部行動」——思考即動作:模型在CoT中寫的每一步都是 MDP 中的動作,這使 o1 的「思考」與 agent 的「操作」在形式上統一)。
- 轉移 = 環境(終端、瀏覽器、代碼庫)+ 工具。環境模型未知(第 3 章起的老問題),且不可重置/昂貴(第 7 章的老問題)。
- 獎勵 = 任務完成時的可驗證信號(測試通過、任務成功),極稀疏且延遲數百步——信用分配問題(第 1 章的兩大難題之一)在此達到本書最極端的形態。
Agentic RL 的訓練挑戰與對策#
- 回合過長 + 獎勵稀疏 → 對策:課程式任務生成(從短任務到長任務)、中間里程碑獎勵(接近 PRM 思想)、經驗回放的長度過濾。
- 採樣極貴(每次 rollout 要真跑工具/編譯/測試)→ 對策:非同步基礎設施(採樣與訓練解耦)、沙盒環境批量並行(Docker/VM 池)、想像訓練(在世界模型中預訓練、真實環境中微調——第 7 章路線的 agent 版)。
- 探索困難(長任務中隨機動作幾乎不可能湊出成功軌跡)→ 對策:從成功軌跡蒸餾(模仿學習初始化,即 SFT)、失敗軌跡的負樣本學習、樹狀採樣(在關鍵決策點分叉多條——MCTS 思想的 agent 版)。
- 多輪 credit assignment → 對策:GRPO 的組採樣升級為步級優勢(PRM 對每步打分)、或價值函數學習(回到 A2C/PPO 的 critic,但輸入是超長上下文)。
世界模型的最新形態:從「學模擬器」到「模擬器即環境」#
第 7 章的 Dreamer 譜系在 2025 年演化出兩個形態:
形態一:神經模擬器作為訓練環境。Genie 3 類模型:給定文本提示與歷史動作,生成一致且可交互的視覺世界(用戶輸入行動 → 世界狀態更新)。對 RL 的意義:環境無限供應且多樣化——agent 可以在十萬個生成的「夢環境」中訓練泛化,突破真實環境數量的限制。這解決了 sim-to-real 的老問題的一半(另一半是保真度)。
形態二:LLM 內部的隱式世界模型。預訓練已讓 LLM 學到大量「世界的統計動力學」(寫「把杯子放到桌邊緣」時它「知道」杯子會掉)。agentic RL 的實質之一是把這些隱式知識轉成可用的預測控制——模型在 CoT 中「模擬」行動後果(「如果我刪這行,測試 X 會掛,因為 Y 依賴它」)就是內嵌的 MPC(第 7.1 節):規劃視野=思考長度,模型=預訓練習得的動力學。「更長的思考」=「更遠的滾動規劃」——這是 9.1 章與第 7 章合流的最深一句話。而它同樣繼承了第 7 章的詛咒:誤差複合——內部模擬越遠,錯得越自信;「反思」與「驗證步驟」就是對這個詛咒的工程緩解。
flowchart TD
subgraph 1949-1988[試誤學習的奠基]
A[Thorndike 效果律] --> B[TD 學習 Sutton 1988]
end
subgraph 1989-2017[演算法與博弈]
B --> C[Q-Learning → DQN]
C --> D[PPO: 穩定的策略優化]
B --> E[TD-Gammon → AlphaZero<br>自我對弈+可驗證獎勵]
B --> F[Dyna → World Models → Dreamer<br>學模型+想像中訓練]
end
subgraph 2022-2026[語言空間的合流]
D --> G[RLHF: 偏好域對齊 第8章]
E --> H[RLVR: 可驗證域推理 第9.1章]
F --> I[世界模型作為環境<br>Genie / 內嵌MPC]
G & H & I --> J[Agentic RL: 長時程多步任務<br>思考即動作, 環境即工具]
end
J --> K[未解: 長時程信用分配<br>夢的保真度, 多智能體對齊]未解難題:合流之後的三道牆#
- 長時程信用分配。數百步後才到的獎勵,如何分配功勞?目前的對策(GRPO 組優勢、PRM 步級獎勵)都是近似。理論缺口:第 3.1 節的 TD(λ) 光譜在「上下文長度即狀態維度」的條件下如何重新推導?這是學界 2025-2026 的活躍前沿。
- 夢的保真度。世界模型訓練 agent 的前提是「夠真的夢」,但模型對訓練分布外的物理/社會規律的模擬必然失真(第 7 章誤差複合 + 第 8 章 hacking:agent 會找到夢的縫隙並依賴它)。標準還未確立:什麼指標能證明「在夢中學到的策略在現實可用」?
- 多智能體與價值對齊。Agent 之間交互(協作、競爭、市場)時,第 6 章的自我對弈校準(零和)失效;非零和的社會規範無法靠「互相打敗」學出——需要把第 8 章的人類偏好擴展到群體層面(哪些規範、誰的偏好、如何聚合)。這是對齊研究的下一個大題。
與此同時,可以給出的判斷是:「以可驗證的結果為獎勵、以大規模採樣為燃料、以學到的模型為槓桿」的方法論已經固化為後訓練的基礎設施——無論模型架構如何變(更長上下文、多模態、多智能體),第 2 章的 MDP、第 3 章的 TD、第 5 章的策略梯度、第 6 章的自我對弈、第 7 章的世界模型、第 8 章的偏好學習,這六塊基石的組合方式只會更緊密。
程式碼:一個最小的「思考即行動」Agent 迴圈#
用一個純 Python 的迷你 agent 展示合流後的形態:LLM(此處用規則模擬)在多步任務中「思考→行動→觀察」的 MDP 迴圈,以及 GRPO 式的多軌跡優化:
# pip install numpy
import numpy as np
rng = np.random.default_rng(3)
# ===== 一個 3 步任務: 在虛擬文件系統中修復 bug =====
# 狀態: (讀過哪些文件, 改了什麼); 動作: 思考/讀文件/編輯/跑測試/提交
FILES = {"main.py": "bug in line 3", "utils.py": "helper", "tests.py": "unit tests"}
def env_step(state, action):
"""返回 (新狀態, 獎勵, 完成)。動作: ('read',f) ('edit',f) ('test',) ('submit',)"""
read, edited = state
if action[0] == "read":
read = read | {action[1]}
return (read, edited), 0.0, False
if action[0] == "edit":
if "main.py" in read:
edited = True
return (read, edited), 0.0, False
return (read, edited), -0.1, False # 沒讀就改: 小懲罰(模擬壞習慣)
if action[0] == "test":
return (read, edited), 0.0, False
if action[0] == "submit":
ok = edited and ("tests.py" in read) # 改了且測試過 → 成功
return (read, edited), (1.0 if ok else -0.5), True
ACTIONS = [("read","main.py"), ("read","utils.py"), ("read","tests.py"),
("edit","main.py"), ("test",), ("submit",)]
def rollout(policy):
state = (frozenset(), False)
traj, total, done = [], 0.0, False
while not done and len(traj) < 8:
a = policy(state, traj)
state2, r, done = env_step(state, a)
traj.append((state, a, r)); state = state2; total += r
return traj, total
# GRPO 式訓練: 策略是「在每個狀態下各動作的 logits」(小表格, 模擬 LLM 的條件策略)
logits = {s: np.zeros(len(ACTIONS)) for s in []} # 惰性建表
def get_logits(state):
key = (tuple(sorted(state[0])), state[1])
if key not in logits: logits[key] = np.zeros(len(ACTIONS))
return logits[key]
def policy(state, traj):
p = np.exp(get_logits(state) - get_logits(state).max())
return ACTIONS[np.random.choice(len(ACTIONS), p=p/p.sum())]
def softmax(z):
z = z - z.max(); e = np.exp(z); return e / e.sum()
for it in range(400):
group = [rollout(policy) for _ in range(8)] # 同策略採 8 條(組)
rewards = np.array([t[1] for t in group])
A = (rewards - rewards.mean()) / (rewards.std() + 1e-8) # GRPO 優勢
for (traj, _), adv in zip(group, A):
for s, a, _r in traj:
idx = ACTIONS.index(a)
key = (tuple(sorted(s[0])), s[1])
if key not in logits: logits[key] = np.zeros(len(ACTIONS))
logits[key][idx] += 0.3 * adv # 簡化的策略梯度上升
# 檢驗學到的策略
success = sum(rollout(policy)[1] == 1.0 for _ in range(200)) / 200
print(f"訓練後成功率: {success:.0%} (隨機策略約 15-25%)")
print("→ 這個 3 步任務是真實 agentic RL 的縮影:")
print(" 狀態=讀過的文件+改動(部分可觀測、遞增), 獎勵=提交時才揭曉(稀疏),")
print(" 『先讀後改再測』的工作流不是被教出來的, 是 RL 從組內相對優勢中長出來的。")
這個 3 步玩具是 2025 年 agentic RL(如 SWE-agent 類訓練)的精確縮影:狀態遞增且部分可觀測、獎勵只在回合末揭曉、策略從組內對比中習得「工作流」。把任務改為 10 步(需要讀多個文件、多輪測試)再跑,你會直觀看到樣本需求爆增——這就是前述「三道牆」第一道的實體感受。
本節重點#
- 合流的統一語言是 MDP:Agent 的「思考即動作」使 o1 的推理、agent 的操作、Dreamer 的想像在形式上同構——本書第 2 章的框架第三次(也是最大規模地)復用。
- Agentic RL 的四大挑戰(超長回合、採樣昂貴、探索困難、多輪信用分配)與對策(課程、非同步基礎設施、蒸餾初始化、步級優勢)——全部是本書舊問題的新規模版本。
- 世界模型的兩形態:Genie 類神經模擬器(無限多樣的訓練環境)與 LLM 內嵌的隱式動力學(CoT 中的內嵌 MPC);「更長的思考 = 更遠的規劃」是第 7 與第 9 章的合流點,同樣繼承誤差複合詛咒。
- 三道未解之牆:長時程信用分配、夢的保真度、非零和多智能體對齊——每道牆都對應本書一個已知理論極限的放大版。
- 從 Thorndike 的貓到 agentic RL,方法論不變:以結果評價行為、以回饋訊號塑造傾向、以模型與搜尋放大經驗。變的只是:行為空間從踩槓桿到寫代碼,回饋從食物到單元測試,模型從一隻貓的腦到數萬億參數。
思考問題#
- 「思考即動作」使 CoT 中的每一步都消耗 MDP 的時間步。請推演:這對「何時停止思考」給出了什麼樣的 RL 視角解釋(提示:思考的機會成本 vs. 期望增益),以及為何 o1 在簡單問題上會縮短思考?
- 玩具 agent 中把任務加長到 10 步,成功率與所需迭代次數如何變化?請據此估算:SWE-bench 級任務(數百步)需要什麼數量級的訓練基礎設施,以及為何「課程+蒸餾」成為必選。
- Genie 類模型生成的世界在物理邊角(摩擦、重力邊界)必然失真。請設計一個「夢中訓練 → 現實驗證」的轉移協議,包括:何時信任夢、何時回現實校準。
- 第 6 章說零和自我對弈有自我校正性,本節說非零和多智能體沒有。請構造一個多 agent 市場場景,說明「互相博弈的 agent」可能學出對人類社會有害但彼此穩定的均衡(如串謔定價),並提出一種獎勵設計的防禦。
- 全書回顧題:Thorndike 的效果律、Sutton 的 TD 誤差、PPO 的裁剪、RLHF 的偏好、RLVR 的可驗證獎勵——請用一條因果鏈把五者連起來,並指出鏈上哪一環你認為最可能在 2030 年前被根本改寫,為什麼?