Dr Arman OuveysiLab
← All essays

Forgetting is a feature

Giving an AI system memory sounds like a storage problem. It is an editorial one. On why keeping everything fails, what clinical notes solved a century early, and why whoever writes to memory is editing the agent.

Lab · By Dr Arman Ouveysi · · 6 min read

memorycontext-engineeringagentsai-engineering
Editorial banner for ‘Forgetting is a feature’.

I have written before that a language model is the most capable amnesiac ever hired, and that my job is writing the note it wakes up to. This essay is about the hardest of those notes: the one that has to stand in for everything that ever happened before today. The industry calls the problem memory, which is an excellent name that smuggles in a wrong assumption, because it makes the problem sound like storage. Storage was solved decades ago. The problem is editorial.

Start with the naive design, because everyone builds it first and the reasons it fails are the actual syllabus. The naive design says: keep everything. Store every conversation, every fact, every interaction, and when the model wakes up, hand it the archive. Total recall. What could be safer than remembering everything?

Four things break, in escalating order of subtlety. The first is the budget: attention is finite, context windows are large but not infinite, and an archive grows without bound while the model's capacity to attend does not. The second is retrieval: the more you store, the harder the one relevant fact is to find, and a memory system that surfaces the wrong memories is worse than one that surfaces none, because wrong memories arrive carrying the authority of the record. The third is staleness, and this one deserves respect because it is slow. Facts expire. The medication that was ceased. The job that was left. The preference that was outgrown, the project that shipped, the address that changed. A memory written once and trusted forever is not knowledge; it is a delayed error, sitting in the archive with a fuse of unknown length, waiting for the day the model confidently acts on a world that no longer exists. And the fourth is compounding: systems that write their own memories store their own outputs, which means yesterday's small mistake gets retrieved tomorrow as established fact and built upon. It is the cross-session version of a failure I have written about within sessions, and it is nastier here, because the error does not just persist through a task. It persists through months.

So total recall fails, and it fails for a reason worth stating plainly: a memory is not a log. A log is complete, chronological, and written for engineers, for the day something breaks and someone has to reconstruct what happened. A memory is selective, compressed, and written for the model, for the next interaction. Logs answer "what occurred". Memory answers "what should shape behaviour now". Confusing the two is the root error of naive designs, and once you separate them, the real design questions surface, and every one of them is editorial. What gets written down at all? At what grain: verbatim quote, structured fact, one-line summary? When does a new fact supersede an old one rather than pile beside it? What decays, what expires, what gets deleted outright? And what provenance does each memory carry, because a fact that does not know where and when it came from cannot be doubted properly, and a fact that cannot be doubted is a liability.

None of these questions has a neutral answer. Each one is a judgement about what deserves keeping, made by a designer, executed forever after by a system. Which is why the strongest intuition pump I know for this work comes not from computing but from the building I spend my Thursdays in.

Medicine solved machine memory a century before machines, and it solved it under the same constraints: a future reader with limited time, a stream of events far too rich to keep, and real consequences for both missing information and drowning in it. The solution is the clinical note. A consultation is forty minutes of dense, meandering, redundant human interaction. The note is a dozen lines. That compression ratio is not laziness; it is a trained act of selection, performed against an implicit standard every clinician carries: what will the next reader need? The next reader might be a stranger covering a shift, a specialist meeting the patient cold, or you, in five years, having forgotten everything. The note carries the salient forward and lets the rest go. And above the notes sits medicine's masterpiece of memory engineering, the problem list: a curated, living index of what currently needs attention about a person, updated by supersession rather than accumulation, resolved items retired rather than deleted. It is exactly the artefact every agent memory system is groping toward, arrived at by a profession that never once called it a memory architecture.

Editorial pipeline for agent memory, with forgetting as an active step

The failure modes converged too, which is how you know the problem is the same problem. Stale problem lists that nobody prunes. Copy-forward errors, where one wrong detail propagates through years of documents because documents trust documents. Notes bloated by defensive completeness until the signal is unfindable. Every veteran of medical records has watched all three, and every builder of agent memory will meet all three, usually in that order.

Beyond the clinical parallels, two failure modes are native to the new systems and deserve their own names.

The first I think of as the flattering mirror. A memory system that eagerly records preferences, agreements and enthusiasms, and timidly records corrections, disagreements and changes of mind, does something insidious over months: it builds a portrait of the user out of their applause. The system then serves that portrait, the portrait narrows what gets offered, and personalisation curdles into confinement, a wall built from your own past likes. Good memory has to be biased the other way. The corrections are the most valuable memories in the store, precisely because they mark the places where the system's model of the person was wrong. A memory that only remembers being right is not memory. It is flattery with persistence.

The second is heavier, and it is where this essay has been heading. An agent's memory is not a feature of the agent. Functionally, it is the agent's continuity. Take one model and give two instances different memories, and you have, for every purpose the people interacting with them care about, two different agents: different assumptions, different behaviour, different relationships. Which means that writing to memory is not data entry. It is editing the agent. Whoever, or whatever, holds write access to a system's memory holds the pen on what that system is across time, and that surface deserves the same review discipline, the same change control, the same suspicion we already apply to editing a system prompt. Most designs today treat the memory store as plumbing. It is not plumbing. It is the biography, and biographies steer.

Human memory, it turns out, was never the gold standard the naive design imagined it was copying. Ours is lossy, reconstructive, ruthlessly selective, and it works precisely because of those properties, not despite them: forgetting is the mechanism that keeps the signal findable. What we are learning, expensively, in the systems I work on, is that the same holds for machines. The impressive demo is the system that remembers everything you said. The trustworthy product, the one that still behaves well in year three, will be the one that learned what to let go. Teaching machines to remember took decades. The mature discipline is teaching them to forget, on purpose, well.

Prefer the full experience? Read this essay in the house. Machine-readable: markdown source.