← Archive
lm-002089 · 2026-08

04_從狀態機到世界狀態機_AI為何不應每輪重新理解世界

下載 MD 檔 ⬇

從狀態機到世界狀態機:AI 為何不應每輪重新理解世界

系列:狀態驅動的本地具身 AI|第 4 篇
版本:v0.1
日期:2026-08-01


摘要

今日許多 LLM Agent 與具身 AI 系統仍保留一種「請求式心智」結構:每當新輸入到來,系統把對話歷史、工具輸出、感知摘要、任務資訊與部分程式說明重新塞回模型,要求模型再次判斷「現在發生了什麼」。這種方法在短任務中簡單有效,但當系統需要長時間存在、持續感知、控制實體裝置或跨設備協作時,會產生上下文重讀、狀態漂移、歷史膨脹、延遲、費用與不一致等問題。

本文提出「世界狀態機(World-State Machine)」作為一種 Runtime 架構,而不是新的生成式 world model。其核心原則是:世界應被視為持續演化的狀態,而不是每一輪重新從完整歷史中重建的文字敘事。 系統以事件增量更新目前狀態:

St+1=U(St,Et+1,At),S_{t+1}=U(S_t,E_{t+1},A_t),

大型模型只取得與當前任務相關的狀態投影:

Ct(m)=ϕm(St,Gt,Qt),C_t^{(m)}=\phi_m(S_t,G_t,Q_t),

而不是完整歷史 HtH_t

這個想法並非脫離既有理論。POMDP 的 belief state 是完整 action-observation history 的 sufficient statistic;機器人世界模型的工程文獻也長期把 world model 定義為可由其他元件 tell/ask 的持續世界狀態;近期 LLM Agent 研究則再次顯示 state tracking、finite-state memory 與 persistent world model 對長程任務可靠性具有顯著價值。

本文進一步提出三層資料結構:事件日誌、物化世界狀態、模型專用投影,並把不確定性、來源、時間戳、衝突與陳舊性納入狀態單元。這使「世界狀態」不再只是簡化的 key-value cache,而成為具身 AI、長期 Agent 與未來個人 AI Runtime 的核心執行基礎。

關鍵詞: 世界狀態機、世界模型、Agent State、POMDP、Belief State、事件驅動、Event Sourcing、持續狀態、LLM Agent、具身智能


1. 從一個很常見但昂貴的 Agent 迴圈開始

最常見的 LLM Agent 可以粗略寫成:

User / Sensor Input
        ↓
Collect History
        ↓
Build Prompt
        ↓
LLM Re-understands Context
        ↓
Choose Tool / Action
        ↓
Append Result to History
        ↓
Repeat

形式上:

at=M(Ht,ot),a_t=M(H_t,o_t),

其中:

Ht=(o0,a0,o1,a1,,ot1,at1)H_t=(o_0,a_0,o_1,a_1,\ldots,o_{t-1},a_{t-1})

代表累積歷史。

這種架構有一個隱藏前提:

當前世界可以藉由重新閱讀歷史而重新理解。

在幾輪聊天中,這很合理。

但若 Agent 連續運作數小時、數天甚至數月,問題便開始出現:

HtContext Cost,Latency,State Ambiguity.|H_t|\uparrow \quad\Longrightarrow\quad \text{Context Cost}\uparrow, \text{Latency}\uparrow, \text{State Ambiguity}\uparrow.

更糟的是,歷史不是世界本身。

「五分鐘前門是開的」並不代表「門現在仍然是開的」。

因此:

HistoryCurrent State\boxed{ \text{History} \neq \text{Current State} }

這是從聊天系統走向長期 Agent 時最重要的架構轉折之一。


2. 世界不是每輪重新生成,而是在變化

如果機器人知道:

門:關閉
主人:客廳
電量:63%
任務:等待主人

下一秒只發生:

事件:主人走進廚房

那麼合理的更新是:

主人:客廳
    ↓
主人:廚房

而不是把過去三小時的攝影機描述、對話紀錄、導航日誌全部重新交給大模型,請它再次判斷主人在哪裡。

形式上:

St+1=U(St,Et+1,At).S_{t+1} = U(S_t,E_{t+1},A_t).

其中:

  • StS_t :目前世界狀態;
  • Et+1E_{t+1} :新事件/觀測;
  • AtA_t :上一輪行動;
  • UU :狀態更新算子。

這裡真正處理的是:

ΔSt,\Delta S_t,

而不是重新求:

St=f(Ht)S_t=f(H_t)

的完整重建。

因此世界狀態機的第一條原則是:

Update the difference; do not repeatedly reconstruct the whole.\boxed{ \text{Update the difference; do not repeatedly reconstruct the whole.} }

3. POMDP 早就提供了一個重要數學直覺

真實世界通常不是完全可觀測的。

我們不能直接知道真實狀態 sts_t ,只能取得 observation:

ot.o_t.

在 POMDP 中,可以維持 belief state:

bt(s)=P(st=sHt).b_t(s) = P(s_t=s\mid H_t).

而 belief state 有一個非常重要的理論性質:在標準 POMDP 假設下,它是完整 action-observation history 的 sufficient statistic。

也就是:

π(Ht)=π(bt).\pi^*(H_t) = \pi^*(b_t).

控制策略不必每次把完整歷史當輸入,只要有正確更新後的 belief state 即可。

其更新可以抽象成:

bt+1=τ(bt,at,ot+1).b_{t+1} = \tau(b_t,a_t,o_{t+1}).

這與本文想表達的世界狀態機非常接近:

St+1=U(St,At,Et+1).S_{t+1} = U(S_t,A_t,E_{t+1}).

但必須強調:

任意壓縮狀態都不是 sufficient statistic。

只有當 StS_t 保留了當前任務真正需要的資訊,它才可以取代完整歷史。

因此,世界狀態機不是「把歷史摘要一下」。

它是一個持續被校正、被驗證、面向決策而設計的狀態表示。


4. 「世界模型」這個詞其實有兩種不同意思

今天談 world model,很容易混淆兩類東西。

第一類是:

Predictive / Generative World Model\text{Predictive / Generative World Model}

例如學習:

P(St+1St,At)P(S_{t+1}\mid S_t,A_t)

甚至生成未來影像、物理軌跡或多模態世界。

第二類則是傳統機器人軟體架構中的:

World State Representation.\text{World State Representation}.

2023 年的《Robotic world models—conceptualization, review, and engineering best practices》回顧了數十年的機器人 world model 文獻,並把 world model 描述為內部表示世界狀態、讓其他模組透過 tell/ask 介面更新與查詢的軟體元件。

本文主要談的是第二種:

World-State Runtime\boxed{ \text{World-State Runtime} }

它不一定需要生成未來。

也不一定是神經網路。

它首先要回答:

現在,系統相信世界是什麼狀態?

未來的 predictive world model 可以接在這個 Runtime 上,但兩者不應概念混用。


5. 世界狀態不是一個巨大 JSON

最粗糙的實作可能是:

{
  "user_location": "kitchen",
  "battery": 63,
  "door": "closed"
}

這可以作為 MVP,但長期系統還不夠。

因為真實世界的狀態至少需要:

xi=(vi,ci,ti,si,i),x_i= (v_i,c_i,t_i,s_i,\ell_i),

其中:

  • viv_i :value;
  • cic_i :confidence;
  • tit_i :timestamp;
  • sis_i :source;
  • i\ell_i :lifetime / staleness policy。

例如:

user.location = kitchen
confidence = 0.91
timestamp = 12:31:05
source = camera_2
valid_for = 5 sec

這與:

user.name = Neo
confidence = 1.0
source = identity_database
valid_for = persistent

不是同一種類型的狀態。

所以:

State Value+Epistemic Metadata\boxed{ \text{State Value} + \text{Epistemic Metadata} }

才構成真正可維護的世界狀態。


6. 狀態至少要分成五類

一個長期具身 Agent 可以把 StS_t 分成:

St=(Pt,Dt,Tt,Rt,Bt,Mt).S_t= ( P_t, D_t, T_t, R_t, B_t, M_t ).

6.1 Physical State:物理世界

例如:

  • 人的位置;
  • 門是否開啟;
  • 障礙物;
  • 房間;
  • 光線;
  • 溫度;
  • 物體姿態。

6.2 Device State:自身裝置

例如:

  • 電量;
  • 馬達;
  • 網路;
  • 攝影機;
  • 充電狀態;
  • 故障;
  • CPU/NPU 負載。

6.3 Task State:任務

例如:

  • 當前目標;
  • 子任務;
  • pending tool calls;
  • checkpoint;
  • 失敗次數;
  • timeout。

6.4 Relational / Social State:關係與互動

例如:

  • 誰正在與我說話;
  • 上一個對話主題;
  • 是否正在等待回答;
  • 對方是否剛離開;
  • 某個互動是否被打斷。

6.5 Belief State:不確定狀態

例如:

主人可能在:
廚房 0.65
書房 0.28
其他 0.07

世界狀態不應假裝所有資訊都確定。


6.6 Memory State:長期可檢索狀態

例如:

  • 穩定偏好;
  • 歷史事件;
  • 人物知識;
  • 長期計畫;
  • 技能紀錄。

Memory 與 Current State 必須分開:

What was trueWhat is true now.\boxed{ \text{What was true} \neq \text{What is true now}. }

7. 三層資料結構:Event、State、View

本文建議把世界狀態 Runtime 拆成三層。


Layer 1:事件日誌

保存:

Lt=(e1,e2,,et).L_t=(e_1,e_2,\ldots,e_t).

例如:

12:30:01 camera_1 sees user in living_room
12:30:03 user says "我要去拿水"
12:30:07 camera_2 sees user in kitchen
12:30:08 robot pauses follow mode

事件最好盡量 append-only。

這與軟體架構中的 Event Sourcing 有相似性:事件不是直接被覆蓋,而是作為狀態變化的歷史來源。


Layer 2:物化世界狀態

從事件更新出:

St=Reduce(St1,et).S_t=\operatorname{Reduce}(S_{t-1},e_t).

目前可能是:

user.location = kitchen
robot.mode = waiting
current_dialogue = paused
battery = 63%

日常決策直接讀取這一層,不必每次重播完整事件。


Layer 3:模型專用 View

不同模型不應取得整個 StS_t

而應由投影函數:

Ct(m)=ϕm(St,Gt,Qt)C_t^{(m)} = \phi_m(S_t,G_t,Q_t)

生成需要的上下文。

例如語言模型只看到:

Current user: Neo
Current location: kitchen
Dialogue state: paused 8 seconds ago
Last utterance: "我要去拿水"
Current robot task: waiting

導航模型可能只看到:

robot_pose
local_map
obstacles
target_pose

安全控制器甚至只需要:

velocity
distance_to_human
cliff_sensor
motor_status

因此:

One World StateMany Task-Specific Views\boxed{ \text{One World State} \rightarrow \text{Many Task-Specific Views} }

這比「每個模型自己重新理解世界」穩定得多。


8. 為什麼 Event Log 與 Current State 都要保留?

如果只保存 Current State:

door = closed

我們不知道:

  • 它一直是關的?
  • 剛被主人關上?
  • 感測器重新校正?
  • 之前曾打開?

如果只保存 Event Log,則每次都必須:

St=Reduce(e1,,et),S_t=\operatorname{Reduce}(e_1,\ldots,e_t),

長期成本又會上升。

因此實務上可以:

Snapshot+Event Delta\boxed{ \text{Snapshot} + \text{Event Delta} }

例如每隔一段時間建立 snapshot:

S^k,\hat S_k,

之後只需要 replay:

ek+1,,et.e_{k+1},\ldots,e_t.

這同時提供:

  • 快速查詢;
  • 稽核;
  • replay;
  • debug;
  • 歷史重建;
  • 當前狀態。

9. 世界狀態最大的敵人不是遺忘,而是「錯誤地確定」

具身世界充滿感知錯誤。

攝影機可能誤認。

聲音可能從另一個房間傳來。

GPS 會漂移。

物體會被人移動。

因此狀態更新不能總是:

new observation
→ overwrite old value

更合理的是:

St+1=Fuse(St,Et+1,confidence,source,age).S_{t+1} = \operatorname{Fuse} ( S_t, E_{t+1}, \text{confidence}, \text{source}, \text{age} ).

例如:

camera_1: user in kitchen, conf 0.72
microphone: user voice from living room, conf 0.55
phone: user device in kitchen, conf 0.94

系統可以維持 belief:

P(kitchen)=0.86,P(living room)=0.12.P(\text{kitchen})=0.86, \qquad P(\text{living room})=0.12.

而不是強迫現在只能有一個布林真值。

這就是為什麼「世界狀態」與 POMDP belief state 之間有深刻連接。


10. 時間本身必須進入狀態

許多 Agent 錯誤並不是資訊錯,而是資訊過期。

例如:

door = open

若這筆資料來自半小時前,就可能毫無意義。

因此可以定義:

freshness(xi,t)=f(tti,i).\operatorname{freshness}(x_i,t) = f(t-t_i,\ell_i).

當:

freshness<θ,\operatorname{freshness}<\theta,

狀態應轉成:

unknown / stale\text{unknown / stale}

而不是繼續當作真實事實。

所以:

Persistent StatePermanent Truth\boxed{ \text{Persistent State} \neq \text{Permanent Truth} }

持續保存的是「目前最好的信念」,不是把曾經觀測到的一切永久視為真。


11. LLM 應讀「狀態投影」,不是資料庫全文

假設完整世界狀態有十萬個欄位。

模型不需要知道:

  • 每個馬達的 PWM;
  • 所有攝影機 frame ID;
  • 每個背景感測器;
  • 無關人物的位置;
  • 幾年前的所有對話。

模型只需要:

ϕ(StGt),\phi(S_t\mid G_t),

即:

對當前目標 GtG_t 有決策價值的狀態投影。

如果任務是:

回答主人剛才問的問題。

則需要:

  • 當前人物;
  • 對話狀態;
  • 問題內容;
  • 相關記憶;
  • 可用工具。

如果任務是:

返回充電座。

語言人格資料幾乎沒有必要。

因此:

State Selection is part of intelligence.\boxed{ \text{State Selection} \text{ is part of intelligence.} }

不是「上下文越多越聰明」。

有時:

Less but relevant context>More but noisy context.\text{Less but relevant context} > \text{More but noisy context}.

12. 近期 LLM Agent 研究已經開始重新發現這個問題

2025 年 ACL REALM Workshop 的 StateAct 直接加入 state-tracking,並報告在 ALFWorld、TextCraft、WebShop 等 benchmark 相較 ReAct 有明顯提升。

2025 年提出的 SciBORG 則使用 finite-state automata memory,讓 Agent 能持續追蹤狀態並在工具或執行失敗後恢復。

2025 年 EMNLP Findings 的 CoEx 更直接指出:若 Agent 只依賴 LLM 預訓練得到的靜態「內部世界模型」,卻不能把新的 observations 持續寫入動態世界模型,長期規劃會逐漸與真實世界失配。該工作因此維持 persistent neurosymbolic belief state。

換句話說,LLM Agent 領域正在重新碰到機器人與控制理論很早就知道的一件事:

Reasoning needs state.\boxed{ \text{Reasoning needs state.} }

13. 世界狀態機與普通 FSM 有什麼不同?

普通 FSM 常寫成:

qt+1=δ(qt,et),q_{t+1} = \delta(q_t,e_t),

其中 qtq_t 通常是有限離散狀態,例如:

Idle
Active
Charging
Fault

世界狀態機則不是一個單一有限枚舉。

它更接近:

St={xt1,xt2,,xtn},S_t = \{ x_t^1,x_t^2,\ldots,x_t^n \},

其中每個局部狀態可以有:

  • 離散值;
  • 連續值;
  • 機率;
  • 時間;
  • 關係;
  • 任務狀態;
  • 記憶指標。

因此:

FSMWorld-State Runtime.\text{FSM} \subset \text{World-State Runtime}.

FSM 可以成為其中某一個 component,例如:

Stdevice.S_t^{\mathrm{device}}.

但世界狀態機的重點是讓所有子系統共享:

當前世界的一致可查詢表示。


14. 世界狀態也不能成為新的「上帝資料庫」

這裡需要防止另一個極端。

如果所有模組都可以任意寫入同一份全域狀態,系統很快會變成:

  • 強耦合;
  • 欄位衝突;
  • 難以追蹤;
  • 更新循環;
  • 資料權限混亂。

因此 world state 應有明確 ownership。

例如:

physical.pose
    owner = localization_service

battery.level
    owner = power_service

task.current
    owner = task_runtime

social.attention_target
    owner = interaction_runtime

其他模組可以:

ask,\text{ask},

但未必可以直接:

write.\text{write}.

這與機器人 world model 文獻提出的 tell/ask boundary 思想高度一致。

所以統一狀態不等於「所有東西直接共享記憶體」。

它應該是:

Logical Single World+Controlled Update Authority\boxed{ \text{Logical Single World} + \text{Controlled Update Authority} }

15. 模型輸出也必須變成事件,而不是直接偷偷改狀態

假設 LLM 說:

「主人應該已經回家了。」

它不能直接寫:

user.location = home

更合理的是產生:

inference_event:
  hypothesis = user_is_home
  confidence = 0.61
  source = llm_inference

然後世界狀態 Runtime 再決定是否更新 belief。

也就是:

LLM InferenceEventValidationState Update.\text{LLM Inference} \rightarrow \text{Event} \rightarrow \text{Validation} \rightarrow \text{State Update}.

這與上一篇的:

LLM ProposalExecution Command\text{LLM Proposal} \neq \text{Execution Command}

完全一致。

在這裡變成:

LLM StatementWorld Truth\boxed{ \text{LLM Statement} \neq \text{World Truth} }

模型可以提出世界解釋,但不能靠一句生成文字自行改寫現實。


16. 狀態修正比狀態更新更重要

假設系統原先相信:

P(user in office)=0.9.P(\text{user in office})=0.9.

突然新的可靠感測器顯示:

P(user at home)=0.99.P(\text{user at home})=0.99.

好的 Runtime 必須允許:

StStS_t \rightarrow S_t'

進行 revision。

甚至必要時回溯:

哪些計畫是建立在舊錯誤狀態上的?

所以每個計畫最好保存依賴:

Depends(Plani)={x3,x7,x21}.\operatorname{Depends}(Plan_i) = \{x_3,x_7,x_{21}\}.

當其中關鍵 state 被 invalidated:

x7invalid,x_7\rightarrow\text{invalid},

可以觸發:

Planireplan.Plan_i\rightarrow\text{replan}.

這使世界狀態機真正變成動態決策基礎,而不是一個被動 cache。


17. 從世界狀態到事件驅動 AI

有了持續狀態,就不必讓大模型一直輪詢:

有沒有事情發生?

系統可以定義:

Trigger(Et,St).Trigger(E_t,S_t).

只有某些事件滿足條件時:

Trigger=1,Trigger=1,

才啟動特定智能模組。

例如:

Battery < 15%
→ charging policy

Known person enters room
→ social interaction runtime

Unknown object blocks route
→ perception escalation

Ambiguous human request
→ LLM

Routine sensor noise
→ no LLM

於是:

Persistent State+Event TriggerSparse Intelligence Invocation\boxed{ \text{Persistent State} + \text{Event Trigger} \rightarrow \text{Sparse Intelligence Invocation} }

這將直接導向第 5 篇:

《按需智能:事件驅動、多模型路由與稀疏推理》


18. 一個完整的 World-State Runtime

可以將目前架構整理成:

Sensors / Apps / Humans / Tools
            │
            ▼
       Event Normalizer
            │
            ▼
      Append-only Event Log
            │
            ▼
     State Update / Fusion
            │
            ▼
   ┌─────────────────────┐
   │   WORLD STATE       │
   │ physical            │
   │ device              │
   │ task                │
   │ social              │
   │ belief              │
   │ memory refs         │
   └─────────┬───────────┘
             │
       State Projection
       /      |       \
      /       |        \
 Safety      BT/FSM     LLM
 Runtime     Runtime    Context
      \       |        /
       \      |       /
             ▼
        Action Proposal
             │
             ▼
          Actuator
             │
             ▼
       New World Events

這形成閉環:

StAtEt+1St+1.S_t \rightarrow A_t \rightarrow E_{t+1} \rightarrow S_{t+1}.

AI 不再只是一個問答函數。

它成為一個持續存在於狀態演化中的決策系統。


19. 這對本地 AI 特別重要

雲端模型可以很強,但本地裝置有:

  • 電量限制;
  • 網路中斷;
  • 記憶體限制;
  • 延遲;
  • 隱私要求。

如果所有智能都依賴:

Upload Whole ContextCloud Reasoning,\text{Upload Whole Context} \rightarrow \text{Cloud Reasoning},

系統很難真正持續。

但若本地一直維持:

St,S_t,

雲端模型只需要偶爾收到:

ϕ(St),\phi(S_t),

則:

  • 傳輸資料減少;
  • 隱私暴露減少;
  • 雲端斷線仍能維持狀態;
  • 換模型不會失去「現在是什麼狀況」;
  • 同一世界狀態可以被不同模型共享。

因此:

The persistent intelligence substrate is state, not necessarily the largest model.\boxed{ \text{The persistent intelligence substrate is state, not necessarily the largest model.} }

這一點會在第 7、8 篇的本地 AI 手機與跨設備 AI 主腦再次出現。


20. 結論

當 AI 只是一個被動聊天工具時:

PromptResponse\text{Prompt} \rightarrow \text{Response}

已經足夠。

但當 AI 需要長時間生活在一個持續變化的世界中,架構必須變成:

St+Et+1+AtSt+1\boxed{ S_t + E_{t+1} + A_t \rightarrow S_{t+1} }

然後模型只處理:

ϕ(St,Gt,Qt).\phi(S_t,G_t,Q_t).

完整歷史仍然可以保存。

但歷史的角色是:

  • 稽核;
  • 回放;
  • 記憶;
  • 重建;
  • 學習;

而不是每一輪都重新充當「現在」。

因此本文最核心的區分是:

History stores how we got here;State tells us where we are now.\boxed{ \text{History stores how we got here;} \qquad \text{State tells us where we are now.} }

當這個區分成立後,大型模型才真正有可能從一個反覆被 Prompt 喚醒的函數,變成一個可以在持續世界中按需出現的高階智能模組。

下一步也因此非常自然:

如果世界狀態已經一直存在,大模型還有必要一直運行嗎?

答案很可能是否定的。

第 5 篇將正式進入:

事件驅動、多模型路由與稀疏推理。


參考資料

  1. Paquet, S., Tobin, L., & Chaib-draa, B. Online Planning Algorithms for POMDPs.
    PMC: https://pmc.ncbi.nlm.nih.gov/articles/PMC2748358/

  2. Aberdeen, D., Buffet, O., & Thomas, O. (2007). Policy-Gradients for PSRs and POMDPs. AISTATS.
    https://proceedings.mlr.press/v2/aberdeen07a.html

  3. Tedrake, R. Underactuated Robotics — Planning Under Uncertainty. MIT.
    https://underactuated.csail.mit.edu/belief.html

  4. Waibel, M. et al. (2023). Robotic world models—conceptualization, review, and engineering best practices. Frontiers in Robotics and AI.
    https://www.frontiersin.org/journals/robotics-and-ai/articles/10.3389/frobt.2023.1253049/full

  5. Rozanov, N., & Rei, M. (2025). StateAct: Enhancing LLM Base Agents via Self-prompting and State-tracking. REALM 2025, ACL Anthology.
    https://aclanthology.org/2025.realm-1.27/

  6. Muhoberac, M. et al. (2025). State and Memory is All You Need for Robust and Reliable AI Agents.
    https://arxiv.org/abs/2507.00081

  7. Kim, M., & Hwang, S.-w. (2025). CoEx – Co-evolving World-model and Exploration. Findings of EMNLP 2025.
    https://aclanthology.org/2025.findings-emnlp.1179/

  8. AWS Prescriptive Guidance. Event sourcing pattern.
    https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/event-sourcing-pattern.html

  9. Dixon, M. F. (2026). Model Validation of Agentic AI Systems: A POMDP-Based Framework for Belief-State, Forecast, and Policy Validation.
    https://arxiv.org/abs/2606.17383