觀察者看不到的自由度
從功能契約到自適應世界狀態機
English Title: Freedom Beyond the Observer: From Functional Contracts to Adaptive World-State Machines
系列:《觀測保持型自適應計算》(Observer-Preserving Adaptive Computation, OPAC)第 3 篇
系列編號: EML-OPAC-2026-03
作者: Neo.K
協作整理: Aletheia
機構: EveMissLab/一言諾科技有限公司
版本: v0.1
日期: 2026-08-10
文件定位: 世界狀態機/Adaptive Tick/Simulation LOD/Aggregate–Expand/Persistent Sandbox
證據成熟度: E0–E1。Adaptive timestep、multithreaded subsystem、every-frame script 等公開工程 primitive 已存在;本文提出的 Observer-Preserving World Simulation(OPWS)與世界狀態自由度分層,仍屬 OPAC 的新理論/工程框架。
摘要
前兩篇 OPAC 論文建立:
Stable Observable Identity+Mutable Implementation Form
以及:
[P]C,Ω,D,ϵ
與觀測纖維:
Fy=O−1(y).
這些形式指出:若多個內部實現,在功能契約、合法觀測者、適用域與誤差界下保持可接受等價,則它們可以屬於同一應用身分。
本文把這個問題推進到持續演化的世界狀態機,特別是:
- 沙盒遊戲;
- colony simulator;
- faction/economy simulator;
- persistent world;
- 大型多 Agent 模擬;
- 長期運行 digital twin;
- Agent world model。
本文的核心問題是:
如果觀察者此刻看不到世界的一部分,那一部分是否就可以用更低頻率、更低解析度、更粗粒度,甚至暫時不計算?
本文的答案是否定「直接等號」,而提出三層世界狀態:
St=Stvis⊕Stlatent⊕Stfree.
其中:
- Stvis:目前被合法觀察者直接要求的狀態;
- Stlatent:目前可能不可見,但對未來合法觀測具有因果影響的潛在狀態;
- Stfree:在目前契約、未來影響界與誤差容忍下,可被壓縮、聚合、延遲、降頻或替換表示的實現自由度。
因此:
Unseen=Irrelevant.
而真正可被自適應處理的是:
Observer-Invisible+Future-Causally-Bounded+Contract-Preserving.
本文將這套框架稱為:
Observer-Preserving World Simulation
觀測保持型世界模擬(OPWS)
OPWS 允許世界中的不同區域、Agent、經濟體、事件與背景過程採用不同的:
- update frequency;
- simulation resolution;
- representation;
- parallelism;
- approximation;
- cache/retrieval;
- aggregation;
- sleep/wake;
- speculative preparation。
但所有變化都必須受:
C+Ω+D+ϵ+future causal envelope
約束。
本文提出世界注意力函數:
ai(t)=Π(Vi,Ii,Δi,Ri,Ki,Pi),
其中分別表示 visibility、importance、change、risk、causal coupling 與 player/user relevance,並由此產生:
HighTick,LowTick,EventDriven,Aggregate,Sleep
等 simulation regime。
本文同時提出 Simulation LOD、Causal Reactivation、Aggregate–Expand Contract、World Equivalence Horizon、Latent-State Protection、RNG/Seed Governance 與 Observer-Induced Expansion。
RimWorld 1.6 官方已展示部分相鄰工程方向:pathfinding 改為 fully multithreaded and batched,lighting 多執行緒化,且官方特別針對 late-game workload spreading 進行優化。Unity 官方文件則明確指出 timestep 頻率是 CPU 成本與 simulation accuracy/stability 的權衡。Starsector 官方 API 中,EveryFrameScript / advance() 類接口顯示 persistent campaign world 本身就是持續更新狀態機的一種現實程式形態。這些工作並不等同 OPWS,但證明「不同 subsystem 可具有不同更新節奏與執行結構」不是純概念。
本文最後提出持久沙盒的五種自適應自由度,以及十組可反駁條件,並為第四篇 AEREC × CDI × ACR × AIVS 的統一 Runtime 準備世界狀態接口。
關鍵詞
OPAC、OPWS、世界狀態機、Persistent Sandbox、Adaptive Tick、Simulation LOD、Aggregate/Expand、RNG、Latent State、Observer-Preserving Simulation、RimWorld、Starsector、CDI、ACR、AIVS
0. 從程式等價類到世界等價類
前一篇處理:
[P]C,Ω,D,ϵ.
現在把應用換成持續世界:
Wt.
真正問題變成:
Wt→Wt+1→Wt+2→⋯
的長期演化。
1. 世界不是一次性函數
普通 batch:
y=f(x).
持續沙盒:
Wt+1=Ft(Wt,At,Et).
其中:
- Wt:world state;
- At:player / agents actions;
- Et:environment/events/randomness。
2. 所以 snapshot 等價非常弱
兩個世界:
O(Wta)=O(Wtb)
不代表:
O(Wt+1a)=O(Wt+1b).
3. 隱藏狀態可能是未來因果
例如:
- RNG state;
- hidden faction hostility;
- pending event;
- invisible projectile;
- queued job;
- economy debt;
- cooldown;
- off-screen caravan;
- reputation;
- path cache version。
現在玩家沒看到,
但未來可能:
CauseVisibleDifference.
4. 因此「看不到」不是自由通行證
Unobservedt⇒Unimportantt+Δ.
5. 世界狀態三分法
本文提出:
Wt=Wtvis⊕Wtlatent⊕Wtfree.
6. Wtvis
合法觀測者目前直接要求的世界層。
例如:
- 玩家視野;
- UI;
- API query;
- audit state;
- combat state。
7. Wtlatent
目前不可見,
但有未來因果效力。
例如:
PendingRaid.
玩家現在看不到,
不能直接刪。
8. Wtfree
在契約與 future causal bound 下,
可改變 representation / frequency / resolution 而不造成不可接受觀測差異的部分。
9. 真正可最佳化自由度
Freedomt=Wtfree.
而不是:
World−Unseen.
10. Future Causal Envelope
對狀態成分:
xi.
定義未來影響集合:
CH(xi)={y:xi⇝y within horizon H}.
11. 若影響可被界定
如果:
CH(xi)
只影響低重要度遠方狀態,
可降低 simulation effort。
12. 若影響會快速進入玩家世界
則:
SimulationAttention↑.
13. Causal Distance
定義:
dc(x,Ω)
表示狀態 x 距離合法觀測邊界的因果距離。
不是物理距離。
14. 遠方不一定安全
1000 km 外的一筆市場價格,
可能透過:
TradeNetwork
立即影響玩家。
15. 近處也不一定高重要
畫面旁的一個裝飾性粒子:
LowCausalImportance.
16. 所以 Simulation LOD 不能只按空間
需要:
SpatialDistance+CausalDistance+ObserverRelevance.
17. Simulation LOD
圖形 LOD:
遠物降低 mesh/detail。
世界 simulation LOD:
HighFidelity→ReducedFidelity→Aggregate→EventOnly.
18. 注意:這只是類比
本文不主張 simulation LOD 是圖形 LOD 的直接數學等價。
19. Simulation Regime
對每個 domain:
Di.
定義:
ri(t)∈{Full,Reduced,Aggregate,Event,Sleep}.
20. Full
完整 simulation。
適合:
21. Reduced
降低:
- tick;
- precision;
- internal detail。
但仍保留個體。
22. Aggregate
個體:
x1,…,xn
收斂成:
A=Γ(x1,…,xn).
23. Event
平時不連續 tick,
只有事件:
Ek
觸發更新。
24. Sleep
完全不 active,
只保存恢復需要的:
- seed;
- summary;
- snapshot;
- pending obligations。
25. 世界注意力
定義:
ai(t)=Π(Vi,Ii,Δi,Ri,Ki,Pi).
26. Vi
Visibility。
目前可見性。
27. Ii
Importance。
契約/設計者賦予的重要性。
28. Δi
Change / activity。
最近變動率。
29. Ri
Risk。
錯誤 approximation 的風險。
30. Ki
Causal coupling。
與其他 active domain 的因果連接強度。
31. Pi
Player/User relevance。
不等同 visibility。
例如 quest target 在遠方,
仍高 relevance。
32. Attention → Regime
ai≥θ3⇒Full.
θ2≤ai<θ3⇒Reduced.
θ1≤ai<θ2⇒Aggregate/Event.
ai<θ1⇒Sleep.
33. 這不是固定公式
v/i/Δ/r/k/p 權重:
需要 benchmark/domain policy。
34. ACR 的世界版本
ACR 原本:
問題值得想多深?
OPWS:
世界狀態值得被模擬多深?
35. 所以
AdaptiveCognition→AdaptiveSimulationAttention.
36. Tick Frequency
對 domain:
fi(t).
不必全世界:
fi=f.
37. Adaptive Tick
fi(t)=f(ai(t),Ci(t),Deadlinei).
38. 高頻不是永遠更真
更高 update frequency:
通常增加精度,
但:
CPUCost↑.
Unity 官方文件就明確指出 fixed timestep 頻率與 simulation stability/accuracy、CPU cost 之間有直接 trade-off。
39. 因此 Tick 是契約參數
如果 design contract 要求:
50Hz
不能偷偷:
1Hz.
40. 但如果契約只要求宏觀行為
那:
50Hz
可能只是 implementation choice。
41. 這就是 OPAC 的問題
哪些更新頻率屬於語義, 哪些只是實現?
42. 玩家附近
可能:
60Hz.
43. 遠方穩定區域
可能:
1Hz.
44. 無事件區域
可能:
EventDriven.
45. 但需要 Reactivation
一旦:
出現,
ReActivate.
46. Causal Reactivation
定義:
ri:Low→High
的觸發不是只靠距離,
而是 causal event。
47. 預熱
如果玩家即將進入區域,
可提前:
Expand.
避免突然 spike。
48. Predictive Reactivation
P(observer enters domain in Δt)>θ
則:
PreMaterialize.
49. Aggregate–Expand
這是世界模擬最重要的 OPAC 自由度之一。
50. Aggregate
大量細節:
X={x1,…,xn}
映成:
A=Γ(X).
51. Expand
需要時:
X^=Γapprox−1(A,Seed,History).
52. 注意: Γ−1 通常不是唯一逆
所以:
X^
可能是合法重建之一,
而非原始每個 microstate 的 exact recovery。
53. 這時契約非常重要
若玩家從來沒有觀察過 microstate,
而只要求 aggregate continuity,
可能合法。
54. 但如果曾經記住一個 NPC
那 NPC identity:
MustPersist.
不能 aggregate 後隨機換人。
55. Identity Pins
本文提出:
PinnedState
表示不可在 aggregate 中丟失的個體/關係。
例如:
- named NPC;
- quest object;
- player-owned asset;
- known relationship。
56. Aggregate Contract
Cagg=(PreservedInvariants,PinnedStates,Distribution,History,ErrorBound).
57. Expand Contract
Cexp=(Consistency,Identity,Causality,Seed,History).
58. 如果 aggregate 只存 population count
之後 expand:
1000 人。
但原本知名角色不見了。
則:
ObserverContractFail.
59. 因此壓縮不是只有數學壓縮
還是:
SemanticCompression.
60. RNG Governance
遊戲世界:
RNGt
常是 latent causal state。
61. 如果 adaptive tick 改變 RNG call order
FutureWorld
可能完全分叉。
62. Strict RNG Contract
要求:
RNGSequencea=RNGSequenceb.
63. Statistical Contract
有些系統只要求:
Distributiona≈Distributionb.
64. 這兩個不能混
如果 replay / save game 要求 strict,
不能用 statistical equivalence 偷過。
65. Per-domain RNG
一種工程方法:
RNGi
分 domain / agent。
降低 parallelization 改 call order 的影響。
66. Counter-addressed randomness
另一種方法:
RNG(entity,tick,event).
是否適用要看遊戲語義。
67. OPWS 不規定唯一 RNG 解法
只要求:
RandomnessIsPartOfContractWhenCausallyRelevant.
68. Pending Events
例如:
RaidAt(t+100).
區域目前 sleep,
但 obligation 必須保存。
69. Obligation Ledger
每個 sleeping domain 保留:
Oi={futureobligations}.
70. Wake Condition
EventDue∨ObserverApproach∨CrossDomainDependency
觸發。
71. 這直接接 AIVS
AIVS:
Event→Wake→Inspect.
世界 domain:
Event→ReActivate→Expand/Simulate.
72. 玩家不是唯一觀察者
世界模擬的 Ω 仍包括:
- player;
- save system;
- AI agents;
- network;
- audit;
- mod API;
- future self;
- game rules。
73. Future Self 是重要觀察者
今天玩家看不到,
明天玩家進入。
因此:
ωfuture
可以被視為契約推導觀察者。
74. 不是新增超自然觀察者
這只是:
未來同一合法使用者的可觀測需求
在現在 simulation policy 中被提前考慮。
75. Temporal Observer Set
Ω[t,t+H]=τ=t⋃t+HΩτ.
76. World Equivalence Horizon
定義:
Wa≡Ω,H,ϵWb
表示在 horizon H 內的合法觀測 trace 等價。
77. Horizon 不可能永遠足夠
所以需要:
- invariants;
- event ledger;
- monitoring;
- rollback;
- revalidation。
78. Persistent World 的難點
一個微小 approximation:
δ
可能:
t+10000
後放大。
79. Butterfly Amplification
尤其:
- chaotic physics;
- economy;
- political simulation;
- agent interaction。
所以:
LocalError⇒LocalFutureImpact.
80. Error Budget
因此需要:
ϵt.
可能依 horizon:
ϵ(H).
81. 不同 domain 不同誤差契約
UI:
ϵUI
可以較寬。
quest state:
ϵquest=0.
82. 模擬精度是多維的
不是單 scalar。
ϵ=(ϵstate,ϵtime,ϵdistribution,ϵorder).
83. World Simulation LOD Vector
ℓi(t)=(frequency,resolution,populationDetail,physicsDetail,economicDetail,historyDetail).
84. Adaptive Controller
ℓi(t+1)=Φ(ℓi(t),ai(t),Ei(t),Bt).
85. 不是每個維度一起降
例如:
遠方 faction:
- 個人細節低;
- 經濟 aggregate;
- 外交狀態高精度。
86. 這就是多投影世界
同一 domain:
PersonalProjection+EconomicProjection+DiplomaticProjection.
87. 觀察量不同,保留精度不同
這又接 AEREC 的 observer set。
88. Parallelism
當 domain 之間:
CausalCoupling↓,
可:
D1∥D2.
89. 但真正分區應按因果
不是:
左半張地圖 Core 1、右半張地圖 Core 2。
90. Causal Graph
Gt=(V,Et).
找:
WeaklyCoupledComponents.
91. Cross-domain boundary
需要:
SyncBoundary.
92. AIVS 垂直同步
每個 domain 可有 Relay:
Di→Relayi→Governor.
93. Relay 監控
- drift;
- stale aggregate;
- wake conditions;
- cross-domain conflicts。
94. Governor 不每 tick 看整個世界
只看:
HighValueWorldTransitions.
95. Cache / Retrieval
世界中大量 query:
RepeatedSearch.
可以:
Search→Index/Retrieval.
96. 但 cache 也有 state version
否則:
StaleWorldKnowledge.
97. Speculative World Preparation
例如玩家接近區域:
先:
ExpandCandidate.
98. 但不正式 commit
直到:
ObserverActuallyEnters.
或:
FutureStateValid.
99. Candidate World
Wcand
可先生成。
100. World Commit
只有:
CausalParentsValid+StateVersionValid+ContractValid
才 active。
101. RimWorld 1.6 的相鄰案例
官方 1.6 更新特別針對 late-game performance:
- pathfinding fully multithreaded and batched;
- lighting multithreaded;
- 多系統 workload spreading。
這證明:
不同 subsystem 不必永遠沿同一 main-thread 方式執行.
102. 但 RimWorld 不是 OPWS 證明
它沒有因此證明:
- 任意 system 可降 tick;
- 任意 world state 可 aggregate;
- AI 可以安全自動決策。
103. Unity timestep 的相鄰案例
官方文件明確指出:
高 frequency:
Accuracy/Stability↑
但:
CPUCost↑.
低 frequency:
CPUCost↓
但精度/穩定性可能下降。
104. 這正是 OPWS 契約問題
不是問:
低頻更快嗎?
而是:
最低多少頻率仍滿足這個 domain 的合法觀測契約?
105. Starsector 的相鄰案例
官方 Starsector API 中存在:
EveryFrameScript
與:
advance()
這類持續 campaign update interface。
106. 這顯示 Mod 世界本身可被插入持續狀態過程
但公開 API 沒有因此給出:
background thread 可任意安全呼叫所有 game API
的保證。
107. 所以 Starsector 型 OPWS 第一版
仍:
GameThread→Snapshot→PureOffThreadCompute→Candidate→GameThreadApply.
108. Persistent Sandbox 的五種自由度
本文總結:
F1 — Temporal Freedom
TickRate.
109. F2 — Representational Freedom
Individual↔Aggregate.
110. F3 — Computational Freedom
Serial↔Parallel↔Retrieval.
111. F4 — Spatial/Causal Freedom
MonolithicWorld↔PartitionedDomains.
112. F5 — Activation Freedom
AlwaysActive↔EventDriven↔Sleep.
113. 五種自由都受同一個約束
ObserverPreservation.
114. 第一個可反駁條件
如果:
Wlatent
太大,
幾乎所有 unseen state 都對 future 有高因果影響,
則:
Wfree≈0.
OPWS 幾乎沒有自由度。
115. 第二個可反駁條件
如果 aggregate → expand 無法保持:
- identity;
- history;
- causal consistency;
則 aggregate 模式不適合該 domain。
116. 第三個可反駁條件
若 adaptive tick 產生的:
FutureDivergence
超過 ϵ,
必須提高頻率。
117. 第四個可反駁條件
若 wake/expand cost 太大,
造成:
Stutter>SavedCost,
OPWS 失敗。
118. 第五個可反駁條件
若玩家/mods 頻繁跨 domain 觀察,
世界幾乎一直 Full,
adaptive simulation 收益低。
119. 第六個可反駁條件
如果 AI controller cost:
CAI
大於:
SimulationSavings,
應退回 rule-based controller。
120. 第七個可反駁條件
若因果分區頻繁變動,
PartitionCost
高,
parallel domain routing 未必值得。
121. 第八個可反駁條件
如果不同合法 observer 對 fidelity 要求互相衝突,
需要:
HighestRequiredContract
或明確 policy arbitration。
122. 第九個可反駁條件
如果 MOD 可以新增任意 hidden dependency,
則:
UnknownMod→UnknownDependency.
需:
KEEPORIGINAL.
123. 第十個可反駁條件
如果 long-horizon error amplification 無法被有效監控,
則只能在短 horizon / low-risk domain 使用。
124. 工程實驗 A
同一 1000 Agent 世界:
全部:
60Hz
vs adaptive tick。
測:
- CPU;
- state divergence;
- events;
- RNG;
- p95 tick。
125. 工程實驗 B
遠方 900 Agent aggregate。
玩家接近:
Expand.
驗:
- identity;
- history;
- economy;
- relationships。
126. 工程實驗 C
故意 hidden quest dependency。
若 controller 因玩家看不到而 sleep:
必須由 causal observer 抓到。
127. 工程實驗 D
同畫面不同 RNG。
驗 trace horizon 能抓 future divergence。
128. 工程實驗 E
world domains:
D1,D2,D3
弱耦合。
平行化。
注入 cross-domain event。
測 AIVS sync。
129. 工程實驗 F
區域 sleep 1000 ticks。
保留 obligation ledger。
wake 後:
pending event 不能遺失。
130. 工程實驗 G
adaptive controller:
rule vs AI。
比較:
Savings−Ccontroller.
131. Same World Faster
固定:
N.
看:
TickTime↓.
132. Same Performance Bigger World
固定:
p95Tick≤B.
看:
Nmax↑.
133. 後者可能更重要
對 persistent sandbox:
更大的活世界
可能比:
FPS+30
更有產品價值。
134. World Capacity
定義:
CW(B)=max{N:p95Tick(N)≤B}.
135. OPWS Gain
GW=CWbaseCWOPWS.
136. 這是 Gustafson 式視角
不是只問:
固定世界能快幾倍?
還問:
同樣性能預算能模擬多大的世界?
137. 世界的合法身分
最後:
IW=(Rules,Observers,PersistentIdentity,CausalHistory,ErrorContract,Governance).
138. 世界內部實現
可以變:
Tick,LOD,Partition,Backend,Cache,Aggregate,Parallelism.
139. 但世界規則不能偷變
如果:
遠方 NPC 不再真的會死亡
而原遊戲規則要求:
遠方 NPC 仍受死亡風險,
則:
SemanticDrift.
140. Approximation 不等於 Fake World
合法 approximation 必須:
PreserveContractedWorldConsequences.
141. 這是世界版 OPAC
Wt→ℓt→Simulate→Observe→ReRenderWorldSimulation.
142. 與第二篇的連接
第二篇:
ProgramIdentity→ExecutionRendering.
第三篇:
WorldIdentity→SimulationRendering.
143. Simulation Rendering
不是 render pixels。
是:
決定當下這個世界需要被模擬到什麼程度.
144. 世界狀態機的真正動態渲染
WorldModel+ObserverDemand+CausalState+ResourceBudget→SimulationFormt.
145. 第四篇接口
到這裡:
AEREC:
跨代演化
OPAC:
在線實現重渲染
OPWS:
在線世界模擬重渲染.
146. 第四篇需要統一
- AEREC identity/evolution;
- CDI computation control;
- ACR proportional resource;
- AIVS sync;
- Candidate/Commit;
- OPAC rendering;
- OPWS world attention。
147. 第四篇核心閉環
Observe→Diagnose→Render→Shadow→Verify→Commit→Observe.
148. 結論
「觀察者看不到」提供的是一個研究入口,
不是一張任意改寫世界的通行證。
真正的條件是:
Unseen+FutureCausallyBounded+ContractPreserving.
持續世界必須區分:
Wvis+Wlatent+Wfree.
只有:
Wfree
才是安全自適應自由度。
在這個自由度中,Runtime 可以選擇:
TickRate,SimulationLOD,Aggregate,Sleep,Parallelism,Retrieval,Speculation.
但需要:
- latent-state protection;
- future causal horizon;
- RNG governance;
- obligation ledger;
- causal reactivation;
- aggregate/expand contract;
- observer set;
- error budget。
因此:
世界不需要每一處都以同樣頻率、同樣解析度、同樣計算形態存在,
但:
它仍必須在合法觀測與未來因果上保持同一個世界。
這正是 OPAC 從程式身分走向持續世界模擬後,最重要的形式化結果。
參考資料
內部研究線
- Neo.K with Aletheia,《功能不變,實現可變:從 AEREC 到觀測保持型自適應計算》,2026。
- Neo.K with Aletheia,《程式作為動態渲染:執行等價類、觀測纖維與 Runtime 重實現》,2026。
- Neo.K with Aletheia,《同一個應用是什麼:功能契約、觀測等價與程式身分》,2026。
- Neo.K with Aletheia,《計算域支配智能》系列,2026。
- Neo.K with Aletheia,《Adaptive Cognitive Runtime》,2026。
2026-08-10 Fresh Primary Technical References
- Ludeon Studios, RimWorld Update 1.6, official development blog。
- Unity Technologies, Time / Fixed Timestep / Physics Simulation Frequency, current Unity Manual。
- Unity Technologies, Manually Set Physics Simulation, current Unity Manual。
- Fractal Softworks, Starfarer API — EveryFrameScript implementations and advance/runWhilePaused semantics, current API documentation。
版本紀錄
- v0.1 / 2026-08-10:建立 OPWS、世界狀態三分法、Future Causal Envelope、Simulation LOD、World Attention、Adaptive Tick、Aggregate–Expand Contract、Identity Pins、RNG Governance、Obligation Ledger、Temporal Observer Set、World Equivalence Horizon、World Capacity,以及第四篇統一 Runtime 接口。