Skip to content

A-MEM vs Traditional RAG

DimensionTraditional RAGA-MEM (Zettelkasten Graph)
Retrieval ModeSingle-vector similarityBM25 + Dense Vector Hybrid (RRF) + 2-hop Graph Expansion
Chinese RecallCharacter-level n-gram / single char splitJieba word segmentation for accurate Chinese BM25 indexing
Fact EvolutionStatic chunking — cannot update historical entriesDynamic Attribute Evolution & Connection Strengthening
Temporal ConflictsRecalls contradictory facts simultaneouslyis_active soft-invalidation shields outdated facts
Memory BloatFragmented memories stack up infinitelyDaily Consolidation merges semantic duplicates
Stale Memory SuppressionHigh-retrieval old memories permanently outrank fresh onesTime-decayed heat boost — age dampens retrieval_count influence
Graph NoiseN/ABFS Relevance Gate filters low-similarity linked nodes

Why not mem0?

mem0 is a popular memory layer for AI agents. The dedup and evolution mechanism in openclaw-amem draws from mem0's LLM-driven memory update approach but takes a different architectural direction.

mem0openclaw-amem
ArchitectureFlat vector + optional graphZettelkasten-inspired evolving graph
RetrievalDense vector onlyBM25 + Dense Vector (RRF) + 2-hop BFS
Memory linksOptional graph add-onCore to the design; automatic and bidirectional
Memory evolutionNoYes — linked notes update when new info arrives
Evolution historyNoYes — full audit trail of how each memory changed
RuntimePython daemonPure TypeScript, in-process (no sidecar)
Chinese supportCharacter-levelJieba word segmentation
PlatformStandalone libraryOpenClaw plugin with deep agent integration

BFS ablation results

The 2-hop BFS graph expansion is the key architectural advantage. The following results come from our internal smoke test:

BFS OFFBFS ONDelta
Average Score3.005.00+2.00
bfs category2.005.00+3.00
multihop category4.005.00+1.00

Without BFS, multi-hop relational queries fail. For example, a query such as "find the contact email for the vendor mentioned in the Q3 contract" fails because the system stores the two facts as separate notes. A single vector query cannot reach both.

Released under the MIT License.