MetaWorld Model (MWM)#
MWM maintains dated, scoped environment knowledge, a briefing, examples, an open-questions docket, and callable
programs. Acting agents use its context and one wm tool. A Codex learner reviews evidence after each block
of episodes and maintains the world model.
Choose MWM for an ordered environment stream with a task-owned evidence store. It requires more task integration than a context-only optimizer; it is not a drop-in switch for an arbitrary prompt-only config.
Required integration#
Resource |
Contract |
|---|---|
Template and method |
|
Episode order |
|
Evidence |
The pipeline writes the native evidence layout and returns |
Access |
Evidence path in |
Deployment description |
|
Learner environment |
Codex CLI and Linux namespace/sandbox support; model endpoint configured for the session |
Channels |
Task tools declared through |
Use ServeLearnBench or CL-Bench as a complete integration reference. The task pipeline, rather than the Trainer, owns the benchmark’s acting loop and evidence writing.
The framework renders native runtime instructions from the venue texts; keep task-specific deployment text in the task directory rather than patching the MWM template.
Block lifecycle#
With bootstrap enabled (the default), the Trainer runs the native bootstrap session before any rollout and records it as step 0. That session receives an evidence store containing only its README; the first serving block uses the bootstrapped adapter. With bootstrap disabled, the first block uses the starting adapter.
After serving each block, the learner reviews its evidence, performs maintenance, and revises memory and programs. The next block consumes the accepted update.
When block_size is set, a shorter last block receives no learner session. Align learning and test boundaries
deliberately. In ServeLearnBench, a window boundary may occur inside a block, so some cases are not learned
before that window’s checkpoint is tested.
Parameters and defaults#
description: The MetaWorld Model learner (MWM V2 default, docket on, hypothesis off). One Codex session per block
with the native contract, agenda, skills, patterns and maintenance; reads the task's evidence store at /evidence.
class: evolver.py:MwmEvolver
needs: [environment]
params:
backend: codex # the learner is a Codex session (a model reference binds it, as for the codex Evolver)
model: null # the learner model; null: the Codex default
args: [] # extra codex arguments, e.g. -c model_reasoning_effort="high" (provider settings come
# from the model's backend; a plain model id needs them here)
home: [] # files of ~/.codex copied into the agent home; none: the provider key is an env var
price: null # USD per million tokens {input, cached_input, output}
evidence: null # the task's evidence store (required), granted through evolver_access.environment
deployment: null # the venue's texts for MWM (contract/, delegation, host.json, environment/),
# relative to the run config; null: task-info/mwm
learner_tools: null # task tools also offered as MCP tools; null: all. The gate serves every task tool
bootstrap: true # the native bootstrap session in the first step
session_timeout_s: 1800 # per session, the native evolver timeout
retry_wait_s: 30 # before the one retry after an infrastructure failure
network_isolation: true # own network namespace; only the tool endpoint and 127.0.0.1 ports in args
block_size: null # = data.step_size: the shorter final block then gets no session, as natively
hide: [] # paths hidden from the learner's sandbox besides the defaults; "module:<name>" hides
# an installed Python package (a benchmark whose evaluator sits beside the framework)
session_timeout_s bounds a native session; the Trainer has its own call timeout. Provider arguments and model
settings belong to the learner session, while acting-model settings belong to the task integration.
network_isolation is a separate MWM setting; understand both that and the outer sandbox configuration.
Use benchmark-specific scoring for streaming experiments. A single aggregate test call cannot express all per-window or environment-state protocols; see Evaluation.