AI Agent Memory: What to Keep, What to Forget
Gartner called 2026 the Year of Context, and the job boards agree. Context engineer became a title people put on LinkedIn, Cognizant announced it was hiring a thousand of them, and every framework deck now has a slide that says prompt engineering is out and context engineering is in. The label is new. The thing underneath it is older and simpler, and most of the people rushing to name it are still missing the part that actually compounds.
Here is the durable version, the one that will still be true when the acronyms have changed. The Year of Context is really the year memory became infrastructure. And the primitive almost nobody is building well is not remembering. It is forgetting.
I have shipped products on top of these models, and I have watched the same mistake happen over and over. A founder wires an agent to a frontier model, it demos beautifully, and three weeks later a user asks it something obvious about a conversation they had on Tuesday and the agent has no idea who they are. The model did not fail. The model was never asked to remember. Memory is a layer you build, the model does not come with it, and the way you build it is quietly deciding whether your product is a commodity or a compounding asset.
This is a builder’s guide to that layer. What memory actually is, why a bigger context window is the wrong fix, the four kinds of memory every serious product needs, the loop that runs them, and the one discipline that separates a product that gets smarter from a product that slowly poisons itself.
On this page
- Your AI product has amnesia by default
- Context is not memory
- The four memories every product needs
- The memory loop: write, consolidate, retrieve, forget
- The forgetting problem
- When memory becomes an attack surface
- Memory is the moat
- Two founders, one memory feature
- What most builders get wrong
- What to do Monday morning
- Frequently asked questions
Your AI product has amnesia by default
Start with the uncomfortable fact. Out of the box, every product built on a large language model has amnesia. The model is stateless. It reads what you send in this one call, produces an answer, and then it is done. When the call ends, the working state is gone. The next message arrives at a mind that has never met the user before.
People do not notice this at first because the chat interface hides it. Inside a single conversation, the app quietly re-sends the whole transcript on every turn, so the model appears to remember what you said two messages ago. It does not. It is re-reading the entire conversation each time, paying for every token again, and the moment you close the tab or start a new thread, that illusion of memory evaporates.
I call the edge where that illusion breaks the amnesia line. It is the boundary between one call and the next. On the near side, inside a single request, the model has everything you handed it. On the far side, across sessions and days and users, it has nothing unless you built something to carry state over. Most products live entirely on the near side and never realize the far side exists until a customer complains that the assistant keeps asking for information it was given last week.
The reason this matters more in 2026 than it did in 2023 is that the products got ambitious. A chatbot that answers one question does not need memory. An agent that manages your calendar, remembers your preferences, learns your writing voice, tracks a months-long project, and picks up a task where it left off yesterday needs a great deal of it. The gap between what users now expect from an AI product and what a stateless model delivers is exactly the gap memory fills. This is the same gap that separates a thin wrapper from a real product, and I have written before about why a thin layer on a copyable base is not a business. Memory is one of the few layers a competitor cannot copy by swapping in the same model.
So the first move is to stop treating memory as a feature you might add later and start treating it as an architectural decision you are making right now, even if you are making it by accident. If you have not designed your memory, you have designed amnesia.
Context is not memory
The most expensive confusion in this whole area is treating the context window as if it were memory. It is not. They sit on opposite sides of the amnesia line, and mixing them up leads founders to solve the wrong problem with the wrong tool.
The context window is working memory. It is the desk the model does its thinking on for one call. It is ephemeral, bounded, and cleared the instant the response finishes. Memory, the real kind, is a persistent store that lives outside the model, survives across calls, and gets loaded into the window only when it is relevant. One is a workspace. The other is a filing system. You need both, and they do different jobs.
Once you see the two horizons clearly, the popular fix reveals itself as a trap. When a product forgets things, the reflex is to reach for a bigger context window. The model vendors encourage this. Every few months a new model ships with a longer window, a million tokens, then more, and the pitch is that you can just put everything in and stop worrying about what to include.
The research says the opposite. Long context does not behave like a clean warehouse where more shelf space is free. It behaves like a crowded desk where the more you pile on, the harder it is to find the one page that matters. This is the finding people call lost in the middle. Models attend well to the very start and the very end of a long input and poorly to everything in between. Accuracy follows a U shape. Put the key fact near the front and recall runs above ninety five percent. Put it near the end and recall is even higher. Bury it in the middle, around the forty to sixty percent mark, and accuracy can fall below fifty percent. This pattern replicated across six model families in the original work and has held up across newer ones since.
It gets worse as the window fills. Chroma tested eighteen frontier models, including the GPT, Claude, Gemini, and Qwen families, and found that every single one degrades as input length grows, sometimes losing thirty to fifty percent of accuracy well before the advertised limit. One study watched reasoning accuracy drop from 0.92 to 0.68 as the input grew from a few hundred tokens to three thousand. GPT-4 showed roughly a fifteen percent performance drop moving from a four thousand token context to a hundred and twenty eight thousand. The advertised window and the reliable working window are two different numbers, and the gap between them is where quiet failures live. I have unpacked that gap and how to curate a single call’s window elsewhere. That piece is about what you load into one request. This one is about what you keep across all of them.
The conclusion for a builder is direct. You cannot solve memory by making the window bigger, because a bigger window is both more expensive and less reliable. You solve it by building a store outside the model and getting very good at loading only the few things that matter into the window at the moment they matter. Memory is not a bucket you fill. It is a selection you make, over and over, from a much larger pile you keep somewhere else.
The four memories every product needs
Memory is not one thing. Cognitive science has known this for decades, and the AI field borrowed the taxonomy directly. The reference most frameworks now build on is CoALA, the Cognitive Architectures for Language Agents work out of Princeton and Carnegie Mellon, which mapped four kinds of human memory onto agents. Letta, Mem0, and LangChain all use some version of it. The four are working, episodic, semantic, and procedural. If you only build one, you get a specific and predictable kind of broken.
Here is the plain-language version I use when I am designing a product, because the academic names hide how obvious the distinctions are.
| Type | Plain name | What it holds | Lifespan | What breaks if it is missing |
|---|---|---|---|---|
| Working | The desk | The live state of the current task | This call only | Nothing persists; every call starts cold |
| Episodic | The diary | What happened, in what order | Across sessions | It repeats questions and forgets decisions |
| Semantic | The notebook | Facts about the user, domain, and workflow | Long-lived | No personalization; every answer is generic |
| Procedural | The muscle | Learned workflows and tool-use patterns | Slow-changing | It relearns the same procedure every time |
The desk is the context window we already covered. The other three are what live in the persistent store, and each one fails differently when you skip it.
Skip the diary and your product has no episodic memory. It cannot say “last time we tried that and it did not work,” because it has no record of last time. It re-asks for the project name, re-confirms preferences it already confirmed, and treats every returning user like a stranger. This is the most common gap, and it is the one users feel first, because it reads as the product not paying attention.
Skip the notebook and your product has no semantic memory. It never accumulates durable facts. It does not know this user is a left-handed guitarist in Berlin who hates morning meetings, so it cannot tailor anything. Episodic memory alone, without semantic memory, makes an agent over-personalized to raw events but ignorant of the standing facts those events imply. Semantic memory is the layer that turns “the user mentioned they moved to Berlin” into the durable fact “user location: Berlin” that survives after the conversation scrolls away.
Skip the muscle and your product has no procedural memory. It never gets better at the how. Every time it runs a multi-step workflow it figures out the steps from scratch instead of remembering the sequence that worked. Procedural memory is what lets an agent improve at a repeated task rather than approaching it fresh and fallible each time.
The reason you need all four together is that each covers a blind spot in the others. An agent with only episodic memory drowns in raw history and cannot generalize. One with only semantic memory knows facts but cannot learn from experience. One with only procedural memory executes rigidly and breaks the moment the situation shifts. The competence of the product lives in the combination, and most teams build one, ship it, and wonder why the assistant feels shallow.
The memory loop: write, consolidate, retrieve, forget
Having four kinds of memory is not enough. Something has to move information into them, keep them from turning into landfill, pull the right pieces out at the right time, and remove what no longer belongs. That is the memory loop, and it runs four operations. Three of them get built by almost everyone. The fourth is the one that separates the products that compound from the products that rot.
Write is the intake. As a conversation happens, the system captures what might matter later. Done naively, this is where products go wrong, because writing everything is the same as remembering nothing useful. The store bloats, retrieval gets noisy, and cost climbs.
Consolidate is the step that turns raw transcript into durable knowledge. Instead of storing the full text of every exchange, a good memory layer extracts the facts. “The user spent ten minutes explaining they are switching from Notion to Obsidian” becomes the compact semantic fact “tool preference: Obsidian, migrating from Notion.” Consolidation is why the strong memory systems stay small and precise. Mem0, one of the systems that leads the current benchmarks, reports around seven thousand tokens per retrieval against twenty five thousand to a hundred thousand or more for stuffing full context, roughly a three to four times cost advantage at comparable accuracy, while cutting active context size by seventy to eighty five percent. The savings come from consolidating, not hoarding.
Retrieve is the selection back into the window. At the start of a call, the memory layer pulls the handful of entries most relevant to the current task, using semantic similarity, keyword matching, and entity matching, and injects only those into the context. This is where the lost-in-the-middle math pays off. You are not fighting the U-shaped curve because you are not filling the window. You are placing a few high-value facts near the front where recall is strongest.
Forget is the operation almost nobody builds, and it is the reason so many memory systems degrade over time. Every framework deck has a diagram of write, store, and retrieve. Very few have a diagram of eviction. And yet without deliberate forgetting, the store fills with things that are stale, contradicted, or simply irrelevant, and every one of those poisons future retrievals. A memory system that only ever adds is a memory system that gets worse the longer it runs.
The forgetting problem
This is the contrarian core, so I want to state it plainly. Everyone is racing to make agents remember more. The move that actually compounds is teaching them to forget on purpose. A Microsoft engineering piece this year put it well when it argued that the fix for an agent’s amnesia is, counterintuitively, better forgetting. The reason is that not all memories should survive, and the ones that should not are the ones that quietly do the most damage.
Consider the failure that has a name in the newer work, because I think it deserves its own name for founders too. I call it memory rot, and it is distinct from the context rot we talked about earlier. Context rot is accuracy loss inside a single overstuffed window. Memory rot is a persisted fact that was true when you saved it and is false now, sitting in your store, getting retrieved with full confidence, and steering answers wrong. The classic example is simple and brutal. Your product remembers that a user works at Acme. That fact is accurate and useful, so your retrieval ranks it highly and surfaces it often. Then the user changes jobs, and nobody tells the memory. Now the single most-retrieved fact about that user is confidently, repeatedly wrong. The strength of the memory is what makes the error so hard to shake.
This is why forgetting is not one thing either. There are three gates, and a serious product needs all three, because each catches a different kind of memory that should not survive.
| Gate | Mechanism | What it removes | Example | If you skip it |
|---|---|---|---|---|
| Expire | Time to live (TTL) | Anything past its useful date | A one-day-old order status | Dead facts linger and mislead |
| Decay | Usage-based decay | Low-relevance, rarely-retrieved entries | A preference mentioned once, never again | The store bloats; retrieval precision falls |
| Supersede | Staleness detection and interference | A fact a newer fact contradicts | “Works at Acme” after they change jobs | The agent is confidently wrong |
Expire is the easy one. Some facts have an obvious shelf life. An order status, a meeting time, a temporary access token. Attach a time to live when you write them, and let them fall out automatically. Skipping this is how a product ends up telling a user about a delivery that arrived last week.
Decay handles the long tail of low-value memories. A user mentions once that they prefer bullet points, and it never comes up again. That entry is not wrong, it is just noise, and it is taking up retrieval space and slightly lowering the odds that a better memory gets surfaced. Usage-based decay lets rarely-touched entries fade so the store stays lean. This is the gentlest gate and the one that keeps precision high over months of use.
Supersede is the hard one, and it is the open problem in the field right now. Decay handles memories that are unimportant. Supersede has to handle memories that are important and wrong, which is a much harder call, because the very importance that makes them dangerous is what keeps them getting retrieved. Handling it means detecting when a new fact contradicts an old one and letting the new one win, what the research calls interference. It means time-aware reasoning, so the system knows that “works at Acme, recorded fourteen months ago” is a weaker claim than “mentioned a new job last week.” The current guidance is to combine decay with trust scoring and source validation, so that a verified, reinforced memory holds more weight than an old one that has not been confirmed lately, and a contradicting update can retire it. Nobody has fully solved this. That is exactly why it is worth building well, because the products that handle supersede gracefully will feel dramatically more trustworthy than the ones that do not, and trust is the currency AI products spend. I have argued before that predictability is what a user actually pays you in, and a memory that goes confidently stale is one of the fastest ways to spend that trust down to zero.
There is a reliability angle here too. A stale memory that steers an answer wrong is not a model failure, it is a memory-governance failure, and it looks exactly like the kind of confident, plausible, wrong output that erodes an agent’s standing. I have written that reliability is bought by taking decisions back from the model. Governed forgetting is the same discipline applied to state. Every ungoverned memory is a decision you handed to chance.
When memory becomes an attack surface
There is a sharper reason to care about forgetting, and it moves this from a quality problem to a security one. The moment your product has persistent memory, that memory becomes an attack surface, and it is a worse one than most builders realize.
Without memory, a prompt injection is a one-shot problem. An attacker slips a malicious instruction into some content the model reads, the model does something it should not for that one call, and then the call ends and the exposure is gone. Bad, but bounded. Add persistent memory and that same injection becomes a standing order. The attacker gets a malicious instruction written into long-term memory during one ordinary-looking conversation, and now it is retrieved again on every future session. The exploit stops being a moment and becomes a durable channel. I call this the persistence trap, because the very feature that makes your product valuable, that it remembers, is the feature that makes a single successful injection permanent.
The security researchers have been blunt about this. Persisting a malicious instruction turns a transient exploit into a durable control channel, and the demonstrated attacks are quiet. One normal-seeming conversation induces a preference or a behavior, it gets consolidated into memory like any other fact, and the next session retrieves the poisoned entry and the agent relapses without any new attack. There are now research frameworks aimed squarely at this, governance schemes for evolving memory and forensic methods for spotting the trajectory signatures of a poisoned store. The field is taking it seriously because the blast radius of a poisoned memory is every future interaction, not just the one where the attack landed.
The defense is the same forgetting discipline, aimed at safety. Source validation on write, so untrusted content cannot silently become a trusted memory. Trust scoring, so a freshly-introduced instruction does not immediately outrank a verified one. And the ability to supersede and evict, so a bad entry can be retired rather than living forever. This is why I treat memory governance as part of the security surface, not a nice-to-have. It sits in the same family as the agent security work I have described as the next real software category. An agent you cannot make forget is an agent an attacker can permanently reprogram.
Memory is the moat
Now the part that should change how you think about your product, not just how you build it. In a world where everyone rents the same handful of frontier models, the model is not your advantage. It is a commodity input, available to your competitor at the same price with the same capabilities. I have described the clock that runs on any capability the base models can copy. Memory is one of the few layers that clock does not touch, because the memory your product accumulates is yours, it is specific to your users and your workflow, and a competitor cannot get it by swapping in the same model.
This is the accumulation moat. Every genuine interaction deepens the store. The product knows more about this user, this account, this domain than it did last month, and that knowledge makes every future answer better, which drives more use, which deepens the store further. It is a loop that compounds with time and cannot be shortcut with capital, because you cannot buy the specific memory of a specific user’s two years of work. You have to earn it one interaction at a time.
You can see the biggest players betting on exactly this. OpenAI rewrote ChatGPT’s entire memory architecture this year, an internal effort they codenamed Dreaming, and the reason is instructive. The rewrite pushed time-sensitive memory accuracy from about nine percent under the original 2024 system to roughly seventy five percent, and they engineered a five times compute reduction specifically so they could afford to give memory to free-tier users. You do not spend that kind of engineering on a feature. You spend it on a moat. The stated bet inside the company is that long-running personalization is a durable product advantage worth funding to defend. When the largest AI product in the world decides its defensibility lives in memory, a founder should take the hint.
Be careful to draw the moat correctly, because it is easy to confuse with two nearby things. It is not the same as a static data asset. I have written a test for whether data is actually defensible, and the point there is that a pile you own can be sold once, while only a loop nobody else can run is a moat. Runtime memory is the loop version. It is not a dataset you licensed, it is interaction state that renews itself through use. And it is not the same as workflow switching cost. I have covered how a workflow wedge locks a customer in through the work they do in your product. Memory lock-in is quieter and stickier. It is not the effort of moving, it is the accumulated understanding a user would lose, the two years of context that makes your product feel like it knows them and a fresh competitor feel like a stranger. Both moats are real. Memory is the one that gets deeper every day you do nothing but keep the lights on.
The map makes the trap visible. The reflex move is to push right, to remember more, and a lot of teams do exactly that and land in the Hoarder quadrant, deep memory with no governance, which is where memory rot and poisoning live. Depth without forgetting is not a moat, it is a liability that grows. The only quadrant that compounds is the top right, deep and governed, and the only road there runs through forgetting.
Two founders, one memory feature
Let me make this concrete with two builders I have effectively watched run the same play with opposite results, because the difference is the whole lesson.
Both ship an AI assistant for a professional workflow. Both, in the same month, add memory, because users are asking for an assistant that remembers. The feature ships in both products and demos identically. In week one you cannot tell them apart.
The first founder builds write, store, and retrieve. Everything the user says gets captured, consolidated loosely, and pulled back when it seems relevant. It is impressive for a while. The assistant recalls preferences, references past work, feels attentive. Then time does its work. The store fills. Corrected facts sit next to their corrections, because nothing supersedes. A preference the user abandoned six months ago keeps resurfacing, because nothing decays. The assistant confidently tells a user about a client relationship that ended in the spring, because the memory that they were a client was strong and never retired. Retrieval slows and gets noisier as the store grows. By month four the memory feature is a support liability, and the team is quietly discussing whether to let users turn it off. They built a Hoarder.
The second founder builds all four operations, and treats forgetting as a first-class part of the design rather than an afterthought. Facts get time to live where it applies. Low-value entries decay. A contradicting update retires the fact it contradicts. Untrusted content cannot silently become a trusted memory. The store stays small, sharp, and current. By month four this assistant is not a liability, it is the reason users will not switch, because it knows them accurately and it has never embarrassed them by being confidently out of date. Same feature name, same launch week, opposite trajectory. One product decayed. The other compounded. The fork was forgetting.
The lesson is not that the second founder is smarter. It is that the second founder understood that a memory system is defined by what it refuses to keep. Adding memory is easy and everyone does it. Governing memory is the work, and it is the work that decides which quadrant of the map you end up in.
What most builders get wrong
The mistake I see most is treating memory as a storage problem. Framed that way, the goal is to remember as much as possible, and success looks like a big, rich store. That framing is exactly backwards. Memory is a curation problem, and success looks like a small, current, trustworthy store that forgets aggressively and keeps only what earns its place.
The whole industry conversation reinforces the wrong instinct. The pitch is always about capacity. Longer context windows, more storage, systems that never forget anything. Remembering is marketed as the feature and forgetting is treated as a limitation, a bug in older systems that we have finally overcome. It is the reverse. The systems that never forget are the ones that rot. Forgetting is not a weakness your memory layer suffers from. It is a discipline your memory layer needs, and building it deliberately is the difference between an asset and a slow-growing liability.
Here is the honest counterweight, because the discipline cuts both ways. You can absolutely forget too much. Strip the store too aggressively and you are back to a shallow, generic assistant, sitting in the Tidy-but-thin quadrant, safe and forgettable. The goal is not maximum forgetting any more than it is maximum remembering. It is calibrated forgetting, keeping the durable and the verified, retiring the stale and the untrusted, and being deliberate about which is which. The skill is not remembering everything and it is not forgetting everything. It is knowing the difference, and building the machinery that acts on it.
The founders who get this build a compounding advantage that is genuinely hard to copy, because it is made of their users’ accumulated context and governed by a discipline most competitors do not even know they are missing. The ones who miss it ship an impressive demo that quietly turns into a liability, and they usually blame the model.
What to do Monday morning
If you build anything on top of a language model, here is the audit I would run this week. It takes an afternoon and it will tell you which quadrant of the map you are in.
Find your amnesia line. Trace what happens when a user closes the tab and comes back tomorrow. What does your product still know about them, and what does it silently drop? If the honest answer is that it starts from zero, you are shipping amnesia, and that is a decision you should be making on purpose rather than by default.
Inventory your four memories. Write down what your product remembers and sort it into the desk, the diary, the notebook, and the muscle. Most products have a strong desk, a weak diary, no notebook, and no muscle. Naming the gaps tells you what to build next, and usually the highest-value gap is semantic memory, the durable facts that make answers personal.
Draw your memory loop. For each of the four operations, ask whether you have actually built it. Almost everyone has write, most have some retrieve, fewer have real consolidation, and almost nobody has deliberate forgetting. Wherever the loop is broken, that is where your product will degrade.
Install the three forgetting gates. Add a time to live to facts that have a shelf life. Add usage-based decay so the long tail fades. And take a first real run at supersede, detecting when a new fact contradicts an old one and letting the new one win. This is the highest-value work in the whole system, and it is the work almost no competitor is doing.
Find your one compounding memory. Ask what your product could accumulate, uniquely, that a competitor with the same model could not get. That is your moat candidate. Invest in the loop that deepens it, and govern it hard so it stays accurate, because a moat that goes stale is just a liability with good marketing.
Memory is the layer where AI products stop being interchangeable. Get it right and every day of use makes you harder to replace. Get it wrong and every day of use makes you slightly less trustworthy. The frontier model is the same for you and your competitor. The memory is the part that is yours, and the discipline that decides whether it compounds or rots is the willingness to forget on purpose. That work is durable, it belongs to you, and it sits at the center of the wider map of where the real AI opportunities are for builders. It is also the kind of layer a solo founder can own end to end, which is why it belongs in the playbook for building an AI-native company.
Frequently asked questions
What is the difference between AI agent memory and the context window?
The context window is working memory. It holds the live state of a single call, it is bounded, and it is cleared the moment the model finishes responding. AI agent memory is a persistent store that lives outside the model, survives across sessions, and gets loaded into the window only when relevant. The window is a desk you clear after every task. Memory is the filing cabinet beside it. You need both, and confusing them leads builders to reach for a bigger window when they actually need a memory layer.
Why not just use a bigger context window instead of building memory?
Because long context degrades. Models attend well to the start and end of an input and poorly to the middle, so accuracy on a buried fact can fall below fifty percent, and testing across eighteen frontier models found every one loses accuracy as input grows, sometimes by thirty to fifty percent. A bigger window is also more expensive on every call. Memory systems that consolidate and retrieve only what matters report three to four times lower token cost at comparable accuracy. Bigger windows make the problem more costly and less reliable at the same time.
What are the four types of AI agent memory?
Working memory is the current context window, live for one call. Episodic memory is the diary, a record of what happened and in what order across sessions. Semantic memory is the notebook, durable facts about the user, domain, and workflow. Procedural memory is the muscle, learned workflows and tool-use patterns. The taxonomy comes from the CoALA framework, and each type covers a blind spot in the others, which is why serious products build all four rather than one.
Why is forgetting important for AI memory?
Because a memory system that only adds gets worse over time. Stale facts, contradicted facts, and low-value entries pile up and poison future retrievals. The worst case is a strong, frequently-retrieved fact that has gone false, like a user’s old employer after they change jobs, which then gets surfaced confidently and wrong. Deliberate forgetting, through expiry, decay, and supersession, keeps the store small, current, and trustworthy. Forgetting is the discipline that separates a memory layer that compounds from one that rots.
What is memory poisoning in AI agents?
Memory poisoning is when an attacker plants a malicious instruction into an agent’s long-term memory during an ordinary-looking interaction. Because the instruction persists, it gets retrieved on every future session, turning a one-shot prompt injection into a durable control channel. Persistent memory makes the exploit permanent rather than momentary. The defenses are source validation on write, trust scoring so new untrusted content cannot outrank verified memories, and the ability to supersede and evict a bad entry.
Is AI memory actually a competitive moat?
Yes, and it is one of the few that survives model commoditization. The frontier model is a rented commodity available to your competitors at the same price. The memory your product accumulates is specific to your users and your workflow, it deepens with every interaction, and it cannot be bought or copied by swapping in the same model. That is why OpenAI rewrote ChatGPT’s memory architecture and engineered a five times compute reduction to give memory to free users. When the largest AI product treats memory as defensibility worth funding, smaller builders should too.
How is runtime memory different from a data moat?
A data moat is usually about a static or licensed dataset, a pile you own that could in principle be sold once. Runtime memory is interaction state that renews itself through use, a loop rather than a pile. It is also different from a workflow switching cost, which is the effort of migrating. Memory lock-in is the accumulated understanding a user would lose, the context that makes your product feel like it knows them. Both are real advantages, but memory is the one that gets deeper every day even when you ship nothing new.
What is the fastest way to improve AI product memory?
Start by adding the operation almost nobody builds, which is deliberate forgetting. Give facts with a shelf life a time to live, let low-value entries decay, and detect when a new fact contradicts an old one so the new one wins. Then make sure you have real semantic memory, the durable facts that make answers personal, because that is usually the biggest gap. Consolidate rather than store raw transcript, so the store stays small and retrieval stays precise. Governing memory well improves quality faster than remembering more ever will.