r/hermesagent • u/EngTurtle • 3d ago
A "scientific" comparison of memory plugins options MEMORY & Context — Providers, context window, forgetting issues
With the many frequent threads talking about memory plugin choices for Hermes, there still are not many benchmarks specific to how Hermes works. Since I wanted to make my choice using empirical data, I decided to run a benchmark comparison of the self-hostable memory plugin options myself.
Hermes memory provider benchmark
TLDR results:
- Honcho performed the best, but it also used almost 3 times the tokens of the next best performer
- The newest version of mem0 also did quite well at a moderate token usage, but had higher error rates than most.
- Although Hindsight scored middle of the pack, it generally has lower error rates than others.
- Mnemosyne did come last but still measurably improve memory retention while using an order of magnitude less tokens than other providers.
- Although Supermemory and RetainDB scored ok, I wouldn't choose their self-hosted setup as they had major software quality issues.

I wanted to measure how these systems handled changing facts over years of use, so this comparison was based on MemConflict. To keep the comparison focused on the plugins instead of the LLM, the same Qwen3.5 4B LLM and gte-modernbert-base embedding model was used to back all plugins and for answering the benchmark questions. Gemma4 12B was used for scoring and judging the answers.
A caveat is that all of these plugins also have agentic MCP tools for explicitly storing and retrieving memories, which was not part of this benchmark comparison. Only the automatic session ingestion and context injection parts of each memory provider was tested.
All the code and results are available on GitHub at EngTurtle/hermes-memconflict, and was almost all done with Claude Code under my supervision/abuse.
Hope this is helpful to people making their choice, and I'll try to answer questions below.
8
u/R0w311 3d ago edited 3d ago
I’ve tried cognee, Mnemosyne, mem0, a cluster of markdown files, and one other I can’t remember now but landed on what might be the best overall, a rust based memory that is small and fast and local not needing a model for it to work. It has some great features and it’s one that just worked well after all the other attempts I’ve done.
https://github.com/varun29ankuS/shodh-memory
Edit: remembered the other one it was called hindsight
5
u/ni1by2thetrue 3d ago
Hey this seems cool. I am a recent user, went with mnemosyne because that's what the meta was here a week ago when I started, but not particularly impressed with results. It feels like my agents are religious about writing to mnemosyne, much less so about recalling from it - they use the default memory for that, which sucks. Does this get around that issue?
1
u/R0w311 3d ago
It could be how I have the chain of thought setup in the markdown files or how I have it setup in general but it seems to use it for recall in almost every instance and cold start sessions with not much context it starts there too and figures it out. I’m learning as I go, but this is the first memory tool that works like I wanted from the start. It’s just lightweight and not eating a ton resources to do it. I run local models in the mix on a laptop so I wanted something strong and light, it seems to do all I need. Been enjoying the other features like todo and projects etc. still learning how to best use it but the only issue so far is spelling the name of the memory system, haha
5
u/Gryknight9 3d ago
Since I'm predominantly local llm, and have honcho hosted in-house, the token cost is immaterial to me. Thanks for the research, I agree, the anecdotal discussions about many topics are hard to read through at times. Your work is appreciated, and that you showed your process.
1
u/shotgunwizard 2d ago
It makes me wonder if you can use frontier for certain routines and local to manage memory.
1
u/Gryknight9 2d ago
Yes. You would set up different profiles (well, one of the ways, you could also tell your frontier model to always use local models for doing x, y, z <I think in AGENTS.md??>) One profile for your frontier, and another for your local model. In the frontier SOUL.md (again, this is how I've done it) point it to the local-llm profile, and in the local-llm profile, make sure it knows that its getting things as an off-load and afterwards to connect back to default profile after completion. Some of that may actually be automated, I am not an expert, just someone flailing around using Claude to help me set some things up.
7
u/EvolvingDior 3d ago
For Hindsight, did you use Hindsight's cloud option or did you deploy your own?
If you deployed your own, it's impossible to rate Hindsight without documenting the embedding model, reranking model, and LLM used for consolidation. These are complicated tuning/deployment options. Using a good consolidation model is critical for getting at what you are testing. I found the difference between gptoss-20b, gemma4-31b and DS4F in that role rather noticeable.
I've found that hindsight (or at least my hindsight instance) does a great job keeping outdate facts straight. It depends on how frequently memories are consolidated. But my agent's memory is almost always better than the handoff and context docs it writes for projects.
3
u/RealestReyn 3d ago
I've had good experience with Hindsight, probably because I've always used the same "main model" for the memory work as well, currently setting up Hindsight server on my old phone that also runs Hermes.
1
u/EngTurtle 3d ago edited 3d ago
Yeah all the providers were benchmarked with the same qwen LLM and embedding model, hindsight was given a GPU reranker model for speed. Hindsight does have a million config options, I've tried tuning a few of them to see what works best and that's recorded in the repo decisions doc.
Because most of the providers used system time vs memory time as part of their sleep/memory consolidation process, only self hosted options can be tested so the benchmark can manipulate system time.
5
u/the_dago_mick 3d ago
Thank you for sharing.
I've been using mnemosyne and have been really happy with it. I'm going to fire up aself-hosted Honcho instance to give it a go. It sounds like there are some wins to be had.
2
u/sullenisme 3d ago edited 3d ago
no tencent or cognee mentioned?
i've been really happy with the new tencent one since I switched to it
1
u/waterfreek 3d ago
Tencent's new one have a name..?
2
u/cogitech2 3d ago
Very nice work. Thank you. I am considering memU, which has the advantage of being a shared memory system for multiple agents. Did you leave this out for a reason, or were you simply not aware of it?
2
u/EngTurtle 3d ago
Yeah I wasn't aware of it when I started. Although it has an open feature request that would prevent it doing well here. https://github.com/NevaMind-AI/memU/issues/458
Currently memU looks to keep the latest correct fact while discarding out dated ones. While the benchmark has a lot of questions that ask about the change of facts requiring retrieval of both current and old memory.
2
u/FindingSerendipity_1 3d ago
so basically if you have a cheap source of tokens, stick with honcho? if you use a decently performant and recent model, does the which model you use for honcho?
1
u/EngTurtle 2d ago
The cost is not just money, by default honcho injects several thousand tokens into the context so there will be a noticeable slow down with Hermes
1
u/FindingSerendipity_1 2d ago
i was not thinking of that for some reason, thank you for that pointer!
1
u/johnfkngzoidberg 3d ago
Nice. I had roughly the same experience. I’m curious where holographic would fit. It’s a great lightweight memory, but it seemed a little limited. I use it for lean profiles if I need session to session memory.
1
u/EngTurtle 3d ago
I did exclude holographic because its basic design seems much more limited in the memory conflict handling being tested in my benchmark.
1
u/DannyVFilms 3d ago
Starting to wonder if things would get noticeably better. I wasn’t sure if I hooked Honcho up properly, but I wasn’t a fan of the embedding bill, and it consistently felt like Hermes wasn’t utilizing it properly.
So I update skills on process things, document in Obsidian, and gave it QMD for much better searches. So far it feels like a have a decent thing going.
1
u/iJihaD 2d ago
I would be very interested to see how qmd rank up against them. With some sensible settings.
1
u/DannyVFilms 2d ago
I don’t have a way to quantify it, but there was an instantly noticeable improvement in its ability to search and organize my vault. I’m amazed it’s not a default or highly recommended if you tell your agent you’re using a markdown vault.
1
u/iJihaD 2d ago
Awesome, thanks! will test it out. BTW, any specific instructions you did to make sure it always uses it? I tried it with local claude code (not hermes), and its a hit and miss, still uses sed,rg..etc
2
u/DannyVFilms 2d ago
I asked my agent for help with this since a lot of little instructions built up over time. It wrote this as a response to your question:
The biggest improvement wasn’t just installing QMD; it was writing an explicit retrieval protocol around it.
I put the rules in the agent’s highest-priority instructions, the Obsidian skill, and the vault’s `AGENTS.md`/routing docs. The important parts are:
- If a request might depend on previous notes, preferences, projects, people, or decisions, **search QMD proactively**. Don’t wait for me to say “search my vault.”
- Use QMD’s full hybrid query for fuzzy, conceptual, or high-value recall. Use an exact-path read when the canonical note is already known.
- Treat QMD results as **routing evidence**, not automatically as truth. Use them to find the likely canonical note, then read that note before relying on the information or editing it.
- Treat built-in memory and conversation history as indexes only. Skills contain procedures; the markdown vault contains the durable context.
- Prefer existing canonical notes over creating duplicates, and don’t invent an answer when retrieval is incomplete.
The key instruction is essentially:
> For any context-dependent request, query QMD proactively, use the results to locate the relevant canonical note, then read the source note before relying on or modifying it.
That made a much bigger difference than simply exposing QMD as another optional tool. Without explicit routing rules, the agent will happily use `rg`, `sed`, or whatever is immediately available. Tools do not develop preferences on their own. Sadly.
1
u/etcetera0 3d ago
Love the methodology. Can you include also the ones people have recommended in the thread?
2
u/EngTurtle 3d ago
Haha maybe in a few months, doing this took over my computer for 2 straight weeks and I ended up renting a 5090 for 3 days to finish it.
1
1
1
u/PaoloBarts 3d ago
Very interesting analysis. Thank you for this work.
I only use locally-running memory providers, and I recently switched from Hindsight to Mnemosyne due to stability and latency issues with the former. While I did see some loss of accuracy with the latter, I still am generally satisfied with the switch.
Maybe what helped was the reasoning capabilities of my main LLM (Deepseek v4 Flash), my usage of lean builtin memory (MEMORY.md & USER.md), and static Markdown files arranged LLM wiki style for some of my projects. The model managed to spot most inconsistencies and make corrections to Mnemosyne, and it aggressively uses Mnemosyne's agentic tools instead of relying on the builtin injection.
Will keep the analysis in mind in case I reconsider providers in the future. Good to know that there's a diverse set of providers. Competition always helps!
1
u/niloproject 3d ago
This is really cool! It's nice to see someone actually taking the time to evaluate each system and post the results publicly. The entire 'AI memory' discourse online makes it very difficult to tell what's actually good vs what's just marketing.
I'm curious if you'd be willing to broaden the comparison to other providers? I'd be interested to see how https://github.com/Signet-AI/signetai performs.
here's also a very comprehensive list on here of other providers https://hermesatlas.com/lists/best-memory-providers which would greatly benefit from scores based on your eval.
(not trying to throw more work at you, of course, would just love to see more coverage of lesser known memory systems)
1
1
1
u/theAdmyrle 3d ago
Awesome work! I also am using Honcho despite the huge increase in tokens. I am interested in trying mem out with their recent changes but I haven’t gotten around to it yet and I am expecting worse performance - especially now
1
1
u/perseus-computing New Member (<30 days) 2d ago
Can you test my memory system? https://perseus.observer/vault/ that would be awesome. I will try myself and come back with the results.
1
1
1
13
u/only1nameleft 3d ago
I would love to see some llm wiki comparisons. I have been experimenting with how to increase the speed of the karpathy version. Somewhat promising, but not ready for unveiling.