← Overview

Clark Whitehead Research

A continual-learning agent.

How could an agent learn from new tasks and experience while retaining earlier capabilities?

San Francisco, CA

The proposed research loop

One agent. Many games. Learning to change its own code.

Carry learned weights across environments, keep learning through interaction, and learn which edits to the model’s own code improve its future learning.

Proposed design · Not implemented in Lana · Transfer, retention and useful self-editing remain unproven.

Training, code editing and game switching in one repeating loop
  1. Train in a game

    Observe → act → task reward → update model weights.

  2. Direct a model-code edit

    At a checkpoint, an editing controller chooses an instruction for an external code editor, or skips editing.

  3. Train and evaluate the candidate

    Test the revised model against a matched unchanged learner; check performance and retention across games.

  4. Learn which edits help

    Use measured improvement, forgetting and compute cost as reward to update the editing controller. Keep or revert the patch.

  5. Switch games, carry weights

    Swap the environment and observation/action adapter. Continue from the current learned weights.

  6. Revisit earlier games

    Evaluate the latest weights to measure retained skills. Feed development results into the next cycle.

What carries forwardCurrent shared weights · compatible optimizer state · versioned model code · controller state · learning and edit history

Repeat ordinary RL updates within each game; code edits and game switches happen at declared checkpoints, not after every action. Preserve compatible weights through code changes and explicitly initialize any new parameters. Returning to an earlier game uses the latest weights, not its old checkpoint.

The external editor writes candidate patches; the learned controller decides when and how to request them. This design works without access to the editor’s weights. The runner independently trains, evaluates and accepts or rejects each candidate.

Games and their adapters come from a defined schedule. The agent learns to edit its model; this proposal does not ask it to design games. Edit rewards use development evaluations, while the final evaluation suite stays separate.

Inside the arena agent

MuZero: learn to predict, search to act.

Read model.py →

Our independent MuZero implementation, shown with the J checkpoint’s settings. Past observations become a compact state; learned predictions guide a search for actions that lead to winning.

100%Scroll to zoom · drag to pan
Network components and arrows showing observation, prediction, decisions and learning.
Dates identify the first archived drawing of each architecture, not training runs. Presentation-only revisions are combined. Highlights show reviewed architecture changes, not wording edits or proven performance gains. Descriptions below refer to the latest diagram. Scroll to zoom and drag to explore the details.
How each part works · implementation details
History, not a Transformer
Each agent gets its own window of 64 numeric observations and 63 previous actions. Missing early history is zero-padded. The flattened vector feeds a two-layer MLP.
Learned world model
Dynamics predict a latent next state, not pixels or the full game board. The reward head reads the raw dynamics output; policy and value read the normalized state. Search never calls the real game simulator.
Policy, value and reward
All heads use Linear → ReLU → Linear. Policy has 153 action logits. Value and reward use 21 support bins, decoded with the inverse scalar transform; they are not direct probability outputs.
Planning
J uses 32 search simulations, 8 distinct prior-sampled root candidates and discount 1.0. Learned policy priors guide exploration; predicted rewards and leaf values are backed up. These settings differ from older arena checkpoints.
Learning to win
Self-play creates replay data and search-policy targets. Training minimizes policy, value and reward prediction losses over unrolled sequences. The objective is expected winning reward; evaluation win rate determines whether play improved.
Playing is not training
The site runs exported networks with browser search. It does not update weights during your match. This diagram describes an experimental implementation, not evidence of superhuman performance.

Self-play and training source · Batched search source · Download diagram (SVG)

Inside the research model

Observe. Imagine. Plan. Learn.

Read model.py →

Each box shows its structure, how it helps the model and a loose brain analogy. The comparisons describe similar roles, not biological equivalence.

100%Scroll to zoom · drag to pan
Network components and arrows showing observation, prediction, decisions and learning.
Dates identify the first archived drawing of each architecture, not training runs. Presentation-only revisions are combined. Highlights show reviewed architecture changes, not wording edits or proven performance gains. Descriptions below refer to the latest diagram. Scroll to zoom and drag to explore the details.

Complete network · default configuration

B = batch size; O = observation width; A = discrete action count; U = continuous action width; D = A or U. Dimensions are configurable. This map describes HybridModel in model.py at 4b54ed9.

W(in, out) = Linear(in, 32) → LayerNorm(32) → SiLU → Linear(32, out). H(in, out) = Linear(in, 64) → LayerNorm(64) → SiLU → Linear(64, out). All Linear layers include bias. Algorithm and data boxes add no neural layers.

Actual observation
Input x: [B, O]; apply symlog before encoding.
Previous state + action
Concatenate flatten(z): 16 with previous action: D. Tokens [B, T, 16+D], T ≤ 16. D=A one-hot for discrete actions, D=U normalized coordinates for continuous actions.
Observation encoder
W(O, 32): Linear O→32 → LayerNorm(32) → SiLU → Linear 32→32. Encoded observation e: [B, 32].
Causal Transformer
Linear (16+D)→32 + learned positions [1,16,32]. One pre-norm block: LN → 4-head causal self-attention (8 dimensions/head; QKV 32→96, output 32→32) → residual; LN → Linear 32→64 → GELU → Linear 64→32 → residual. Final LayerNorm(32). Dropout 0; causal and padding masks.
Posterior state z
Concatenate h and e: [B,64] → W(64,16) → reshape [B,4,4]. Four categorical variables, four classes each; 0.01 uniform probability mix. Straight-through one-hot samples during learning; categorical modes in planning.
Memory h
Latest valid Transformer output h: [B,32]. Rolling per-stream token buffer; no additional recurrent layer.
Prior dynamics
h: [B,32] → W(32,16) → categorical logits [B,4,4], same uniform mix as posterior. Next h comes from Transformer(previous z, action); prior predicts next z without an actual observation.
Shared features h + z
Concatenate h: [B,32] and flatten(z): [B,16] → features f: [B,48]. No trainable layer.
Policy MLP
Discrete: H(48,A) → logits [B,A] → Categorical. Continuous: H(48,2U) → mean μ and scale s; σ=0.1+0.9·sigmoid(s); tanh(Normal(μ,σ)) actions [B,U]. Mean action is tanh(μ).
State-value MLP
H(48,1) → scalar V [B,1] in raw reward units. Frozen target copy updated by EMA (default 0.99).
Q ensemble
Continuous actions only: five independent H(48+U,1) critics on concat(f,action), stacked output [5,B]. Five frozen EMA target copies. Real TD target uses minimum of two sampled target critics; MPC horizon uses mean of two sampled critics.
Prediction MLPs
Three independent world heads: decoder W(48,O), reward W(48,1), continuation W(48,1). Outputs [B,O], [B,1], [B,1]. Decoder/reward predict symlog values; continuation is a logit → sigmoid. Reward uses symexp for planning returns.
Actor only
Action selection algorithm, no extra neural layers. Samples or selects from the policy output.
MuZero-style MCTS
Tree-search algorithm, no extra neural layers. Defaults: 32 simulations, horizon 5. Uses actor priors, prior latent transitions, reward/continuation and state-value leaves; selects from root visit counts.
TD-MPC2-style MPC
Action-sequence optimization, no extra neural layers. Defaults: horizon 5, 32 candidates, 4 actor candidates, 8 elites, 4 iterations. Weighted elites and shifted warm start; Q terminal score (state-value ablation available).
Execute one real action
Environment interface: discrete index [B] or continuous bounded vector [B,U]. Execute one action, then ingest the next real observation.
Real experience / replay
Episode/sequence replay data structure storing real observations, actions, rewards and termination/truncation boundaries; no neural layers.
Fit world model
World-model optimizer: symlog reconstruction/reward MSE, continuation BCE, balanced categorical KL with free nats (1). Default KL scales: dynamics 1, representation 0.1.
Imagination + TD
Frozen-world imagination (default horizon 5): score-function actor, λ-return value learning (λ=.95, γ=.99), slow-value regularization. Continuous critics: real replay TD with actual next posterior. Separate head updates; no world gradients.
Collect again / checkpoint
Collection/evaluation/checkpoint orchestration, no neural layers. Saves model, optimizer and training state for continuation.
Optional planner distillation
Optional loss on the existing actor, no new layers: categorical cross-entropy or continuous mean MSE against planner targets. Weight 0 by default.
Every part: how it helps and the brain analogy
Actual observation
Helps the model: Supplies the current numeric view so decisions can respond to what is happening.
Brain analogy: Like receiving sensory information; these inputs are numeric vectors, not biological senses.
Previous state + action
Helps the model: Carries earlier latent states and actions forward so the model can use temporal context.
Brain analogy: Like keeping track of what just happened and what you just did.
Observation encoder
Helps the model: Transforms numeric observations into features that help infer the current state.
Brain analogy: Like extracting useful patterns from sensory input; it is not a model of sensory cortex.
Causal Transformer
Helps the model: Weights and combines past state/action tokens; causal masking prevents access to future tokens.
Brain analogy: Like attending to relevant context. Transformer attention is a mathematical operation, not biological attention.
Posterior state z
Helps the model: Combines current evidence with memory to infer a compact categorical state.
Brain analogy: Like revising your understanding when you see new evidence; categorical variables are an engineering choice.
Memory h
Helps the model: Provides a context vector from the recent history window to the other components.
Brain analogy: Like temporarily holding task-relevant information in working memory; this is not proven long-term skill retention.
Prior dynamics
Helps the model: Predicts categorical states during imagination and search, without future real observations.
Brain analogy: Like anticipating a possible outcome before it happens; this is not evidence of conscious imagination.
Shared features h + z
Helps the model: Joins memory and latent state so the policy and prediction heads use a common representation.
Brain analogy: Like combining recent context with your current interpretation; no single brain location is implied.
Policy MLP
Helps the model: Produces discrete action probabilities or a continuous action distribution; it also proposes actions to search.
Brain analogy: Like a learned action tendency. Fast policy output is not proof of a human habit mechanism.
State-value MLP
Helps the model: Estimates expected discounted reward from a state when following the actor.
Brain analogy: Like judging whether a situation is promising, not a feeling or a conscious judgment.
Q ensemble
Helps the model: Scores a state and continuous action with several critics; target estimates train from real replay and Q values guide MPC.
Brain analogy: Like comparing possible payoffs. The ensemble itself has no claimed biological counterpart.
Prediction MLPs
Helps the model: Reconstruction helps train representations; reward and continuation predictions score imagined futures.
Brain analogy: Like having expectations about outcomes. A reward number is not pleasure, and continuation is not self-awareness.
Actor only
Helps the model: Uses the policy directly when planning is disabled, avoiding planner computation.
Brain analogy: Like responding quickly from a learned tendency rather than mentally comparing several futures.
MuZero-style MCTS
Helps the model: Uses policy priors, cached latent transitions and state-value estimates to explore discrete alternatives.
Brain analogy: Like deliberating over alternatives. This implementation does not claim the brain runs this MCTS algorithm.
TD-MPC2-style MPC
Helps the model: Optimizes bounded action sequences, executes one action, and replans after the next actual observation.
Brain analogy: Like planning a movement and correcting it with new feedback; it does not reproduce biological motor circuits.
Execute one real action
Helps the model: Applies a selected action in the environment so the next observation can confirm or contradict predictions.
Brain analogy: Like acting and receiving new feedback; execution is performed by the environment interface.
Real experience / replay
Helps the model: Stores complete episodes for repeated learning rather than discarding each transition after one update.
Brain analogy: Loosely resembles memory reactivation. A software replay buffer does not model sleep or hippocampal circuitry.
Fit world model
Helps the model: Uses reconstruction, reward, continuation and prior/posterior losses to improve the learned world model.
Brain analogy: Like adjusting expectations after experience; backpropagation here is not a claimed biological learning mechanism.
Imagination + TD
Helps the model: Learns policy/value from predicted trajectories and continuous Q values from real rewards and actual next observations.
Brain analogy: Like mental rehearsal and learning when outcomes differ from expectations; these are functional analogies.
Collect again / checkpoint
Helps the model: Collects fresh episodes, evaluates behavior and saves training state for reproducible continuation.
Brain analogy: Evaluation and disk checkpoints are engineering tools, not brain structures or memory consolidation.
Optional planner distillation
Helps the model: Trains the policy to imitate recent planner choices, reducing reliance on search when imitation is useful. It is off by default.
Brain analogy: Like practicing a considered decision until a quicker response is possible; this does not establish habit learning or lasting skill retention.

Working memory involves holding and updating useful information temporarily (NIMH). Human hippocampal replay has been linked to later memory performance (Schapiro et al., 2018). These motivate comparisons; they do not validate this model as a brain simulation.

Implementation and limits
Transformer memory
Causal attention over recent numeric states and actions. Each stream has its own history; observations are not text.
Dreamer-style world model
Actual observations infer a categorical posterior. Prior dynamics imagine future states and predict reward and continuation. The decoder is used for training, not required by search.
MuZero-style MCTS
For discrete actions, search uses policy priors, cached latent transitions, state-value leaves and discounted backups. Root visits select an action; observed legality applies at the root.
TD-MPC2-style MPC
For continuous actions, optimize bounded action sequences with actor proposals, weighted elites and a shifted warm start. A separate Q ensemble supplies the horizon value; state value is an optional ablation.
Imagination, TD & distillation
Train policy and state value on imagined returns, and continuous Q critics on real replay. Planner distillation is optional and off by default. These updates do not change world-model weights.
One model file, full training loop
model.py contains the networks, MCTS/MPC, replay, learning updates, collection, evaluation and checkpoint orchestration. Actor-only control remains available.

This is an experimental combination, not a full reproduction of the reference algorithms. Planning uses deterministic categorical modes. Bounded CPU and checkpoint-resume checks pass; learning gains, robust planning and retained skills remain unproven. Pretrained language and a complete continual-learning or forgetting-protection mechanism are not implemented in this hybrid.

Download the diagram (SVG)

Arena comparison

All models played each other.

14 entries. 11,648 games. Each entry played 128 games against each of the other 13.

TrainedUntrained
Dreamer4* · 100 epochs42.2% · 702 wins in 1664 games
Lana · untrained38.5% · 641 wins in 1664 games
Dreamer4* · untrained37.9% · 631 wins in 1664 games
New MuZero · untrained36.8% · 612 wins in 1664 games
New MuZero · F35.3% · 587 wins in 1664 games
New MuZero · E31.1% · 518 wins in 1664 games
Lana · 1,000 epochs28.7% · 478 wins in 1664 games
Dreamer4* · 1,000 epochs27.7% · 461 wins in 1664 games
Legacy MuZero · untrained25.5% · 424 wins in 1664 games
Old independent MuZero · untrained23.4% · 390 wins in 1664 games
Lana · 100 epochs22.7% · 377 wins in 1664 games
Legacy MuZero · 100 epochs13.2% · 219 wins in 1664 games
Legacy MuZero · 1,000 epochs12.7% · 212 wins in 1664 games
Old independent MuZero · 10,000 episodes0.0% · 0 wins in 1664 games

Games won · unfinished games count as no win

Dreamer4* at 100 epochs won most often in this tournament. Several untrained models ranked above trained versions.

How do the untrained models compare?

Only games between untrained models: 512 games per entry, against the other four.

Lana · untrained56.3% · 288 wins in 512 games
New MuZero · untrained41.6% · 213 wins in 512 games
Dreamer4* · untrained35.4% · 181 wins in 512 games
Legacy MuZero · untrained21.1% · 108 wins in 512 games
Old independent MuZero · untrained16.6% · 85 wins in 512 games

Games won · unfinished games count as no win

Lana starts strongest here. “Untrained” means random model weights; observation processing and planning still differ.

Does a stronger start predict better results after training?

Only weakly in this sample. Below, each trained version and its initialization face the same four other untrained models, 512 games each.

Before trainingAfter training

Lana · 100 epochs

Before56.3%
After9.4%

Lana · 1,000 epochs

Before56.3%
After26.8%

Legacy MuZero · 100 epochs

Before21.1%
After16.4%

Legacy MuZero · 1,000 epochs

Before21.1%
After17.8%

Dreamer4* · 100 epochs

Before35.4%
After41.8%

Dreamer4* · 1,000 epochs

Before35.4%
After28.5%

Old independent MuZero · 10,000 episodes

Before16.6%
After0.0%

New MuZero · E

Before41.6%
After33.0%

New MuZero · F

Before41.6%
After33.2%

Rank correlation: 0.31 (1 would mean perfectly matching ranks). This is descriptive: nine checkpoints share five initializations, with one initialization per model configuration and unequal training budgets. It does not establish that starting rank predicts learning potential.

Data and limitations

Two active agents, a fixed map, balanced starting positions and a 256-decision limit. Overall, 46.3% of games reached the time limit. These are results against this opponent collection, not a universal algorithm ranking or evidence of continual learning.

*Dreamer4 is an unofficial adaptation. Legacy MuZero and old independent MuZero are distinct implementations. E and F are newer independent MuZero checkpoints at 1,024 games; F used larger training batches. Historical “epoch” labels denote game budgets here, not passes over a fixed dataset.

Evaluation results · October 19, 2026

Lana benchmarks

Arena pilot 001

Our arena. Our implementations. Two evaluation conditions, with every trained checkpoint shown.

Win rate (%) ↑ higher is betterBold = highest observed score in row44 games per score
Arena win rates by model and training-game budget. Best observed scores are bold; this does not imply statistical significance.
BenchmarkTraining games →Lana100 gamesLana1,000 gamesMuZero100 gamesMuZero1,000 gamesDreamer 4*100 gamesDreamer 4*1,000 games
Arena · common opponentsTen frozen untrained opponents50.022/44 wins29.513/44 wins4.52/44 wins4.52/44 wins6.83/44 wins2.31/44 wins
Arena · mixed tournamentSix trained + five untrained agents2.31/44 wins4.52/44 wins2.31/44 wins4.52/44 wins15.97/44 wins9.14/44 wins

Scroll horizontally to compare all six checkpoints →

Lana leads against common opponents; Dreamer 4* leads the mixed tournament. The ranking changes with the opponents.

Approximately 3.3M parameters per model · One training seed · Unequal training compute. MuZero is our arena adaptation; *Dreamer 4 is an unofficial state-vector adaptation, not the original system. These existing results measure arena winning, not multi-game retention or code editing.

Evaluation setup, uncertainty & training budgets

Each common-opponent score comes from 44 matched games against ten frozen untrained Lana agents, balanced across starting seats. The separate mixed tournament puts all six trained checkpoints in each game alongside five untrained agents. It reached the time limit in 19/44 games. Time limits count as no win. Untrained Lana scored 3/44 (6.8%) against common opponents; five untrained tournament entries collectively won 8/44, which is not a single-agent rate.

Bold denotes the numerical row maximum, not statistical significance. Common-opponent 95% Wilson intervals are listed below; they describe game-level uncertainty, not variation across training seeds. No checkpoint was selected using these test games. Lana’s 1,000-game checkpoint scored below its 100-game checkpoint against common opponents.

  • Lana · 100: 35.8–64.2%.
  • Lana · 1,000: 18.2–44.2%.
  • MuZero · 100: 1.3–15.1%.
  • MuZero · 1,000: 1.3–15.1%.
  • Dreamer 4* · 100: 2.3–18.2%.
  • Dreamer 4* · 1,000: 0.4–11.8%.

Lana and MuZero train online; Dreamer uses offline MuZero data. At 100/1,000 games, training update calls are Lana 200/2,000, MuZero 100/1,000, and Dreamer 400/4,000. Calls differ in work and batch size. Lana and MuZero use search; Dreamer uses its policy directly. These are exploratory parameter-matched comparisons, not equal-compute tests or evidence of overall algorithm superiority.

Earlier 11-agent arena study

Controlled arena pilot

Lana & model-based RL baselines

Fixed 100- and 1,000-game training budgets, approximately 3.3 million parameters per model. Each checkpoint faces ten frozen untrained Lana opponents in 44 matched games, balanced across starting seats.

Win rates with 95% confidence intervals for untrained Lana and the 100- and 1000-game Lana, MuZero and unofficial Dreamer 4 checkpoints, beside total parameter counts. Exact values are in the table below.
Figure 1. Win rate and model size. Error bars are 95% Wilson intervals over games, not variation across training seeds. Unfinished games count as losses. *Dreamer 4 is an unofficial, small state-vector adaptation.
Checkpoint results · same 44 test games per row
Model / training gamesWinsWin rate95% intervalTime limits
Lana · untrained3 / 446.8%2.3–18.2%2
Lana · 10022 / 4450.0%35.8–64.2%0
Lana · 1,00013 / 4429.5%18.2–44.2%0
MuZero · 1002 / 444.5%1.3–15.1%12
MuZero · 1,0002 / 444.5%1.3–15.1%12
Dreamer 4* · 1003 / 446.8%2.3–18.2%0
Dreamer 4* · 1,0001 / 442.3%0.4–11.8%2
Direct competition: win rates and 95% intervals for six trained checkpoints sharing each of 44 games.
Figure 2. Direct competition. All six trained checkpoints share every game with five untrained Lana agents. Each trained checkpoint occupies every starting seat four times. Five untrained entries collectively won 8/44 games; 19 games reached the time limit and 0 ended in a draw. These games are separate from Figure 1.
Tournament score table
CheckpointWins / gamesWin rate
Lana · 1001 / 442.3%
MuZero · 1001 / 442.3%
Dreamer 4* · 1007 / 4415.9%
Lana · 1,0002 / 444.5%
MuZero · 1,0002 / 444.5%
Dreamer 4* · 1,0004 / 449.1%

Results depend on the opponents: Lana at 100 games led the common-opponent test (22/44 wins). In direct competition, the unofficial Dreamer 4 at 100 games had the most wins among trained entries (7/44), with 19/44 games reaching the time limit. This pilot does not establish an overall best algorithm.

Heatmap of focal wins per starting seat, four games per seat for each checkpoint.
Figure 3. Position sensitivity. Each cell shows wins out of four games. The legacy evaluation has eleven AI-controlled seats; seat 11 has a larger collision radius and faster firing. All checkpoints receive the same seat schedule.
Methods, budgets & limitations

MuZero uses the MuZero-general network with arena-specific history inputs and a small search budget. The unofficial Dreamer 4 adaptation includes shortcut world prediction, behavior cloning and frozen-world imagination training, but replaces the paper’s video architecture with a compact vector model. See the Dreamer 4 paper and MuZero-general source.

Lana and MuZero train online. Dreamer 4 uses offline MuZero self-play data and is fit separately at each data budget. Optimizer steps, observation processing and inference compute differ: Lana and MuZero use MCTS; Dreamer uses its learned policy directly. These are exploratory parameter-matched comparisons, not an equal-compute benchmark or a claim about the original published algorithms.

Training budgets at the two checkpoints
ModelGames availableTraining update callsData
Lana100 / 1,000200 / 2,000Online self-play
MuZero100 / 1,000100 / 1,000Online self-play
Dreamer 4*100 / 1,000400 / 4,000Offline MuZero games

Update calls have different batch lengths, losses and internal work; this table does not imply equal optimizer or compute budgets. The common-opponent benchmark is not a direct head-to-head tournament.

All plotted evaluations use the same GPU/backend. A separate CPU audit of the fixed Lana snapshots is preserved; it is not pooled into the plotted rates.

One training seed per algorithm; fixed arena layouts with seeded action sampling and rotated seats. Game-level intervals do not establish reproducibility across training seeds. No checkpoint was selected using these test games. The experiment tests arena winning, not continual learning, retention or general intelligence.

Figure notes · Lana evaluation protocol · Implementation corrections · Compute hardware · Training times & checkpoint hashes

Paper

When More Self-Play Makes an Agent Worse: Empirical Instability in MuZero-Style Training
Clark Whitehead · October 2026

In a MuZero-style agent trained in a custom combat environment, head-to-head performance commonly peaks after roughly 24,000–32,000 self-play games and then declines, even while training loss keeps improving. Lower learning rates, wider models and longer training do not consistently prevent it; continuing a strong checkpoint against a pool of historical opponents is a preliminary stabilization result.

Working manuscript — preliminary, not peer reviewed. It does not establish a causal mechanism.

Read the paper (PDF, 5 pages) → · LaTeX source

The goal

I’m exploring an agent that could build on experience across tasks without overwriting useful knowledge and skills. The focus is how planning, memory, and long-term learning might work together.

An early Transformer-based prototype is implemented. Reliable learning gains and retention across tasks remain unproven.

Research thesis

Continual learning could be a path toward superintelligence, by turning ongoing experience into lasting, transferable capabilities.

Why continual learning?The hypothesis, a potential bottleneck, and its limits

My research hypothesis is that continual learning could be a path toward superintelligence: systems that keep acquiring skills, testing ideas, and building on experience. Learning from an evolving stream of interaction could let capabilities compound beyond what a fixed training dataset provides. This is a research direction, not a demonstrated result. See Silver and Sutton’s Welcome to the Era of Experience, a position paper on learning from experience.

One potential bottleneck lies in the train-then-deploy pattern seen in systems from OpenAI and Anthropic. When deployed model weights remain fixed, context, tools, and external memory can still enable useful adaptation, but new experience does not automatically update those weights. A key question is when retrieved experience is enough, and when durable changes to learned capabilities are more effective. Durable system-level learning can also live in memory and tools; weight updates are not the only route. Anthropic’s Effective context engineering for AI agents describes approaches to managing context over long-running tasks.

My concern is a possible ceiling on efficient, cumulative adaptation: repeatedly retrieving experience or running separate training cycles may add cost and delay. Continual learning could reduce that bottleneck by integrating new experience while retaining earlier skills. This is a hypothesis to test, including against strong memory and replay baselines. Forgetting, unreliable feedback, and safe adaptation remain hard problems. For the retention challenge, see Kirkpatrick and colleagues’ Overcoming catastrophic forgetting in neural networks.

There is no demonstrated intelligence ceiling for either company, and their approaches keep evolving. OpenAI has reported gains from reinforcement learning and inference-time compute in Learning to reason with LLMs; Anthropic has described memory and tools for long-running agents. These may complement continual learning. Continual learning alone is not known to be sufficient for superintelligence.

The prototype is implemented; the proposed continual-learning evaluation remains uncompleted. The immediate goal is to test learning and retention honestly before making broader claims. Review the proposed evaluation and research progress.

The research loop

Train from self-play → evaluate winning → revise the code → test and repeat. The current two-agent arena gives 1 reward to the winner and 0 otherwise. A bounded automated worker records each hypothesis, code change and result. Separate confirmation games check whether improvements hold up; failed experiments remain in the record.

Watch the research dashboard →

Survival & simulated worlds

I’m planning research on continual learning in simulated multiagent worlds. My central hypothesis is that survival pressure, combined with interaction and changing environments, could encourage agents to acquire transferable skills. Earlier environments use survival rewards; the current arena rewards winning. Neither objective establishes general intelligence.

From small populations to many worldsThe proposed experiment, its limits, and a long-term ambition

Changing worlds, interacting agents

The proposal is to create simulations where agents must survive as resources, hazards, and other agents change. Competition, cooperation, resource management, and adaptation could all matter. Worlds with millions of interacting agents are a long-term ambition, not an implemented capability. Start with small, controlled populations and establish what can be learned and measured before increasing scale.

Why synthetic survival environments?

Finite operating power, irreversible lifetime wear, integrity damage, unstable zones and system faults provide artificial pressures to investigate. Agents could face resource allocation, coordination and changing conditions without copying biological needs. These proposed systems are not all implemented, and optimizing operational survival does not by itself establish transferable intelligence. Useful controlled tests matter more than visual realism.

Learn across worlds without losing earlier skills

Train across a sequence of environments with changing conditions, then revisit earlier worlds to test whether prior capabilities remain. Compare continual adaptation with sequential training and replay under matched resource budgets. A longer survival time in the latest world would not, by itself, show that the agent retained what it learned before.

Proposed tests

Keep survival as the central objective; compare survival-only rewards with survival plus auxiliary learning signals. Measure retention of earlier abilities separately from learning new tasks and continued learnability. Evaluate frozen checkpoints against archived opponents so changing competitors are not mistaken for forgetting; compare conditions with memory available and reset. These are proposed tests, not a finalized protocol. Retaining past skills and preserving the ability to learn new ones are separate questions; see Loss of plasticity in deep continual learning.

Test the reward, not just the agent

Survival may encourage useful behavior, but an agent might also learn to hide, avoid exploration, exploit a simulator, or act aggressively when the reward favors it. Compare reward designs and inspect behavior alongside survival, adaptation, retention, and resource costs. Survival alone is not evidence of general intelligence, safe behavior, or a path guaranteed to reach superintelligence.

Prior work motivates both the opportunity and the caution: multiagent autocurricula demonstrate evolving strategies in a particular simulated setting, while Neural MMO 2.0 describes limits of earlier survival objectives and introduces a broader task system. Neither establishes survival as the best reward or validates this project’s hypothesis.

The survival objective is confined to simulated agents inside research environments; it is not a real-world self-preservation objective.

The arena results above measure winning in one task; retention across tasks remains untested. A lightweight survival testbed and a local 3D base world are available; broader survival systems and large-scale populations remain future work. Reward design and evaluation still need controlled tests.

The small gridworld diagnostic is a first check of learning and forgetting, not the final research scope.

What ends an agent’s operation?

Survival is the central objective: keep a synthetic agent operational under resource limits and system failure. Death means irreversible loss of operation for that episode. The live browser environment now implements power depletion, finite lifetime wear and one simple integrity-damaging hazard. The legacy Python baseline and frozen experiments are unchanged.

Legacy baseline and live synthetic-survival-v2.0
PressureLegacy Python baselineLive browser v2.0
Finite operating powerDepletion implemented. A finite energy/resource budget decreases each simulation step. Replenishment cells restore it; reaching zero ends operation. This is the existing mechanic, not a new power subsystem.Implemented. Eight agents compete for replenishment cells under the same power budget and rules.
Finite operational lifetimeNot implemented. The baseline has no irreversible lifetime-wear limit. Its experiment horizon is a cutoff, not terminal failure.Implemented. Irreversible wear advances each simulation step and guarantees terminal failure by step 96. Recharge cannot reset wear. Wall-clock time, pause and display speed do not count. Repair is not implemented.
Cumulative integrity damageNot implemented. There is no separate integrity or damage system.Implemented, simple hazard. Active orange cells reduce integrity each step spent there. Damage persists and zero integrity ends operation. Repair remains planned.
Unstable environmental zonesNot implemented. Resource availability varies, but the grid has no hazardous-zone failure rules.Implemented, periodic zones. Seeded hazard cells switch on and off on a 12-step simulation cycle. More complex moving or adaptive hazards remain planned.
Cascading system faultsNot implemented. No fault-propagation subsystem exists.Planned. Local malfunctions can spread across dependent systems and cause terminal failure if not contained.

Browser v2.0 is a tested JavaScript extension, separate from the unchanged legacy diagnostic environment. Current behavior is documented in the versioned browser source. The legacy source rules remain available for reproducing older results. Cascading faults and trained control in browser v2.0 are not implemented.

Existing 3D engine statusSeparate from the synthetic pressure design

Luanti 5.17.0 with VoxeLibre 0.92.3 is installed locally as an exploratory 3D base. Its stock resource and damage systems do not implement the synthetic pressures above. AI control and a bird’s-eye recording remain pending. An observer’s overhead view will be separate from an agent’s local observations.

A staged path toward richer worlds

  1. Start small. Run controlled, low-compute survival experiments, within a $50 total compute cap. Version new mechanics separately so older results remain reproducible.
  2. Build reproducible evidence. Measure survival improvement and retention after resources or conditions change. Compare against scripted baselines; reward operational survival without a forced cooperation bonus.
  3. Expand if the evidence supports it. Seek investment to test richer simulations. Funding and scaling are goals, not commitments or guaranteed outcomes.

Proposed policy comparison: begin with one agent, rewarding each step it remains operational. Evaluate over a fixed 128-step horizon while reporting the configured wear limit separately. Wear failure is terminal; an earlier experiment cutoff is not death. Report steps operational, the fraction of the wear-imposed survival ceiling reached, and failure causes. Compare learned policies with random and local-greedy baselines, change resource availability, then revisit earlier conditions with fixed seeds to measure retention. This comparison has not been run.

The live eight-agent demo uses local scripted policies, not learned cooperation. It runs in the browser without paid inference. World-model fitting alone does not make a trained survival policy. Future demo updates will use evaluated policy performance on fixed validation seeds, with checkpoint and environment versions, scores and a representative fixed-seed recording. Final held-out tests will be reported separately rather than used to choose the featured model.

Research progress

Planning — not yet evaluated

A proposed first evaluation, with no measured results yet.

View the evaluation plan & progress

Possible approach

These are candidate components to investigate, with their relationships still to be worked out.

  1. Planning and world models

    Learn about an environment through interaction and use that understanding to guide actions. AlphaZero/MuZero-style planning could be one component of the agent.

  2. Context and memory

    Use recent experience to adapt within a task, while deciding which information should remain available over time.

  3. Replay and long-term learning

    Explore whether selective replay or consolidation could turn useful experience into durable knowledge without erasing earlier capabilities.

Possible research direction

Learning what and how to learn

Could an agent choose which data to train on, which experiences to revisit, and what learning rate to use? I want to explore giving the agent decisions about learning itself: what deserves attention, when to update, and how strongly an experience should change future behavior.

The intuition comes from how I think: I often search for information while working through a problem, then sometimes decide, “I really need to do this a particular way in the future.” An agent might similarly retrieve something useful now, save a lesson for later, or practice until that lesson changes its behavior.

Proposal only. Agent-controlled data selection and learning rates are not established capabilities of this prototype; their benefit remains to be tested.

Learning as a map of memory?The analogy, possible choices and a first comparison

A motivating analogy

Perhaps learning is the process of building and revising a map of memory: organizing experience so it can guide future decisions. This is an intuition to investigate, not a claim that learning and memory are identical. For this research, distinguish stored experiences and lessons, retrieval that makes them available now, and learning that changes how the agent interprets information or acts. A useful change could live in an external memory, a learned retrieval strategy, or model weights.

Let the agent make learning decisions

A proposed learning controller could choose among collecting new experience, retrieving a saved lesson, replaying selected examples, or updating the model. For updates, it could choose a bounded learning rate and number of training steps. Record which examples it selected and the resulting changes so “learning to learn” means a measurable mechanism.

Saving “do this next time” could begin as an explicit memory that the agent can retrieve and revise. A later experiment could test whether replaying the relevant experience turns that lesson into behavior that persists without the reminder. Retrieval, saved intentions and weight updates should be measured separately; remembering a rule does not guarantee applying it well.

First comparison

Start with fixed model code and a small sequence of tasks. Compare uniform replay and a tuned fixed learning-rate schedule with learned data selection alone, learned learning-rate selection alone, and both together. Include a retrieval-only condition to test when access to a saved lesson is enough. Match total interaction and compute budgets, including the cost of choosing what to learn.

Use development tasks to train and select the learning controller, then freeze its selection before evaluating on untouched task sequences and seeds. Measure new-task learning speed, retention of earlier skills, ability to keep learning, and cost. Evaluate with memory available and with retrieval disabled to distinguish dependence on reminders from changes retained in the model. This would test whether choosing how to learn helps beyond a good fixed schedule and replay policy.

Possible research direction

A value function for what to pay attention to

Could an agent learn a value function over attention itself: given the current state, which parts of the observation, which memories, and which open questions are worth attending to right now? Standard value functions estimate how good a state or action is. This proposal asks the agent to also estimate how valuable it would be to look at something, before it spends compute looking.

The intuition comes from how people work: in a busy scene we notice a few things and ignore the rest, and what we notice changes with what we are trying to do. The same state looks different when I am searching for food, avoiding a hazard, or checking whether a lesson I saved still applies. Attention is a decision, and decisions can be learned from their consequences.

Proposal only. A learned attention value function is not implemented in this prototype; whether it beats fixed attention or dense processing remains to be tested.

Attention as an action with a value?What the function scores, how it could be trained and a first comparison

What the value function scores

Treat attention targets as a set of candidates: regions of the observation, stored memories and lessons, recent events, or sub-goals. The attention value function maps the current state and a candidate target to an estimate of how much attending to it would improve later return, net of the cost of attending. The agent then allocates a bounded attention budget to the highest-value candidates and processes only those at full resolution.

This differs from attention weights inside a transformer, which are computed in a single forward pass with no explicit cost and no credit assignment to the choice itself. Here the choice of where to look is a decision whose consequences are measured over time, so the agent can learn that something boring now matters later, or that a salient distraction is not worth the compute.

How it could be trained

One route is reinforcement learning over an augmented action space: at each step the agent chooses both what to attend to and what to do, and the attention choice is credited with the return that follows. A second route is a counterfactual signal: compare the agent's prediction or value estimate with and without a candidate attended, and train the attention value to predict that gain. A third route reuses the planner: in MuZero-style search, attention targets that change the chosen action or sharpen the value estimate earn higher value.

The same function could rank memories for retrieval, which connects it to learning what and how to learn: deciding what deserves attention now and deciding what deserves to be learned later may be the same estimate applied at two time scales.

First comparison

Start in a gridworld or the survival testbed with partial observability, a few distractor signals, and a small set of saved lessons. Compare dense processing of the full observation, fixed heuristic attention (nearest hazard, nearest resource), uniformly random attention under the same budget, and the learned attention value function. Match total compute per step, including the cost of scoring candidates.

Measure return, survival time, and how often the agent attends to a target that later turns out to matter. Add a condition where the cost of attention is raised to see whether the learned function becomes more selective. Evaluate on unseen seeds and on a world where the distractors change, to test whether the agent learned a general sense of relevance or memorized which signals mattered in training.

Proposed research direction

One agent, different games

I want one agent to carry its learned model weights from game to game. Swap the environment, observations and available actions, then continue training from what the agent has already learned. The weights persist across the switch and keep updating through experience.

Learning to edit its own code is part of this proposal too. At training checkpoints, the agent’s editing controller could request a patch from an external code editor, train and evaluate that version across games, then use the measured outcome as reward to learn which editing instructions help. Compatible learned weights carry forward through accepted edits. See the code-editing RL loop below.

Proposal only. This cross-game training loop is not implemented in Lana; transfer and retention remain to be tested.

Carry learning across environment changes
Game A → Game B → Game C → revisit Game A

Train → carry forward the current weights → switch game and interface → continue learning → measure what remains.

At training checkpoints · edit the model code

Request a code patch → train and evaluate → update the editing controller → keep or revert → continue across games.

On returning to A, evaluate the latest shared weights. Loading the old A checkpoint would hide forgetting.

How the same agent can use different actionsShared weights, game adapters and a proposed retention test

A shared model with a game-specific interface

Each game supplies an adapter that maps observations into a common input format and maps policy outputs to valid game actions. It also supplies action availability, reward and episode boundaries. Include task identity or rules so the same input or action index is not silently assigned conflicting meanings. Keep the shared model architecture and weights across game switches; reset episode memory and environment state at those boundaries.

For the first experiment, use a declared collection of discrete games with a shared action vocabulary and a mask for legal actions. Define the vocabulary before training so switching games does not replace the policy head. An action index must have an explicit meaning; merely resizing or relabeling an output layer does not transfer a skill. Observation adapters must likewise preserve meaning, not just tensor shape.

More varied games may require learned observation encoders or action heads, especially when switching between discrete and continuous control. In that extension, distinguish retained shared weights from newly initialized interface parameters. A policy that scores descriptions of available actions is another possible design, requiring training to interpret those descriptions. Neither approach guarantees immediate competence in an unfamiliar game.

Put the switch inside the training loop

At a declared episode boundary, save the current training state, select the next game from a fixed schedule, load its adapter and continue optimization without reinitializing shared weights. Preserve compatible optimizer state; tag replay by game and interface version so old transitions are decoded correctly. Archive adapters and checkpoints with the environment versions. Environment changes here mean switching the game being played, not learning to generate or redesign games.

Measure transfer and forgetting separately

Evaluate each new game before training to measure immediate transfer, then track learning speed against a fresh agent with a matched budget. Revisit earlier games using the latest weights with learning disabled during evaluation. Compare sequential training with and without replay, repeat across seeds and task orders, and report each game’s scores separately when reward scales differ. Reserve fresh final evaluation seeds from all training and selection.

Connect this to code editing

The cross-game loop supplies ongoing experience to the same learner. The separate code-editing loop below could propose model changes at explicit checkpoints. First test game switching with the model code fixed; then compare adding learned code edits under the same total budget. This separates gains from carried-over weights, replay and code changes.

Proposed research direction

Learning to edit its own model code

Could an agent learn both how to act and how to change the code that makes it learn? I want to investigate code editing as an action inside a slower reinforcement-learning loop, alongside ordinary updates to model weights.

Proposal only. This loop is not implemented in Lana, and no self-editing or continual-learning result is claimed.

Two connected learning loops
Inner loop · learn to act

Observe → act → receive task reward → update weights → repeat.

Outer loop · learn to edit

Inspect learning history → choose an editing instruction → external editor writes a patch → train and evaluate → update the controller → keep or revert → repeat.

Accepted code becomes the next inner loop. Measured outcomes teach the editing controller which interventions help.

How code editing becomes an RL actionA proposed mechanism, reward and first experiment

Give the agent an explicit editing action

At training boundaries, an editing controller reads the code version, checkpoint summary, learning curves, past edit outcomes and remaining budget. It chooses whether to edit, which allowed module to target and what change to request. An external code editor receives the relevant source and instruction, then produces a patch in a versioned candidate copy. A separate runner checks the patch, trains the candidate and measures the result.

Start with a small editable policy or memory module with a fixed input/output interface. Preserve compatible weights; initialize changed parameters by a declared rule and reset incompatible optimizer state. Larger architecture changes and edits to the learning algorithm can follow after this limited setting works. Lana’s current numeric policy does not generate code. The editing controller and external code editor would be additional components of the overall agent.

Use an external editor without needing its weights

The editor can be a coding agent, a hosted model accessed through an API, or a local model. It needs a common contract: receive source, instructions and selected development history; return a candidate patch, no change or a failure. The training runner owns evaluation and promotion. The editor’s weights can remain fixed; no gradient needs to pass through it.

Train the editing controller from downstream outcomes

The controller’s action is an editing instruction or a decision to skip. The external editor’s patch, bounded candidate training and evaluation form the resulting transition. Store instructions, patches, successful and unsuccessful outcomes, invalid attempts and costs. Use the measured reward to update the controller’s action probabilities, rather than the external editor’s token probabilities. Start with a small set of edit objectives and one candidate per outer step so credit can be assigned to the instruction that produced it.

A proposed reward is the candidate’s evaluation return minus a matched unchanged parent’s return, minus penalties for added compute and lost performance on earlier tasks. Fix those coefficients and any rejection thresholds before the experiment. Both branches receive equal training budgets and paired evaluation seeds; the parent keeps learning too. Invalid patches and timeouts receive a predefined failure reward and consume budget.

Start with fixed editing instructions, a frozen external editor and selection by measured results. Supplying previous outcomes gives the editor useful context, but does not update its weights. The next comparison adds a controller trained from those rewards while holding the editor fixed. Calling that outer loop RL requires actual controller updates; accepting patches or retaining history alone is not an RL update. Ordinary model-weight learning remains in the inner loop.

Keep the measurement independent

The editable surface excludes the task reward, evaluator, test data and execution limits. Keep the editor’s access separate from candidate execution. Run candidate training and evaluation without credentials or network access, with fixed time and memory limits. Promote a candidate only at a checkpoint boundary after it satisfies the predeclared improvement and retention criteria; otherwise restore the parent. Archive source hashes, checkpoints, migrations, rewards, failures and total compute so each decision can be reproduced.

First experiment: does learning to edit help?

Use a small sequence of tasks and compare ordinary RL with no edits, random valid edits, a fixed instruction policy using an external editor with selection, and a learned instruction policy using the same editor. Match total compute, including code generation, failed trials and evaluation, and repeat across seeds. Measure new-task performance, retention, subsequent learning speed, invalid-edit rate and cost. This tests whether learning to edit contributes beyond extra search.

Use development evaluations for edit rewards and promotion. Keep a separate final task/seed suite inaccessible to the editor, freeze the selected system before testing it, and never feed those final results back into the loop. Repeated development evaluation can still overfit. Improving one task or one patch does not establish cumulative improvement or continual learning.

Related work and the open question

The Darwin Gödel Machine studies code modification with empirical evaluation and an evolving archive of agents. Hyperagents extends editable programs to include the mechanism that proposes improvements. These motivate the direction; they do not validate this proposed RL-trained editor for my model.

The research question is whether an agent can learn edits that improve future learning while preserving earlier capabilities, after accounting for the cost of finding those edits. The first experiment holds the external editor, controller-training algorithm and evaluator fixed; only the controller’s learned policy and the candidate model change.

Open questions

Questions I want to investigate about learning, experience, and the brain. These are starting points for research, not settled explanations.

Why can humans learn so much from so little experience?

Many neural networks need extensive training, yet people can sometimes learn a new concept or skill from only a few examples. What explains that gap: the size of the network, its structure, what it already knows, or how it learns?

Does having more connections help?Brain scale, model size, and an open hypothesis

My starting hypothesis is that the brain’s much larger number of connections might be part of the explanation. A commonly cited rough estimate is around 100 trillion synapses in the human brain. Comparing that with a hypothetical trillion-parameter AI model suggests a striking difference in scale—but AI has no single parameter count, and a biological synapse is not equivalent to one artificial parameter.

Connection count alone does not establish why one system learns from fewer examples. How connections are organized and updated may matter as much as their number. Could greater capacity improve sample efficiency under otherwise matched conditions? That is a testable question, not a conclusion from the counts.

Scale reference: the National Institute on Aging’s Unraveling the Mystery gives the approximate 100-trillion-synapse figure. Treat it as an estimate, not a precise measurement or a direct AI comparison.

How much experience is really “a little”?New examples versus a lifetime of prior learning

A person approaching a new task brings years of sensory experience, learned concepts, and biological structure shaped by evolution. A fair comparison should distinguish learning from scratch from adapting with prior knowledge, including an AI model’s pretraining.

Human-level one-shot learning has been demonstrated in a computational model for handwritten characters using structured prior knowledge. That narrow result suggests that what a learner brings to a task matters; it does not settle the broader human–AI experience gap. See Lake, Salakhutdinov, and Tenenbaum’s Human-level concept learning through probabilistic program induction.

What should count as experience: examples, interactions, sensory information, or time? How much of rapid learning is reusing earlier knowledge, memory, or internal rehearsal?

Does the brain use backpropagation?How does it know which connections to change?

This leads to another question: do humans learn through something like backpropagation, or through a different mechanism? Backpropagation computes how each parameter contributes to an error, allowing a neural network to adjust its weights. The biological counterpart is the credit-assignment problem: how do local synaptic changes improve the behavior of the whole system?

Whether brains implement backpropagation, approximate parts of it, or use other mechanisms remains an open research question. Biological feedback and local learning rules could support backpropagation-like updates, but a plausible mechanism is not proof that the brain uses it. See Lillicrap and colleagues’ Backpropagation and the brain.

The experience gap alone cannot tell us which learning rule the brain uses. I want to understand which combinations of network structure, prior knowledge, memory, and learning rules could make artificial agents learn more efficiently.

Related questions for continual learning

  • What should be retained, revisited, or forgotten?
  • How could rapid adaptation in context connect with durable learning?
  • How should an agent’s ability to learn and retain capabilities be evaluated across tasks?