DEV Community

Cover image for Your AI Remembers Everything. That’s the Problem.
S6stem
S6stem

Posted on

Your AI Remembers Everything. That’s the Problem.

What if your AI assistant remembered everything you ever told it?

At first, that sounds like the dream.

No more repeating yourself. No more re-explaining your preferences every few days. No more starting from zero every time you open a new conversation.

The AI remembers you.

Great — until it remembers the wrong version of you.

Here's the scenario. A year ago, you told your assistant:

I live in Paris.

A few months later, you moved:

I moved to Berlin.

Now it's Friday night, and you ask:

Find me a good restaurant near home.

The assistant has both memories. It remembers Paris. It remembers Berlin. Technically, the memory system worked exactly as designed — nothing was lost, nothing was corrupted, and both memories are genuinely relevant to the question.

But only one of them describes your life now.

That's where it gets interesting.

I thought forgetting was the problem

When I started thinking seriously about persistent memory for AI agents, the failure mode seemed obvious: AI forgets too much.

You spend hours working with an assistant. You explain how you work, walk it through your projects, correct it, make decisions together. Then you open a new session, and most of that shared context is just gone.

So the obvious fix is memory. Store what matters, retrieve it later, give the agent continuity. I still believe that.

But while building BaseMyAI, I realized I'd only been looking at half the problem. Once an AI can remember things for weeks, months, or years, forgetting stops being the only way memory can fail.

There's a second failure mode, and it's sneakier: remembering something that isn't true anymore.

I'm starting to think that one might be the harder problem to solve.

The old memory isn't wrong — it's just old

This distinction matters more than it sounds.

When you told the assistant you lived in Paris, that memory was correct. Nothing wrong with storing it. And when you moved to Berlin, the Paris memory didn't suddenly become false — it became historical.

That's a different thing entirely, and it means deleting old memories isn't the answer either. I don't want my assistant to wipe the fact that I used to live in Paris. Maybe one day I ask:

What was that restaurant I used to go to when I lived in Paris?

Suddenly that "old" memory is exactly what I need.

So the system needs something more subtle than storage or deletion. It needs to understand:

You lived in Paris before. You live in Berlin now.

Obvious to a human. For a memory system, it changes the entire problem.

Memory and history aren't the same thing

Store every piece of information forever, and what you end up with is a history. That's genuinely useful — but a history isn't automatically an understanding of the current state of the world.

Think about how much around us is constantly shifting: your address, your job, the tools you rely on, the people you work with, your schedule, your plans. The restaurant you loved that closed six months ago. The subscription you cancelled. The trip you were planning that already happened.

Even something as small as an appointment runs into the same wall.

Monday:

My appointment is Friday at 10 AM.

Thursday:

They moved it to 2 PM.

Friday morning:

What time is my appointment?

A memory system can retrieve both statements without any trouble. That's not enough — it needs to understand that the second statement overwrote the meaning of the first.

This is where persistent memory stops looking like storage and starts looking like something else entirely.

Retrieval was the easy mental model

The simple version of AI memory looks like this:

something happens
        ↓
store it
        ↓
find it later
        ↓
give it back to the model
Enter fullscreen mode Exit fullscreen mode

Honestly, that's already useful. But the longer an agent stays alive, the more this model breaks down — because eventually you don't just have memories, you have versions of reality.

Something was true. Then something changed. Something else replaced it. Maybe the old information is still valuable historically, or maybe it should never surface in a normal answer again. Maybe two memories don't even contradict each other outright — one just quietly makes the other obsolete.

At that point, the question isn't:

What memory is relevant to this question?

It's:

What memory is relevant to this question and still reflects reality right now?

Two very different questions — and most memory systems are only built to answer the first one.

This changed how I think about memory

The more I work on this, the less I think of memory as a pile of facts and the more I think of it as evolving state.

A memory can have a beginning. It can have an end. Something can replace it, or invalidate it — and sometimes the old version is worth keeping precisely because the history matters.

Conceptually, instead of this:

Memory {
    content
}
Enter fullscreen mode Exit fullscreen mode

you end up needing something closer to:

Memory {
    content
    valid_from
    valid_until
}
Enter fullscreen mode Exit fullscreen mode

Not because every memory system needs exactly those two fields — the fields aren't the point. The point is the idea underneath them: truth has a timeline, and a memory system that doesn't represent that is only telling you half the story.

And time isn't even the whole problem

Here's another case. You tell an AI:

I think my laptop keeps crashing because it's overheating.

Later, after actually digging into it:

Never mind — it wasn't overheating. The SSD was failing.

Again, the first memory wasn't fake. It was accurate to what you believed at that moment. But the system has since learned something better.

This isn't an old fact quietly aging out. It's a belief being corrected — and that's a much deeper rabbit hole, because it suggests agent memory isn't only about remembering facts. It's about maintaining beliefs.

What do we currently think is true? How confident are we in it? Where did it come from? Was it later contradicted? Should the agent still lean on it when making a decision?

"Give the agent a vector database" starts to look like a very small slice of a much bigger problem.

Similar doesn't mean true

This might be the biggest shift in how I think about this now.

Semantic search is genuinely powerful. Ask where I live, and both of these are semantically relevant:

I live in Paris.
I moved to Berlin.
Enter fullscreen mode Exit fullscreen mode

A good embedding model retrieves both. A good vector index retrieves both fast. Everything works exactly as designed — and the agent can still give you the wrong answer.

Because similarity answers one question:

Does this memory relate to what's being asked?

It doesn't answer the question that actually matters:

Should I still believe this memory?

That's not a search problem. It's a memory problem — and no amount of better retrieval fixes it on its own.

Persistent memory creates its own failure modes

This is why "just give agents memory" isn't the finish line I once thought it was.

A stateless agent fails in an obvious way: it forgets, and you notice immediately. You have to repeat yourself. Annoying, but visible — you know exactly what went wrong.

A stateful agent can fail more quietly. It remembers perfectly. It retrieves something relevant. It answers with total confidence. And it can still be operating on a version of reality that no longer exists.

That's much harder to catch, because from the outside the agent never looks confused.

It looks certain.

What I'm exploring with BaseMyAI

BaseMyAI started from a simple frustration: I didn't want AI agents to start from zero every time. If an agent has been working with me, or on a project, for months, I want that history to actually count for something.

But the deeper I get into this, the less interested I am in just storing more. The hard and interesting part is deciding what should still matter — which is why I've been building toward temporal memory: validity windows, invalidation, controlled forgetting, and better ways of compiling the right memories back into context at the right moment.

Not because I want an AI to remember everything forever. Almost the opposite. I want it to know the difference between:

This is true.

and:

This used to be true.

That distinction starts to matter a lot once agents stop being disposable chat sessions and start becoming software that sticks around.

Maybe infinite memory is the wrong goal

There's a lot of excitement right now around agents that remember more and more, and I get the appeal. Memory feels like the obvious missing piece.

But I've come around to thinking "infinite memory" is the wrong target. Storing everything is the easy part. Knowing what still matters right now is the hard part.

Maybe the goal was never:

Remember everything.

Maybe it's:

Remember what matters. Understand when it changed. Keep the history when it's useful. Know what's still true now.

I wrote recently that AI agents don't need more context — they need memory. I still stand by that. But I'd add one thing now: agents don't just need a way to remember the past. They need a way to hold onto an understanding of the present.

And I'm increasingly convinced those are two different systems, not one.

If you're building anything with persistent AI memory, I'm curious about one thing: what do you do when a memory was completely correct when it was stored, but isn't true anymore?

Top comments (10)

Collapse
 
reidmarlow profile image
Reid Marlow

The tricky part is that recency is not the same as authority. Some memories should decay quickly, like location. Some should stay stable until explicitly replaced, like a project constraint. I would want the agent to surface the conflict instead of silently picking the newer note.

Collapse
 
mikeross27 profile image
S6stem

Yeah, exactly. I don’t think “newer = more true” is a good rule either.
Some things should naturally expire. Your location is a good example. But a project constraint, a preference, or an important decision might stay valid for months until something clearly replaces it.And if two memories conflict, I’d much rather the agent notice that conflict than quietly pick the newest one and pretend everything is fine.
That’s a big part of what I’m trying to figure out with BaseMyAI: not just what to remember, but what is still true, what replaced what, and when the agent should stop and ask you instead of guessing.That last part is probably the hardest one.

Collapse
 
izgorodin profile image
Edward Izgorodin

The Paris example is the right test case, and your conclusion that deletion is also wrong is the part most systems miss. The cleanest prior art I know for this is bitemporal records: Graphiti, which is Zep's engine, gives every fact two time axes, when the system learned it and when it was true in the world. A contradiction does not delete the Paris fact; it closes its validity window. "Where did I eat when I lived in Paris" still works, and "near home" resolves to Berlin. History and current state stop being the same query.

One sneakier failure worth adding to your list, because we walked into it ourselves: in most shipping memory code, retrieval is what keeps a memory alive (last-accessed refresh, TTL refreshed on read, strength incremented on recall). A stale fact that keeps getting retrieved is protected by the exact signal that was supposed to age it out. Staleness is not just a modeling gap; it gets actively reinforced.

Disclosure: I work on Mnemoverse, a memory layer for AI agents, so weigh the bias accordingly. Good writeup.

Collapse
 
mikeross27 profile image
S6stem

That retrieval feedback loop is a really good point.

It actually hits something I need to be careful about in BaseMyAI. I already treat temporal validity separately from forgetting, so a fact can remain part of the history without still being considered true now.

But if recall itself increases importance or refreshes recency, you can end up with this weird loop where a stale fact keeps surviving simply because the system keeps retrieving it.

I think the important rule is that retrieval should never be able to make an expired fact “current” again. Access can affect how useful a memory is to keep around, but not whether it’s still true.

Same with provenance/trust. I’m trying to keep those as separate signals rather than collapsing everything into one memory score.

So you end up with different questions:
“Was this true then?”
“Is this true now?”
“How confident are we in it?”
“Is it still worth keeping?”

Those shouldn’t all have the same answer.

Really good catch on the reinforcement problem. That’s exactly the kind of failure mode that only shows up once memory starts living for a long time.

Collapse
 
izgorodin profile image
Edward Izgorodin

That rule deserves to be printed on a wall: retrieval must never make an expired fact current again. Access can argue for keeping a memory around; it must not get a vote on whether the memory is still true. Keep-worthiness, validity, and provenance as three separate axes is exactly the decomposition that collapsing everything into one memory score destroys. Looking forward to seeing how BaseMyAI holds that line.

Thread Thread
 
mikeross27 profile image
S6stem

Yeah, that separation is becoming one of the rules I don’t want BaseMyAI to compromise on.

A memory can be worth keeping without still being true, and it can be true without being highly trusted. Those are different questions, and once they get collapsed into a single score it becomes really hard to reason about why the system made a decision.

So the direction I’m pushing toward is pretty strict: retrieval can influence retention, but validity has to come from the memory’s actual evolution — updates, supersession, correction, conflicts — not from how often it gets recalled.

I think that distinction is going to matter a lot once agents start carrying memory for months instead of sessions.

Really appreciate you calling that out.

Thread Thread
 
izgorodin profile image
Edward Izgorodin

Agreed, and the same split has a leak on the way out: retention decisions become validity decisions by attrition. If a record is true, rarely recalled, and gets evicted for exactly that reason, the store's answer to "what is true" has quietly changed without any validity operation ever happening. The separation holds only if eviction leaves a mark, or if the last surviving record on a subject is never dropped on usage grounds alone.

The months-not-sessions point is the one I would underline hardest. Most of these designs get tested over a horizon where nothing has had time to become false yet.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.