Discussion about this post

User's avatar
Tash A's avatar

Great diagnosis, especially the line that the problem is structure, not storage. One angle worth adding before reaching for a knowledge graph: a lot of the pain people blame on vector search is actually write-side and can be fixed much more cheaply. (I make ScallopBot, a self-hosted assistant, so take this as a builder's view.)

Three things that moved the needle for us, all without a graph layer:

First, hybrid retrieval. Embeddings alone miss names and exact phrases, so we run BM25 and vector search together with a rerank step, and we score-gate the result: if nothing clears the bar, the assistant says it does not know instead of confabulating. That alone kills a whole class of false memories.

Second, write-side discipline. Facts get extracted in the background after each message, deduped against what is already stored, and an old fact only gets overwritten when a classifier is confident the new one supersedes it and it does not contradict something else. Staleness is mostly an update problem, not a retrieval problem.

Third, time. Dates are embedded in the memory text and date-shaped questions are detected up front, so "when did X happen" does not go through similarity search at all.

A graph adds real value for relationship traversal, agreed. But if you skip the three basics first, the graph just inherits dirty data. More on how we structured ours here:

https://scallopbot.com/memory/

No posts

Ready for more?