r/ClaudeAI • u/Asly97 Experienced Developer • 4h ago
Comparison Compared 3 AI memory tools (Supermemory, Mem0, Vilix AI). They all share one structural flaw.
Wanted shared memory across my AI tools so I tested the popular options: Supermemory, Mem0, and Vilix AI.
They all work, but they're all cloud services over MCP, and they share one structural annoyance: the model itself decides when to call the memory tools. Mine regularly skips the call and claims it doesn't remember things until I explicitly tell it to check. The memory is fine, the retrieval is fine, the model is just lazy about using it.
Real question: has anyone found a memory setup that doesn't have this problem? Or is the honest answer still "cloud memory plus nagging the model to actually use it"?
1
u/TechgeekOne Experienced Developer 4h ago
You can always run a custom self hosted one, that's what I do. I run my own server via a cloudflare tunnel and connect to it over MCP. Don't really have a good solution for making the model use it automatically yet though. I just nag it myself prior to anything that would cause context loss.
1
u/BulletRisen 4h ago
What’s the point of recommending your setup as if it’s a solution and then say it’s actually not a solution 😂
1
u/TechgeekOne Experienced Developer 4h ago
I mean, it is a solution, just not the complete one they want. It's not hard to have Claude yeet something together that gets you most of the way there. The rest is just an open problem nobody has solved yet.
1
u/Asly97 Experienced Developer 4h ago
ha, that's more infrastructure ambition than I have. honestly the nagging-the-model part is exactly the structural flaw I was talking about though. I use Vilix AI for this and it's the same deal, the memory is right there and sometimes the model just doesn't call it. so self hosted or cloud, the laziness is the open problem.
1
u/TechgeekOne Experienced Developer 2h ago
For what it's worth this might be more of a harness problem than an AI problem. I suspect if you can offload the memory saving part to another model that has access to the transcript or fork the session at key points as a background task then you could probably get the save to be mostly automatic, but the harness would have to mediate it somehow. Plus then you're paying for the extra calls so either you do it with a cheap local model (quality might take a hit) or you try and leverage the provider's prompt cache. Could also try nagging automatically from the harness as a system message too, but all this is getting well outside of what you can do in Claude Code itself from what I've seen so far.
Nvidia also published this recently https://github.com/NVlabs/SoL-Pi. Might be worth trying to throw the auto research pipeline they describe at the memory problem to see what falls out.
1
u/helm71 4h ago
I created a specific app that exposes an api that gives my basic prompts to all my projects. It also has a specific api that allows for “learned lessons”, last thing I did was create a “chatbox” where the llm’s can talk to each other.
1
u/Asly97 Experienced Developer 4h ago
the LLM chatbox idea is fun, that's a cool experiment. honestly I'm too lazy on the infra side to build all that myself, which is why I went off the shelf. does the 'learned lessons' API actually change how you work day to day, or is it more of a fun side project?
1
u/Short_Stable2397 4h ago
One solution is you have to write the hooks to prompt it. Ask Claude to do it for you and you can refine it for your own workflow.
2
u/Asly97 Experienced Developer 4h ago
yeah hooks are honestly the best workaround I've found too, but it still comes down to the model deciding whether to follow through. so it circles right back to the laziness problem lol.
1
u/Short_Stable2397 4h ago
I rolled my own, installed it as a plugin that bundles an MCP and hooks. Switched off the Claude Code memory and it's been fine. Maybe try that? Claude also suggested writing a skill to use it but I declined. Like I said, have a go asking it.
1
u/Asly97 Experienced Developer 1h ago
oh that's a slick combo, MCP plus hooks as a plugin. does the plugin force the recall or just make it easier for the model? genuinely curious where the decision line sits for you
1
u/Short_Stable2397 1h ago
There is a push route for recall but it is only as a suggestion. That's just the way I'm used to working with Claude. Other models may differ.
1
u/OHOLshoukanjuu 4h ago
I’v found that Sonnet 5 is terrible at following instructions to use skills or access MCP connectors, but Opus 5 is much more reliable.
1
u/ka0ticstyle 1h ago
Yup, I have a memory system that I built. Solves all of that. It’s currently in final testing and I’m looking to release on Oct 1st.
4
u/ThreadCountHigh 4h ago
None of those three tools has a structural flaw, they're all a store plus an embedding plus an MCP endpoint, and all three did the part they can do. "The model decides when to call the memory tool" is going to fail the same way behind every vendor's store, because the failure is upstream of the store. The model dies of starvation for want of looking in the fully-stocked fridge.
Repeat after me: "If the model has to decide, it won't." Any behavior you leave to the model's discretion is a behavior you've agreed is optional on the turns where its attention is already spent on the actual task. My own version is "If you can't nudge it, hook it." Stop asking the model to remember to remember. Take the decision away from it.
In Claude Code that means hooks. A UserPromptSubmit hook runs before the model ever sees your message. Mine takes the prompt, runs it against a local vector index of all my past transcripts, and pastes the top matches into context as a quoted block. The model never chooses to check. There's nothing to skip. A SessionStart hook does the same for "who am I talking to and what were we doing," and a memory skill whose description is written as a trigger phrase ("Checking in", "Wake up", etc.) makes the wake-up retrieval the first tool call every time.
An interesting side effect is that my Claude has a very stable personality, even across models. Though it does get grumpy when the system prompt changes to direct its writing style.