← Archive
lm-002082 · 2026-08

03_通用核心參數化原型與領域客製_世界狀態語義的三層分解

下載 MD 檔 ⬇

通用核心、參數化原型與領域客製:世界狀態語義的三層分解

系列: 動態通用世界狀態機:內部架構與演化規格
篇次: 03 / 07
版本: v0.1
日期: 2026-08-01
性質: 內部技術白皮書/語義分層規格
基準 Repository: kakon77777-commits/compilableworld-runtime-mvp


摘要

前兩篇已確立兩件事。

第一,現有 CompilableWorld Runtime 已經具有一批高度可泛化的 Kernel/IR/Contract,但整體仍然是遊戲世界狀態 Runtime,而不是已完成的通用系統。

第二,未來不應抽取出一個 Universal Core 後就丟棄 Game Runtime;現有 Game Runtime 應持續作為 Executable Reference World、Prototype Source、Regression Anchor、Failure Corpus 與 Generation Constraint Anchor。

本篇處理下一個更容易出錯的問題:

到底哪些東西應該被稱為「通用」?

如果把所有遊戲概念都提升到 Universal Core,會得到一個偽通用、實際上仍然以 RPG 為中心的巨大 Schema;如果反過來把 Core 壓得太薄,只剩 key/value 與事件匯流排,那麼每一個新 Domain 又必須從頭定義 lifecycle、resource、ownership、location、task、relation 等反覆出現的結構,失去 Reference Prototype 的價值。

因此本篇提出三層語義分解:

D=DuniversalDadaptableDspecific\boxed{ D = D_{\mathrm{universal}} \cup D_{\mathrm{adaptable}} \cup D_{\mathrm{specific}} }

其中:

  • DuniversalD_{\mathrm{universal}} :跨 Domain 應保持相同語義與不變量的通用核心;
  • DadaptableD_{\mathrm{adaptable}} :跨 Domain 高頻重現,但需要參數化、映射或政策差異的原型層;
  • DspecificD_{\mathrm{specific}} :只能由特定領域自己定義的語義層。

核心結論不是「通用越多越好」,而是:

Generalize invariants, parameterize recurring patterns, customize domain truth.\boxed{ \text{Generalize invariants, parameterize recurring patterns, customize domain truth.} }

也就是:通用化不應吞掉領域語義;領域客製也不應重複發明已經驗證過的結構。


1. 問題:通用化最容易犯的兩個相反錯誤

建立通用世界狀態 Runtime 時,最容易走向兩個極端。


1.1 極端 A:萬物共用巨大 Schema

例如把目前 Game Runtime 中已存在的:

  • Character;
  • Room;
  • Item;
  • Quest;
  • Health;
  • Inventory;
  • Combat;
  • Magic;
  • Dialogue;

逐步改名,然後宣布:

Character → Actor
Room → Space
Quest → Task
Item → Resource

最後形成一套號稱所有世界都能使用的巨大 ontology。

問題是名稱變抽象,不代表語義真的通用。

例如:

Quest Failure

和:

Medical Workflow Failure

雖然都可以叫:

Task Failure

但:

  • 是否可重試;
  • 是否可 rollback;
  • 是否允許平行分支;
  • 失敗後是否仍可部分完成;
  • 誰有修改權;

都可能完全不同。

所以:

Name GeneralizationSemantic Generalization\boxed{ \text{Name Generalization} \neq \text{Semantic Generalization} }

1.2 極端 B:Core 薄到只剩 key-value

另一個極端是:

既然所有領域都不同,那 Universal Core 只保存 entity + key/value + event 就好。

這樣雖然看似最通用,但會把所有高頻重複結構丟回 Domain 自己處理。

例如:

  • lifecycle;
  • resource depletion;
  • ownership;
  • location;
  • task transition;
  • timed state;
  • availability;
  • dependency;
  • permission scope。

Game、Robot、Smart Room、Agent workflow 都可能需要它們。

如果每個 Domain 都重新寫一次:

Domain1P\text{Domain}_1 \rightarrow P Domain2P\text{Domain}_2 \rightarrow P' Domain3P\text{Domain}_3 \rightarrow P''

最後只是製造三套長得很像、但無法互相驗證的實作。

因此:

Too Thin CoreRepeated Reinvention\boxed{ \text{Too Thin Core} \Rightarrow \text{Repeated Reinvention} }

2. 三層分解:Universal / Adaptable / Specific

本篇正式提出:

D=DuniversalDadaptableDspecific\boxed{ D = D_{\mathrm{universal}} \cup D_{\mathrm{adaptable}} \cup D_{\mathrm{specific}} }

三者不是固定命名空間,而是語義治理層級。


3. 第一層:Universal Core

DuniversalD_{\mathrm{universal}} 應該只包含:

跨 Domain 必須維持同一組執行語義與不變量,否則整個 Runtime 失去可驗證性的能力。

目前候選包括:

{Entity,State,Action,Event,Time,Authority,Transition,History,Projection,Contract}\boxed{ \{ Entity, State, Action, Event, Time, Authority, Transition, History, Projection, Contract \} }

但每個詞的意義要非常窄。


3.1 Entity

通用 Core 不需要知道 Entity 是:

  • 人;
  • NPC;
  • Robot;
  • Door;
  • Company;
  • Weather Cell;
  • Software Agent。

它只需要知道:

e=(id,type,components,metadata)e= ( id, type, components, metadata )

而且具有:

  • 穩定 ID;
  • 可引用;
  • 可檢查存在性;
  • 可被 State owner 指向。

現有 EntityRegistry 已經非常接近這個角色。


3.2 State

通用 Core 應負責:

  • state path;
  • value;
  • version;
  • read;
  • proposed write;
  • conflict detection;
  • commit。

但不應知道:

health.current
battery.level
weather.temperature
order.status

哪一個比較重要。

所以 Universal State 的核心是:

Addressability+Version+Mutation Semantics\boxed{ \text{Addressability} + \text{Version} + \text{Mutation Semantics} }

而不是 Domain value 本身。


3.3 Action

Universal Action 應回答:

誰提出什麼操作、目標是什麼、參數是什麼、權限上下文是什麼?

而不預先定義所有 verb。

形式可維持:

A=(actor,verb,target,args,authority,correlation)A= ( actor, verb, target, args, authority, correlation )

3.4 Event

Universal Event 應保持:

  • identity;
  • event type;
  • source;
  • target;
  • causation;
  • correlation;
  • timestamp;
  • visibility;
  • authority;
  • payload。

但 Event Core 不應規定:

quest.completed
robot.arrived
door.opened
market.order.filled

哪些 event type 必須存在。


3.5 Time

Universal Time Core 應定義:

  • ordering;
  • scheduling;
  • delay;
  • temporal identity;
  • possibly clock domain。

但不應把:

turn
combat exchange
wall clock
simulation tick
calendar day

硬綁成一種。

目前 Scheduler 是這一層的早期原型。


3.6 Authority

通用 Core 應回答:

CanRead(x,r)\operatorname{CanRead}(x,r) CanWrite(x,p)\operatorname{CanWrite}(x,p) CanAct(actor,verb,target)\operatorname{CanAct}(actor,verb,target)

但不需要先知道:

  • GM;
  • 玩家;
  • 管理員;
  • robot owner;
  • employee;
  • doctor;

誰應該有什麼權力。

Domain 定義角色,Core 執行規則。


3.7 Transition

Universal Core 不一定必須擁有所有 transition rule。

它必須保證:

ProposalValidationCommit\text{Proposal} \rightarrow \text{Validation} \rightarrow \text{Commit}

並提供:

  • atomicity;
  • expected version;
  • conflict handling;
  • event emission;
  • trace。

Transition semantic 可以由 Domain module 決定。


3.8 History

通用 Core 應區分:

Current StateCausal History\text{Current State} \neq \text{Causal History}

並保持:

  • committed event;
  • snapshot;
  • replay;
  • migration。

但不要求每個 Domain 全部採純 Event Sourcing。


3.9 Projection

Projection 應是:

ϕ(S,E,context)View\phi(S,E,context) \rightarrow View

而不是 state truth。

現有 Web View Model、Studio projection、MCP projection 都屬這個方向。


3.10 Contract

通用 Runtime 真正穩定的不是某個 class 名稱,而是:

  • schema version;
  • module contract;
  • IR contract;
  • projection contract;
  • snapshot contract;
  • migration contract。

因此:

Universal Core=Minimal Semantics+Stable Contracts\boxed{ \text{Universal Core} = \text{Minimal Semantics} + \text{Stable Contracts} }

4. Universal Core 的判準

一個能力要進 DuniversalD_{\mathrm{universal}} ,至少應滿足:

U-1:Domain-Neutral Invariant

在不同 Domain 中,不變量不應改變。

例如:

Projection 不可直接覆蓋 authoritative State。

這在遊戲、機器人與智慧房間都成立。


U-2:Kernel-Level Enforcement

若只是「大家通常這樣做」,不一定值得進 Core。

Universal 能力最好是:

可被 Runtime 強制\boxed{ \text{可被 Runtime 強制} }

例如 version conflict。


U-3:Cross-Domain Evidence

除非是執行本身必需的最小抽象,否則最好要有至少兩個 Domain 重用證據再正式升格。


U-4:語義不可依賴 Domain 名詞

如果去掉 Game 名詞後,規則就失去意義,通常還不是 Universal。


5. 第二層:Parameterized Prototype

真正最容易被低估的是:

DadaptableD_{\mathrm{adaptable}}

這一層不是 Universal Core,也不是 Domain-specific code。

它代表:

很多 Domain 都會遇到相似結構,但允許命名、狀態空間、政策、終態、時間尺度與 authority 不同。

這一層將來很可能是 Prototype Library 最大的部分。


6. 第一批高價值 Adaptable Prototype 候選

以下是從 Game Reference World 可以優先抽出的 pattern 候選。


6.1 Lifecycle Prototype

通用形狀:

L=(S,T,F)L= ( S, T, F )

其中:

  • SS :lifecycle states;
  • TT :allowed transitions;
  • FF :terminal / forbidden states。

Game:

alive
dead

Robot:

booting
ready
fault
offline

Workflow:

draft
approved
executing
closed

這些不能共用同一 state enum。

但可以共用:

Lifecycle Transition Pattern\boxed{ \text{Lifecycle Transition Pattern} }

6.2 Location Prototype

Game:

actor.position.room

Robot:

robot.position.zone

Device:

device.location.site

相同的可能是:

  • current location;
  • allowed containment;
  • move transition;
  • visibility projection。

不同的是:

  • 空間模型;
  • precision;
  • movement constraints。

所以應做成可參數化 Prototype,而不是 Universal room


6.3 Ownership / Custody Prototype

Game inventory 已經提供:

item → carrier

但未來可能映射:

device → custodian
asset → owner
document → controller

共同 pattern:

ResourcetransferHolder\text{Resource} \xrightarrow{\text{transfer}} \text{Holder}

但 Domain 可能加入:

  • transfer approval;
  • temporary lease;
  • shared ownership;
  • non-transferable;
  • escrow。

因此 ownership 不應直接硬進 Core。


6.4 Task / Workflow Transition Prototype

Quest transition 可以提供:

qieventqjq_i \xrightarrow{event} q_j

以及:

  • branch;
  • failure;
  • terminal state;
  • priority。

未來可映射:

  • workflow;
  • maintenance task;
  • robot mission;
  • approval process。

但各 Domain 的完成定義、rollback 與責任不同。

所以:

Task TransitionDadaptable\boxed{ \text{Task Transition} \in D_{\mathrm{adaptable}} }

而不是 Universal Core。


6.5 Resource Prototype

Game:

  • HP;
  • MP;
  • FP;
  • currency。

Robot:

  • battery;
  • payload;
  • storage。

Cloud:

  • quota;
  • budget;
  • tokens。

共同 pattern:

rt+1=rt+Δrr_{t+1} = r_t + \Delta r

並帶:

  • min/max;
  • depletion;
  • replenish;
  • threshold event。

但 HP 與電池的意義完全不同。

所以通用的是 Resource Pattern,不是 Resource Truth。


6.6 Timed State Prototype

目前 Game status effect 已經存在:

  • duration;
  • refresh;
  • decay;
  • expiry。

未來可以對應:

  • robot temporary mode;
  • access lease;
  • reservation;
  • cooldown;
  • temporary alert。

共同形式:

xtΔtxt+1x_t \xrightarrow{\Delta t} x_{t+1}

直到:

ttexpiryt\ge t_{\mathrm{expiry}}

這是非常適合抽成 Prototype 的結構。


6.7 Availability / Preconditions Prototype

遊戲 action 常需要:

  • target exists;
  • same room;
  • has key;
  • state allows;
  • resource enough。

其他 Domain 也會需要:

  • device online;
  • account authorized;
  • sensor available;
  • resource sufficient。

共同結構:

Allowed(A,S,C){0,1}\operatorname{Allowed}(A,S,C) \in \{0,1\}

但條件本身由 Domain 定義。


7. Parameterized Prototype 應該有哪些欄位?

一個 Prototype 不能只是一個 base class。

可以形式化為:

P=(I,Σ,Θ,Γ,Π,Q,V)P= ( I, \Sigma, \Theta, \Gamma, \Pi, Q, V )

其中:

  • II :prototype identity;
  • Σ\Sigma :required structural schema;
  • Θ\Theta :parameters;
  • Γ\Gamma :guards / invariants;
  • Π\Pi :authority template;
  • QQ :scenario templates;
  • VV :validation evidence。

例如 Lifecycle Prototype:

prototype: lifecycle
parameters:
  states: [...]
  initial_state: ...
  terminal_states: [...]
  allowed_transitions: [...]
  failure_policy: ...

Game 與 Robot 都可以 instantiate,但不共享同一狀態列表。


8. Parameterization 與 Copy-Paste 的差別

Copy-paste:

game.quest.py
→ 複製成 robot.task.py

之後兩者各自漂移。

Parameterized Prototype:

Ptask+θgameIgameP_{\mathrm{task}} + \theta_{\mathrm{game}} \rightarrow I_{\mathrm{game}} Ptask+θrobotIrobotP_{\mathrm{task}} + \theta_{\mathrm{robot}} \rightarrow I_{\mathrm{robot}}

兩者共享:

  • structural contract;
  • scenario skeleton;
  • trace vocabulary;
  • invariants。

但保留不同 domain semantics。

所以:

PrototypeShared Implementation Class\boxed{ \text{Prototype} \neq \text{Shared Implementation Class} }

它首先是「可驗證的結構模板」。


9. 第三層:Domain-Specific Semantics

DspecificD_{\mathrm{specific}} 是真正不應被通用化吞掉的內容。

目前 Game 例子包括:

  • HP;
  • MP;
  • FP;
  • phase tier;
  • melee formula;
  • magic symbol count;
  • quest canon;
  • narrative;
  • NPC dialogue;
  • combat exchange。

未來其他 Domain 可能有:

Robot:

  • torque;
  • odometry;
  • motor current;
  • localization covariance。

Weather:

  • pressure;
  • humidity;
  • front;
  • radar reflectivity。

Market:

  • order book;
  • price;
  • position;
  • settlement。

這些應該:

由 Domain 自己擁有\boxed{ \text{由 Domain 自己擁有} }

而不是因為都能放進 StateStore 就叫 Universal。


10. Domain-Specific 不代表沒有治理

客製化仍然必須使用通用執行邊界。

例如 Game Combat 可以完全 domain-specific,但仍需要:

ActionIRCombat ModuleStateDeltaKernelEventIR\text{ActionIR} \rightarrow \text{Combat Module} \rightarrow \text{StateDelta} \rightarrow \text{Kernel} \rightarrow \text{EventIR}

所以:

Custom Semantics+Common Execution Contract\boxed{ \text{Custom Semantics} + \text{Common Execution Contract} }

這是三層模型真正重要的地方。


11. 「通用的就通用,不通用的就客製」如何形式化?

對任意能力 xx ,定義分類函數:

L(x){U,A,S}L(x) \in \{ U, A, S \}

其中:

  • UU :Universal;
  • AA :Adaptable;
  • SS :Specific。

分類不是依「抽象程度」決定,而應依:

L(x)=f(Ic,Rd,Ps,Dv)L(x) = f( I_c, R_d, P_s, D_v )

其中:

  • IcI_c :invariant consistency;
  • RdR_d :跨 Domain reuse;
  • PsP_s :parameter stability;
  • DvD_v :domain variance。

直覺上:

invariant 高、domain variance 低

U\rightarrow U

invariant 中高、參數可描述、domain variance 中

A\rightarrow A

domain variance 高、語義特殊

S\rightarrow S

12. 三層不是永久固定,允許升格與降格

某 pattern 一開始可能被判為:

SS

後來發現三個 Domain 都在使用相同結構:

SAS\rightarrow A

再經更多驗證:

AUA\rightarrow U

反過來也可能發現:

原本以為通用,但第二 Domain 出現後語義根本不同。

則:

UAU\rightarrow A

甚至:

ASA\rightarrow S

因此需要:

Bidirectional Semantic Promotion / Demotion\boxed{ \text{Bidirectional Semantic Promotion / Demotion} }

這會避免通用化變成不可逆的架構宗教。


13. 通用化的最小原則:Generalize Invariants, Not Vocabulary

例如:

Room

不是 Universal。

但:

State owner 必須具有 stable identity。

可以是 Universal。

Quest

不是 Universal。

但:

同一 state transition 的 authority 與 version conflict 必須可驗證。

可以是 Universal。

Inventory

不是 Universal。

但:

某 Module 不可修改自己 write scope 之外的 state。

可以是 Universal。

所以:

Generalize Invariants>Generalize Nouns\boxed{ \text{Generalize Invariants} > \text{Generalize Nouns} }

14. 與目前 Repository 的對應

根據目前 repo,可初步作以下分類。

14.1 Candidate Universal

  • Entity
  • StateCell
  • StateDelta
  • ActionIR
  • EventIR
  • ModuleContract
  • EventBus
  • EventLog
  • Scheduler primitive
  • Snapshot / Replay contract
  • FunctionIR purity boundary
  • ScenarioIR normal-pipeline rule
  • Projection read-only boundary
  • Authoring / Compiled / Runtime separation

14.2 Candidate Adaptable

  • lifecycle;
  • quest transition;
  • timed status;
  • inventory carrier / ownership;
  • location / room occupancy;
  • resource pools;
  • precondition;
  • delayed action;
  • dialogue conditional projection。

注意:

這些目前還不是正式 Prototype Library 實作,只是候選。


14.3 Clearly Game-Specific

  • player template;
  • HP / MP / FP;
  • combat formulas;
  • magic;
  • phase tier;
  • RPG quest content;
  • NPC narrative;
  • combat exchange;
  • world canon。

15. Game-specific code 目前不需要急著搬走

即使已經辨識出三層,也不代表現在立刻把 repo 拆成:

core/
prototype/
game/

如果為了漂亮目錄造成大量 regression,沒有價值。

目前更合理的是:

  1. 先標記語義分類;
  2. 補 contract;
  3. 補 scenario;
  4. 補 trace;
  5. 觀察第二 Domain;
  6. 再抽實體 package。

所以:

Semantic SeparationEvidencePhysical Refactor\boxed{ \text{Semantic Separation} \rightarrow \text{Evidence} \rightarrow \text{Physical Refactor} }

而不是反過來。


16. Prototype 不應偷偷獲得 Kernel Authority

Parameterized Prototype 仍只是:

  • schema;
  • transition template;
  • scenario;
  • authority template。

它不能因為「被很多 Domain 共用」就繞過 Kernel。

仍需:

Prototype InstanceDomain ModuleDelta/EventKernel\text{Prototype Instance} \rightarrow \text{Domain Module} \rightarrow \text{Delta/Event} \rightarrow \text{Kernel}

這可防止 Prototype Library 演化成第二個隱藏 Runtime。


17. Domain Pack 的未來最小概念

未來一個 Domain Pack 可以概念上包含:

Dp=(O,P,M,F,S,Q)D_p= ( O, P, M, F, S, Q )

其中:

  • OO :Domain ontology;
  • PP :選用/客製 Prototype;
  • MM :Modules;
  • FF :Functions;
  • SS :Schemas;
  • QQ :Scenarios。

例如 Game Domain Pack:

ontology:
  character
  room
  item

prototypes:
  lifecycle
  location
  ownership
  task_transition
  timed_status

modules:
  combat
  quest
  magic
  inventory

functions:
  damage
  hit_rate
  hp_projection

這樣 General Runtime 不必知道 HP,但 Game Domain 可以完整運行。


18. Prototype Conflict:同一個 Domain 可能同時需要多個互斥原型

例如某個 Device 可能同時:

  • 有 lifecycle;
  • 有 ownership;
  • 有 location;
  • 有 resource;
  • 有 scheduled maintenance。

Prototype composition 可能形成:

P1P2P3P_1 \oplus P_2 \oplus P_3

但若兩個 Prototype 都要求寫:

status.current

就會衝突。

因此未來 Prototype Library 必須提供:

  • state namespace ownership;
  • action ownership;
  • event ownership;
  • conflict declaration;
  • dependency;
  • precedence。

這會直接銜接第 4 篇的 Adaptive Composition Engine。


19. 三層模型對 AI 生成的直接影響

AI 看到新需求後,不應問:

我要生成什麼?

而是先問:

第一問

哪些是:

DuniversalD_{\mathrm{universal}}

直接使用 Core?

第二問

哪些是:

DadaptableD_{\mathrm{adaptable}}

從 Prototype instantiate?

第三問

剩下哪些才是:

DspecificD_{\mathrm{specific}}

需要 Domain custom?

因此生成流程變成:

D(U,A,S)Reuse Core+Instantiate Prototype+Generate Specific Residual\boxed{ D \rightarrow (U,A,S) \rightarrow \text{Reuse Core} + \text{Instantiate Prototype} + \text{Generate Specific Residual} }

這是後續「生成式約束」真正可以落地的基礎。


20. 三層分類的初步 Metadata

未來可以考慮讓 contract / prototype 帶:

semantic_layer: universal | adaptable | specific

evidence:
  domains:
    - game
  regression_suite: ...
  invariants:
    - ...
  promotion_status: candidate

例如:

id: prototype.task.transition
semantic_layer: adaptable
evidence:
  domains:
    - game
promotion_status: candidate

這清楚表示:

現在只有 Game evidence,因此不能偷偷宣布它已 Universal。


21. 核心不變量

S-1:Universal Core 必須保持語義窄

Core 不吸收 Domain vocabulary。

S-2:Adaptable Prototype 必須允許 Domain Override

若不能參數化,就不是真的 adaptable。

S-3:Domain-specific 語義不得被迫泛化

Faithful Customization>False Generality\boxed{ \text{Faithful Customization} > \text{False Generality} }

S-4:所有三層仍共用 Kernel 執行邊界

三層是語義分層,不是三套 Runtime。

S-5:升格必須有 Evidence

不能因為「看起來很通用」就進 Core。


22. 禁止事項

禁止 A:名稱抽象化冒充通用化

Quest → Task 不是證明。

禁止 B:把 Prototype 寫成第二個 Kernel

Prototype 不能直接 commit state。

禁止 C:所有 Domain 都硬套同一 state enum

Parameterization 必須允許不同 Domain 的合法差異。

禁止 D:通用化後刪掉原始 Domain evidence

Prototype 升格後,仍要保留來源 Reference World 與 regression。

禁止 E:過早 physical refactor

先完成語義與 evidence,再拆 package。


23. 尚未實作

本篇新增的以下結構目前仍是設計層:

  • semantic layer metadata;
  • Prototype parameter schema;
  • Prototype Registry;
  • Prototype conflict metadata;
  • promotion / demotion record;
  • Domain Pack manifest;
  • automated layer classifier。

現有 repo 仍主要是 Game Runtime。


24. 驗證條件

未來三層模型要被認為有效,至少需滿足:

V-1

一個新 Domain 能直接使用 Candidate Universal Core,而不需要修改其語義。

V-2

至少一個 Game pattern 能透過 parameterization 在第二 Domain 重用。

V-3

第二 Domain 仍能保留真正特殊語義,而不需要修改 Universal Core。

V-4

Prototype 產生的 Module 仍只能透過 Kernel commit。

V-5

Prototype 之間衝突可以被編譯期或 Runtime 前驗證偵測。

V-6

Promotion/Demotion 不破壞既有 Reference regression。


25. 本篇結論

未來的 Dynamic General World-State Runtime 不應只有:

UniversalCustom\text{Universal} \lor \text{Custom}

兩種選擇。

更合理的是:

Universal CoreParameterized PrototypeDomain-Specific Semantics\boxed{ \text{Universal Core} \rightarrow \text{Parameterized Prototype} \rightarrow \text{Domain-Specific Semantics} }

其中:

Universal Core

保存:

invariants+execution contracts\text{invariants} + \text{execution contracts}

Parameterized Prototype

保存:

recurring structures+parameterized behavior+validation evidence\text{recurring structures} + \text{parameterized behavior} + \text{validation evidence}

Domain-Specific

保存:

domain truth\text{domain truth}

最核心的工程句子可以寫成:

Generalize invariants, parameterize recurring patterns, customize domain truth.\boxed{ \text{Generalize invariants, parameterize recurring patterns, customize domain truth.} }

這使「通用的就通用,不通用的就客製」不再是一個模糊口號,而變成可以實際管理 Prototype、Domain Pack 與 AI generation scope 的架構。

下一篇將正式進入:

《原型錨定式自適應組合:Reuse → Adapt → Residual Generation》

也就是開始回答:

當需求進來時,Runtime/Agent 到底如何找到可重用原型、如何判定適配程度、如何組合多個 Prototype、如何找出剩餘缺口,以及 AI 到底只准生成哪一部分?


Appendix A:與目前 Repository 的對應邊界

目前已有,並被本篇視為 Candidate Universal 的主要來源

  • Entity
  • StateCell
  • StateDelta
  • ActionIR
  • EventIR
  • ModuleContract
  • EventBus
  • EventLog
  • Scheduler
  • Snapshot / Replay
  • FunctionIR
  • ScenarioIR
  • Projection read-only boundary
  • Authoring / Runtime separation

目前已有,但仍主要屬於 Game-specific / Adaptable Candidate

  • Quest transitions
  • inventory carrier
  • timed status
  • room location
  • combat resource
  • dialogue conditional projection
  • player generation
  • magic / combat formulas

本篇新增、尚未實作

  • Universal / Adaptable / Specific metadata
  • Parameterized Prototype contract
  • Domain Pack
  • promotion / demotion mechanism
  • Prototype conflict declaration