After a year building agent memory, I'm convinced "save everything + RAG it" is the wrong default

Reddit r/AI_Agents News

Summary

The article argues that the default approach to agent memory (saving all messages and using RAG) fails due to lack of suppression, identity, and relation tracking, and proposes using a lightweight temporal knowledge graph to model the user's world instead.

The default approach to agent memory is basically: save everything the user says, embed it, and at query time pull the most similar chunks back into context. A transcript with a search box. It's easy, it demos well, and it falls apart in a specific way once you run it for real. The failure isn't retrieval quality. It's that a pile of past messages has no notion of: - Suppression: a fact from March that got overturned in June. Both chunks are still there, equally retrievable. The model gets both and picks one, often the stale one. - Identity: "he" / "that client" / "the project" resolving to the same actual entity across conversations. - That two messages are about the same thing: a commitment made in one conversation and fulfilled in another are just two unrelated chunks. All of that meaning lives between the messages, and a raw transcript throws it away the moment it stores them. Better embeddings or reranking don't get it back, because the information was never encoded in the first place. What's worked better for me is treating memory as a model of the user's world instead of a log: - store entities (people, projects, commitments) as first-class things, not sentences - attach facts to them, each with a source, a confidence, and a timestamp - new info updates the model instead of piling up next to the old - retrieval becomes "read the relevant part of a structure that already knows how its pieces connect," rather than "search text and hope" Basically a lightweight temporal knowledge graph over the user, with vector search as one path into it instead of the whole thing. It's more work up front - entity resolution, a supersession rule, deciding what's a durable fact vs. ephemeral noise - and I'm still figuring out the edges. The hardest one right now: knowing when an "update" should overwrite the old fact vs. when both should be kept as a genuine change over time. Curious how people here are handling long-lived, cross-session memory: - Pure vector-over-history, a graph, or some hybrid? - How do you stop old/overturned facts from resurfacing? - Any clean heuristic for what gets promoted to durable memory vs. left to fade?
Original Article

Similar Articles

Agent memory is not just RAG over user facts

Reddit r/AI_Agents

The article argues that simple RAG-based agent memory systems fail in production due to issues like stale preferences, missed keywords, and prompt injection, and advocates for a layered memory architecture with active selection, deterministic fallback, governance, and testing.

Memory for agents ain't here yet

Reddit r/AI_Agents

A critique of current memory solutions for AI agents, arguing that RAG wrappers and similar approaches fail to address core issues of model bias and context bloat.