跳到主要內容

【2026 最新】World Model 世界模型是什麼?3 個小實驗搞懂預測、生成與行動推演(新手白話篇)

最後更新: ·
World Model 世界模型教學首圖,以三條分岔路徑代表預測、生成與行動推演

World Model 世界模型最近同時出現在影片生成、機器人、AI Agent,甚至大型語言模型的討論裡。麻煩是:三個人說「世界模型」,可能正在談三種不同能力。有人只要求它猜下一幕,有人要它生出一個可探索的世界,有人則要它回答「如果機器人向左推,杯子接下來會怎樣?」

這篇專為完全沒有技術背景的讀者寫。你不需要懂神經網路,也不用下載模型;只要有 Python 3,就能用三個零依賴小實驗,把預測器、生成器與行動模擬器的差別親手跑出來。讀完後,你不只知道名詞,還會用一組跨產品都能套用的問題檢查新的「world model」宣稱。

先記住這條判斷式:觀察 oₜ → 狀態 sₜ;(狀態 sₜ+行動 aₜ) → 下一狀態 sₜ₊₁;重複推演=rollout。白話說,世界模型像一本能更新的內部筆記:先記住眼前世界的重要狀態,再試演不同動作會把世界帶去哪裡。

Table of Contents

World Model 世界模型先說結論:別看名字,先測功能

⚡ 三句話版:
一、預測回答「接下來常發生什麼」;生成抽出一個或多個看起來合理的未來;行動模擬回答「從同一狀態採取不同動作,未來會怎麼分岔」。
二、這三者是功能,不是互斥的產品身分;同一套模型可以同時具備多項能力。
三、逼真的影片只能證明輸出看起來像世界的一部分;要支援規劃,還要檢查狀態、action conditioning、反事實分岔與長程 rollout。

「世界模型」在不同研究脈絡指向的功能不完全相同。2018 年 David Ha 與 Jürgen Schmidhuber 的經典 World Models 工作,把視覺壓縮、記憶/動態預測與控制器拆開;其中動態模型學的是 P(zₜ₊₁|aₜ, zₜ, hₜ),也就是把當前壓縮狀態、行動與歷史記憶一起放進下一步預測。

World Labs 在 2026 年 6 月的功能分類提案更直接稱這個詞已被過度延伸,並依主要輸出討論 renderer(畫面/observation)、simulator(可計算的結構或 state)與 planner(action)。這是該團隊的分析框架,不是全領域的唯一字典,但提醒我們一件重要的事:不要問一個系統「是不是」世界模型;先問它接收什麼、產生什麼,以及能否讓行動改變未來。

World Model 世界模型的 5 個零件

① Observation「眼睛現在看到的切片」

Observation(觀察)是感測器在某一刻收到的資料,例如一張相機畫面、機器人的關節角度,或遊戲畫面。它不一定等於完整真相:杯子被紙箱擋住時,相機看不到杯子,不代表杯子從世界消失。

② State「能接續推理的內部筆記」

State(狀態)是系統用來延續推演的摘要。它可能是人看得懂的座標、速度與物件清單,也可能是神經網路裡的 latent representation(潛在表示)。好狀態不必逐像素抄寫世界,但要保留任務需要的資訊。只看球現在位於中央,無法知道下一刻往左或往右;把上一幀或速度記進 state,未來才不會因資訊不足而混在一起。

③ Dynamics「世界怎麼變的規則」

Dynamics(動態)描述狀態如何從 sₜ 走到 sₜ₊₁。確定性世界可以回傳一個結果;有隨機性的世界則回傳一個分布。天氣、摩擦、其他人的行為都可能讓同一動作有多種結果,所以「一次猜對」和「把不確定性校準好」是兩件事。

④ Action「我對世界做了什麼」

Action(行動)是介入:向左走、轉動方向盤、夾住杯子,或按下一個遊戲按鍵。若下一步只根據過去畫面生成,模型回答的是「通常會發生什麼」;把 aₜ 放進 dynamics,才可以比較「向左」與「向右」造成的不同後果。Meta 在 V-JEPA 2 的官方說明也刻意分開 action-free 預訓練與後續 action-conditioned 訓練:看懂變化,和讓特定動作進入預測,不是同一個介面。

⑤ Rollout「把下一步接成一條未來」

Rollout(展開推演)就是把預測出的下一狀態,再餵回模型繼續預測。一步像在地圖上走一格;rollout 則是先在腦中走完多條路。規劃器可以替候選路線打分,再選出更接近目標的一條。這也說明世界模型和 planner 的界線:前者提供「如果做了會怎樣」,後者再根據目標回答「那我該做哪一個」。

World Model 世界模型的預測器、生成器與行動模擬器功能判讀表
這是一張功能判讀表,不是三種互斥架構:同一個模型可以先預測分布、再抽樣生成,也可以把 action 納入條件做 rollout。

World Model 世界模型小實驗:用 1 支 Python 檔跑出三種差別

下面不是神經網路訓練,而是一個故意縮小的格子世界。它把介面差異單獨拉出來,讓你看到「資訊缺口」究竟發生在哪裡。把程式存成 world_model_lab.py,執行 python3 world_model_lab.py;只用 Python 標準庫,不需要 pip install

from collections import Counter
from random import Random

WIDTH = 5

def frame(position):
    cells = ["."] * WIDTH
    cells[position] = "A"
    return "".join(cells)

def step(position, action):
    delta = {"L": -1, "R": 1}[action]
    return max(0, min(WIDTH - 1, position + delta))

print("實驗 1|只看當下的預測器")
current = 2
observed_next = [3, 3, 3, 1, 1]
prediction = Counter(observed_next).most_common(1)[0][0]
print("相同觀察:", frame(current))
print("資料中的下一格:", [frame(x) for x in observed_next])
print("多數票預測:", frame(prediction))
print("看不見的資訊:移動方向/先前畫面\n")

print("實驗 2|會抽樣的生成器")
rng = Random(7)
generated = rng.choices([1, 3], weights=[2, 3], k=8)
print("八個合理樣本:", [frame(x) for x in generated])
print("介面收到 action 嗎?", False)
print("因此它展示可能性,卻沒有收到『指定向左』這個條件\n")

print("實驗 3|行動條件模擬器")
print("同一狀態 + L:", frame(step(current, "L")))
print("同一狀態 + R:", frame(step(current, "R")))

def rollout(start, actions):
    states = [start]
    for action in actions:
        states.append(step(states[-1], action))
    return states

goal = 4
candidates = ["LL", "LR", "RL", "RR"]
scored = [(abs(goal - rollout(current, a)[-1]), a) for a in candidates]
best = min(scored)[1]
for actions in candidates:
    print(actions, "->", [frame(x) for x in rollout(current, actions)])
print("離目標最近:", best)

實驗 1:預測器為什麼需要 state?

痛點:畫面都是 ..A..,下一格卻可能在左邊或右邊。做法:只用當前位置,讓多數票預測器選資料中最常見的下一格。你會看到:它輸出 ...A.,但這只是資料裡「向右」較常見;若真實個體原本正向左移,它就猜錯。

這不是模型太小,而是輸入資訊不夠。解法是把先前畫面、速度或能代表歷史的 latent state 加進去。換句話說,representation 只有在保留了推演所需資訊時,才對 dynamics 有用;一個漂亮的 embedding 圖本身不會替你證明它能預測未來。

實驗 2:生成器能給可能性,但有沒有聽你的 action?

痛點:只給一個答案,容易把「未來其實有多種可能」藏起來。做法:讓生成器依資料比例抽樣,固定 seed 後產生八個可重複檢查的結果。你會看到:左、右兩種合理樣本都會出現;多樣性比單一多數票更完整。

但請看函式介面:抽樣時沒有傳入 action。所以這個特定生成器能回答「可能長什麼樣」,卻沒有足夠輸入回答「我指定向左會怎樣」。這是檢查影片生成宣稱的第一個反例:會抽出合理未來,不等於能做受行動控制的反事實推演。

實驗 3:action-conditioned rollout 怎麼變成規劃材料?

痛點:Agent 要比較路線,不能只看一個最常見未來。做法:step(position, action) 同時接收狀態與動作,再把 LL/LR/RL/RR 各自 rollout 兩步。你會看到:同一個 ..A.. 配上 LR 立即分岔;目標在最右邊時,RR 的終點距離為零。

這個 step 是人手寫的規則,不是從資料學到的模型,也沒有像素、隨機性或摩擦。它證明的範圍很窄:一個可供規劃的最小介面,需要 state、action、transition 與可反覆呼叫的 rollout。把規則換成學習到的神經網路,就是許多 model-based reinforcement learning 系統的方向。Dreamer 的同行評審論文便讓世界模型預測候選 action 的結果,再由 actor 與 critic 學習選擇。

把影片生成、VLA 與內部 representation 放進同一張地圖

影片生成模型:先問它是 renderer,還是可干預的 simulator

文字或圖片生成影片,最直接的輸出是給人看的 observation。若產品還能在每一步接收鍵盤、滑鼠或機器人 action,並讓隱藏狀態跨遮擋與回訪延續,它就多了互動模擬的功能。Google DeepMind 對 Genie 3 的描述很清楚:Agent 提供導航動作,系統依動作模擬未來;Agent 的目標則在系統外部。這正好把 simulator 與 planner 分開。

AlphaLab 先前分析FLUX 3 是否因共用多模態骨幹就成為世界模型,以及World Labs Atlas 的鏡頭控制與物理模擬差距,都是同一套檢查:輸出很漂亮是能力之一,但還要追問狀態是否穩定、行動是否可控、結構是否能被計算與驗證。

VLA:它通常輸出 action,未必等於負責模擬後果的模組

VLA 是 Vision-Language-Action:把影像與語言指令轉成機器人動作。以 Google DeepMind 的 RT-2 為例,輸出就是離散化的控制 action。這讓 VLA 更接近 policy/planner 的位置;至於完整系統是否另有 action-conditioned dynamics,要看架構與訓練目標,不能只從「VLA」三個字推定。

想看兩者如何接在一起,可以延伸讀GigaBrain-0.7 如何用 future subgoal 引導機器人 VLA。判讀重點不是「機器人有沒有動」,而是系統哪一層負責想像後果、哪一層選 action、最後用什麼真機結果驗收。

內部 representation:它是 state 的候選,不是完整功能清單

模型內部當然可以形成對物件、空間與時間有用的 representation。但要把它當成可操作的世界模型證據,至少要接著問:能否從這個 state 預測下一 state?能否把 action 當條件?能否 rollout 多步並支援下游任務?Meta 的 V-JEPA 2 把 encoder 與 predictor 分成兩個元件,也顯示「把畫面編成 embedding」和「在 embedding 空間預測」是不同功能。

逼真影片為什麼不自動等於懂物理?用 4 個反例測

  1. 反事實測試:固定起始狀態,只改 action。若結果沒有依干預合理分岔,漂亮畫面仍不足以支援控制。
  2. 遮擋測試:物件走到牆後再出現。檢查身分、數量、位置關係是否延續,而不是只看單幀材質。
  3. 守恆與接觸測試:追蹤碰撞、重力、質量與物體穿透。WorldModelBench 的原始評測刻意把 instruction following、common sense 與 physical adherence 分開,正因三者不能互相代替。
  4. 長程 rollout 測試:比較第 1 步、第 10 步與更遠處的狀態誤差。每一步的小偏差都可能成為下一步輸入,最後把 Agent 帶進模型自己製造的捷徑。

這裡的結論不是「影片模型都不懂物理」,而是一支精選 demo 無法單獨證明物理可靠性。VideoPhy 2 的原始研究用動作導向資料,把語意符合與物理常識分開做人類評估;結果顯示它測試的模型在 hard subset 仍有明顯落差。這是特定資料集與當時模型的觀察,不是對所有後來版本的永久排名。

同樣地,做 3D 世界或 Agent benchmark 時,也要分清「能生成場景」和「能讓 Agent 在一致規則裡被評估」。AlphaLab 的VibeWorlding benchmark 解讀示範了另一個常見陷阱:生成器、被測 Agent 與評分器若繞成一圈,漂亮總分仍需要外部證據校準。

看到新的 World Model 宣稱,照這 5 問判讀

  1. 輸入是什麼?只有文字 prompt、單張圖、歷史畫面,還是明確包含 action?
  2. 輸出是什麼?給人看的 pixels、可供程式計算的 state,還是直接輸出 action?
  3. 記得什麼?物件暫時被遮住後,身分與空間關係能否在 state 裡延續?
  4. 能否做反事實?同一起點換一個 action,未來是否出現方向正確、可重複檢查的分岔?
  5. 如何驗收?除了精選影片,是否有長程一致性、物理、控制成功率或下游 Agent 表現;模型自報與獨立評測是否分開?

你可以把這五問接到AI Agent Harness的 eval 層:每次更換模型,就固定初始 state、action 序列與驗收條件,保存 rollout。若要把它做成可重複的程式流程,再看從零建立 AI Agent Harness,把本篇的小格子世界換成自己的任務。

常見誤區:5 個看起來很像、其實差一層的說法

  • 「能生成」=「能模擬」:先檢查輸出是否只追求觀感,或還能維持可計算、可干預的狀態。
  • 「有 latent」=「有 dynamics」:latent 是筆記格式;dynamics 才是翻到下一頁的方法。
  • 「單步準」=「長程可靠」:rollout 會把自己的輸出再當輸入,誤差可能逐步累積。
  • 「會預測後果」=「會選最佳動作」:模擬器產生候選未來;planner 還需要目標、評分與搜尋。
  • 「demo 很像真的」=「可用來訓練機器人」:訓練環境還要讓 action、幾何、接觸與成功條件保持可信。

World Model 世界模型 FAQ

1. 世界模型一定要生成影片嗎?

不一定。它可以直接在座標、物件圖或 latent state 裡預測,不必把每一步解碼成人眼可看的 pixels。Dreamer 類方法便主要在抽象表示裡想像未來。

2. 影片生成模型就是世界模型嗎?

要看你採用的功能定義。它可能已具備 observation prediction/renderer 能力;若要把它當成行動模擬器,還要另外驗證 action conditioning、狀態延續、反事實一致性與 rollout。

3. 只會預測下一幀,算世界模型嗎?

在寬鬆用法裡可以算預測核心,但不能因此推定它能規劃。規劃還需要把 action 放進轉移、展開多步候選,並依目標選擇。

4. VLA 就是世界模型嗎?

不一定。VLA 的名稱告訴你它把 vision、language 連到 action;它可能是 policy/planner,也可能與額外的 predictive model 組成完整系統。要看架構,不看縮寫猜答案。

5. 大型語言模型內部有世界模型嗎?

只看流暢回答,不能下結論。比較可驗證的問題是:模型能否在未見干預下追蹤狀態、預測不同 action 的結果,並在反事實與長程測試保持一致。研究者對「內部表示到什麼程度算世界模型」仍採用不同操作定義。

6. Observation 和 state 有什麼差別?

Observation 是這一刻收到的切片;state 是為了接續推演而保留的摘要。單張照片可能看不到速度與被遮住的物件,state 可以透過歷史把這些資訊帶到下一步。

7. Rollout 越長越好嗎?

不是。更長會看得更遠,也會把每一步誤差帶到下一步。實務上要畫出「誤差隨 horizon 怎麼變」,並在真實 observation 到來時重新校正,而不是只展示最順的一條長影片。

8. 新手最先該測哪一件事?

先做同一起點、兩個 action 的 A/B。如果兩條未來沒有按干預合理分岔,就先別談複雜規劃;若能分岔,再逐步加入遮擋、隨機性與更長 rollout。

給新手的 5 個重點

  1. 把世界模型當成可更新、可向前推演的內部筆記,不要先被產品名字綁住。
  2. Observation 是看到的切片;state 是為下一步保留的任務相關資訊。
  3. Prediction 與 generation 可以重疊;action conditioning 才讓「如果我這樣做」進入問題。
  4. Simulator 預測後果,planner 選動作;兩者可以合作,但功能不同。
  5. 評估時固定起點、改 action、看分岔,再檢查遮擋、物理與長程 rollout。

接著閱讀

左右滑動查看更多推薦

結語:先跑兩條分岔,再相信一個「世界」

回到最前面的式子:oₜ → sₜ;(sₜ, aₜ) → sₜ₊₁;重複=rollout。預測器讓你猜下一步,生成器讓你看到多種可能,行動模擬器則把「你的選擇」放進未來;planner 再利用這些未來做決定。

現在就複製本文程式,先把 goal4 改成 0,確認最佳 action sequence 是否從 RR 變成 LL;接著把牆、隨機滑動或被遮住的物件加進 state。當你能說清楚每一項新增資訊屬於 observation、state、dynamics 還是 action,你就真的掌握了 World Model 世界模型。想把這套思考擴成自己的 AI 工作流,可接著走訪 AlphaLab 的完整課程

ALPHALAB 社群

有問題?來 Telegram 聊

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

加入 Telegram 討論

📩 訂閱 AlphaLab 電子報

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

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