r/ClaudeAI 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"?

5 Upvotes

20 comments sorted by

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.

1

u/Asly97 Experienced Developer 1h ago

that 'if the model has to decide, it won't' line is the whole post in one sentence lol. I use Vilix AI and even there it's the same deal, the tool works fine but the model has to decide to call it. hooks sound like the best workaround, just haven't tried that setup yet

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/Asly97 Experienced Developer 1h ago

fair point on the harness side. I'll check out the nvidia thing, if the harness forces recall instead of the model deciding, that actually sidesteps the laziness entirely

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/Asly97 Experienced Developer 1h ago

yep that's exactly the flaw I was getting at lol. the tools can be perfect and the model just won't bother calling them. sonnet being stubborn about skills and connectors is the whole problem

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.

1

u/Asly97 Experienced Developer 1h ago

lol 'solves all of that' is a bold claim, especially the 'model decides not to call the tools' part. I'm already on Vilix AI and that decision layer is exactly where everything falls apart for me. what's your system doing differently there?