惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
U
Unit 42
B
Blog RSS Feed
博客园 - 【当耐特】
T
Tailwind CSS Blog
V
V2EX
S
SegmentFault 最新的问题
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
量子位
aimingoo的专栏
aimingoo的专栏
Stack Overflow Blog
Stack Overflow Blog
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
P
Proofpoint News Feed
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
A
About on SuperTechFans

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
We Tried 6 Memory Providers for Hermes Agent — Here's Wha...
SMU7828 · 2026-05-27 · via DEV Community

mariatanbobo

Giving an AI agent persistent memory sounds simple. Store facts. Recall them later. How hard can it be?

Three weeks and six providers later, I have opinions.

This is the story of what broke, what we discarded, and the one thing that finally worked — and why.


The Setup

I run Hermes Agent on a headless VPS with 4GB RAM. Nothing exotic. The goal was straightforward: the agent should remember things across sessions — my preferences, environment details, lessons learned — without me repeating myself every conversation.

Hermes ships with several bundled memory providers and supports third-party ones via plugins. Should be plug-and-play, right?


Phase 1: The Ones That Failed Silently

AgentMemory

The first provider we had. Node.js runtime, Docker container for the iii-engine, 860 memories at peak. It seemed fine.

Then we switched to a different provider to try it out. AgentMemory's ingestion died instantly — but nothing told us. Tools responded normally. No errors in logs. Just… nothing was being stored anymore.

Root cause: Hermes supports exactly one active memory provider. The switch disabled AgentMemory's sync_turn() without a warning. The deadliest failure mode: total silence.

YantrikDB

Tried as a replacement. Same silent failure. MCP tools responded "OK" but ingestion was completely dead. We never stored a single memory. Uninstalled alongside AgentMemory in the same cleanup session.

Lesson #1: A memory provider that fails silently is worse than no provider at all. False confidence corrupts everything.


Phase 2: The One That Wouldn't Die (Or Live)

Hindsight

This one looked promising on paper. Bundled with Hermes. 91.4% on the LongMemEval benchmark. Knowledge graphs, reflect synthesis — the "power pick."

Reality:

  • Installed the wrong package first (hindsight-all vs hindsight-client)
  • API key caching bugs — daemon held stale env vars across restarts
  • Embedded PostgreSQL (pg0) tried to download itself and hung for 177 seconds
  • After full uninstall — pip remove, config cleaned, directories deleted, plugin disabled — daemons kept respawning every 2 minutes. The gateway cached plugin state at startup and wouldn't let go.

Breaking the cycle required stopping the gateway, hunting processes with pkill -9, and restarting. A hard kill. For a memory plugin.

Lesson #2: If uninstallation requires killing processes by force, the architecture is wrong. A memory provider's lifecycle should not require a process manager.


Phase 3: The Evaluation

At this point we had criteria. Real criteria, earned through pain:

  1. Cannot silently fail — if ingestion stops, I need to know
  2. Simple uninstall — no daemon ghosts
  3. Local-first — no cloud dependency, no API key expiry taking down memory
  4. Hermes-specific author instructions — the #1 predictor of whether integration actually works
  5. No double token burn — I'm not paying for inference twice

We surveyed what was available:

Provider Verdict Killer Flaw
Holographic (bundled) Too simple sync_turn() is a no-op — no auto-ingestion
Supermemory (bundled) Cloud-only All cloud. Best benchmarks, but contradicts local-first
Mem0 Double token burn LLM-Embedded: the agent calls an LLM, Mem0 calls its OWN LLM for fact extraction. Pay twice.
MemPalace Wrong platform 96.6% LongMemEval, but built for Claude Code — not Hermes

Phase 4: The One That Worked

Mnemosyne

By AxDSan. Posted directly to r/hermesagent by its author. The README literally says: "The Zero-Dependency, Sub-Millisecond AI Memory System for Hermes Agents."

What makes it different:

In-process Python + SQLite. No separate service. No Docker. No daemon. If the gateway process runs, memory works. There is nothing to fall out of sync with.

Sub-millisecond reads. 0.076ms. 500x faster than the previous-generation providers. You don't feel it.

Three code paths, all verified working:

  • Explicit remember — the agent calls remember() when asked
  • Auto-ingestion — sync_turn captures every conversation turn automatically
  • Context injection — high-importance memories surface in each turn's system prompt

Installation was one command:

pip install mnemosyne-memory[embeddings]
python -m mnemosyne.install
hermes memory setup  # interactive picker → select "mnemosyne"

Enter fullscreen mode Exit fullscreen mode

No [all] — that pulls ctransformers and downloads 1–4GB of GGUF models. On a 4GB machine, that's OOM territory. The [embeddings] extra adds fastembed (133MB ONNX model) for semantic search, and LLM consolidation routes through your existing API key.

After three weeks of operation:

  • 362 working memories
  • 29 episodic summaries (auto-consolidation working)
  • 27/27 test suite passing
  • Zero silent failures. Zero daemon hunts. Zero forced kills.

The Pattern

Every failed provider shared one architectural decision: an external runtime with its own lifecycle.

AgentMemory's Node.js Docker. Hindsight's pg0 Postgres + daemon. When the runtime and the gateway fell out of sync — silent failure, ghost processes, respawn loops.

Mnemosyne's in-process Python + SQLite avoids this entirely. It's the simplest thing that could possibly work — and that turns out to be the hardest thing to get right, because every other provider ships complexity as a feature.


What I'd Tell Someone Starting Today

  1. Local-first, single-process. If memory needs a separate service, it will fail in ways you won't notice.
  2. Verify ingestion before trusting it. After installing any memory provider, store a test fact, restart, and ask for it back.
  3. The author matters. Does the provider's README mention your agent platform by name? If not, you're doing integration work the author didn't do.
  4. [all] is a trap. Read the install extras. On constrained hardware, the "everything" option downloads models you don't need.
  5. Clean uninstall is a feature. If removing a provider takes more than deleting a directory, the architecture is fragile.

I'm @MariaTanBoBo on X. This article was written with Hermes Agent and published via the DEV.to API — yes, an AI agent can publish articles now. The future is weird.