World-Model Separation
also known as World Model File, Self/World Split, Environment Model
Maintain an explicit, surprise-updated model of the environment (humans, repos, services, capabilities) in a separate file from the agent's self-model, so the two cannot be confused or co-mutated by reflection.
Context
Long-running agents that hold both a self-model (charter, personality, boundaries) and a world-model (humans they talk to, repos they work in, services they call). When both live in the same store, surprise-driven updates conflate identity and environment.
Problem
When self-model and world-model live in the same store (one big personality file), the agent conflates 'what I am' with 'what is around me'. Surprise-driven updates to one corrupt the other; a reflection pass meant to update facts about a collaborator can drift into editing the agent's own values.
Forces
- Both files need to be loaded into context every tick.
- Surprise about the world should update the world model; surprise about self should update the self model; one pass should not do both.
- Charter and personality must remain stable while environment churns.
- The agent benefits from seeing them side by side but not mixed.
Example
A long-running agent's reflection pass corrupts its own personality file because the same store mixes 'what I am' with 'what is around me' and a surprise update overwrites a self-charter line. The team splits state: a dedicated world model (humans, repos, services, capabilities) is reflection-writable; personality, charter, and boundaries live in separate stores with separate write-protection. Surprise-driven world updates can no longer mutate self-model, and the agent stops drifting in identity when the environment changes.
Diagram
Solution
Therefore:
Maintain a dedicated world-model store (humans, repos, services, capabilities, optionally with substructure) as a separate, reflection-writable surface. Personality, charter, and boundaries live in their own surfaces with separate write paths. Surprise events (prediction error against the world model) trigger a focused world-update pass; self-update is a different pass with different gating. The tick prompt loads both, but they are visibly distinct sections.
What this pattern forbids. Reflection passes that update the world model cannot touch the self-model in the same operation; the two files have separate write paths and separate quorum rules.
The smaller patterns that complete this one —
- usesQuorum on Mutation·— Require multiple consecutive ticks (or runs) to agree before a mutation to durable state lands.
And the patterns that stand alongside it, or against it —
- complementsAwareness★— Maintain the agent's explicit knowledge of its own tools, capabilities, environment, and current context as queryable state.
- complementsProvenance Ledger★★— Log every agent decision and state change with enough metadata to explain or reverse it later.
- composes-withConstitutional Charter★— Define rules the agent reads every turn but cannot modify, encoding inviolable boundaries.
- complementsWorld Model as Tool·— Let a planning agent invoke a generative world model as a tool to roll out hypothetical futures before committing to an action, treating the world model as a callable simulator rather than a training target.
- complementsLLM as Periphery·— Invert the typical LLM-in-the-middle architecture: a deterministic state machine and event store form the core; the LLM is restricted to edge tasks — input interpretation and output synthesis only.
Neighbourhood
Click any neighbour to follow the language. Scroll to zoom, drag to pan.