Evidence label: deterministic synthetic model. This page runs a small JavaScript model of an agent's long-term memory. Forty synthetic users have six facts each that change over time; their conversations produce candidate memory writes, some correct, some one-off, some extraction errors and, with the injection event, some planted by untrusted content. Your write policy decides what is stored, and each time the agent needs a fact the model checks whether the recalled memory is correct, stale, wrong or poisoned. Nothing here calls a model or a database; all numbers are calculated estimates.
Play the lab
How to play
Pick a conflict policy (append, overwrite or reconcile), set the write gate on extractor confidence and the decay half-life, and decide whether to filter one-off statements and whether only user turns may write. Turn on Fast-changing facts or Memory injection to stress the store. Every change replays the same 90 days with the same seed, and the tiles show the change against your previous setup; use New random seed to check robustness.
Missions unlock in order. Each loads a broken memory configuration; meeting the goal earns a star, and meeting it with fewer wrong answers or higher accuracy earns up to three.
What the model assumes
Each fact takes one of eight values and changes on average every 120 days (every 30 with fast-changing facts). Users talk to the agent on 45% of days, the agent needs one or two facts per conversation, and users state one to three facts. Of those statements, 62% are correct durable facts (confidence around 0.8), 18% are one-off requests (around 0.74) and 20% are extraction errors (around 0.52). Users mention a change unprompted 60% of the time and correct a wrong answer 70% of the time; both are explicit updates. Injected writes (4% of conversations) carry confidence around 0.9. Recall picks the live memory with the highest confidence times 0.5age / half-life, and a memory expires after two half-lives without a refresh. The one-off filter catches 85% of one-off statements.
What it cannot tell you
Real extraction confidence is poorly calibrated, real facts are not independent, and real users do not state preferences at a constant rate. The model has no semantic search errors, no summarisation and no episodic or procedural memory. Use it to see how write policies interact, then measure your own memory system with a replay set built from your conversations.
Read the full explanation
- Agent Memory That Does Not Rot: Write Policies, Decay and Conflicts (companion article)
- Agent Context Compaction: What to Keep When the Window Fills Up
- MCP Tool Poisoning: How One Malicious Description Hijacks an Agent
All AI in Production labs · Lab catalog
- Park et al., Generative Agents: Interactive Simulacra of Human Behavior
- Packer et al., MemGPT: Towards LLMs as Operating Systems
- Chhikara et al., Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory
- Rasmussen et al., Zep: A Temporal Knowledge Graph Architecture for Agent Memory
- Sumers et al., Cognitive Architectures for Language Agents (CoALA)
- pgvector: open-source vector similarity search for Postgres
Views are my own and do not represent any employer, past or present.