Applying Microsoft Memora Directly to Our Own Memory System — ICML 2026 PoC Results






Applying Microsoft Memora Directly to Our Own Memory System — ICML 2026 PoC Results

🔬 ICML 2026 · arXiv:2602.03315 · MIT License · knowledge-rag v2.0 · bge-m3 · LanceDB

Memora knowledge-rag Vector Search AI Agent Memory bge-m3

🔍 Bottom Line First

I applied Microsoft Research’s long-term memory framework Memora — published at ICML 2026 — directly to our own agent memory system knowledge-rag to validate its headline claim: that embedding only a short 6–8-word abstraction handle improves retrieval accuracy while dramatically reducing token usage. The results were not what I expected. The handle-only variant (C) ranked last across all metrics among the four variants tested, and only the C+ variant combining cue-anchor multi-vector slightly outperformed our current system.

Rather than making a deployment decision based on benchmark numbers alone, I ran validation on our own data and am sharing the full process and results here.

Memora (arXiv:2602.03315)

A long-term agent memory framework published by Microsoft Research at ICML 2026. Title: “A Harmonic Memory Representation Balancing Abstraction and Specificity”. All 9 authors are from Microsoft, submitted 2026-02-03. MIT License, open-sourced at github.com/microsoft/Memora.

📋 What Memora Claims

Memora separates each memory entry into three components: Primary Abstraction (a 6–8-word handle, embedded as the retrieval index key), Memory Value (the original rich content, stored without embedding), and Cue Anchors (entity/keyword tags providing multiple access paths). New information is merged into existing entries (consolidation) to prevent fragmentation, and retrieval uses policy-guided iterative search rather than static top-k. The paper claims that “standard RAG and KG-based memory systems are special cases of the Memora framework.”

The published benchmark numbers are impressive. LoCoMo 86.3% (600-turn long-term conversation evaluation, human ceiling ~87.9%), LongMemEval 87.4% (500 curated queries across 5 long-term memory capabilities), and up to ~98% token reduction versus full-context inference (lab measurement). The Microsoft Research official blog announced this on June 29, 2026, and the GitHub repository had 90 Stars as of 2026-07-02.

The ~98% token reduction is a lab measurement against full-context inference. In actual deployment, additional costs apply for memory construction, indexing, storage, and audit logging. Policy-guided iterative retrieval takes 5–6 seconds per query — a significant latency increase compared to naive semantic search (under 1 second) (InfoWorld analysis).

🏗️ Comparison with Our knowledge-rag

Our knowledge-rag uses a 2-layer architecture. The lower layer runs the open-source embedder bge-m3 (BAAI, 100+ languages, 1024 dimensions, dense+sparse+multi-vector support, cosine=dot product under L2 normalization) plus a reranker, with metadata in PostgreSQL and vectors in LanceDB (open-source embedded multimodal vector DB, Lance columnar format, hybrid search support). The upper layer is a human-curated SOP document layer.

The conversational memory layer includes importance scoring, decay, pin, conflict resolution, cosine≥0.7 auto-linking memory-graph, and nightly dreaming consolidation. The key architectural point: we already embed LLM-extracted self-contained fact sentences (fact.text) rather than the full original text, and store the original (original_content) in PostgreSQL and LanceDB without embedding. This structurally overlaps with Memora’s abstraction/value separation. The critical difference was the absence of multiple access paths like Cue Anchors. The question was therefore straightforward: “Does the shorter-handle Memora approach give us additional gains over our extracted fact embedding?”

Dimension knowledge-rag (current) Memora
Embedding target LLM-extracted fact.text 6–8-word handle
Original storage PostgreSQL + LanceDB (non-embedded) Memory Value field (non-embedded)
Multiple access paths Single vector Cue Anchors (multiple)
Importance scoring ✅ decay / pin / importance ❌
Consolidation ✅ nightly dreaming ✅ real-time merge
Memory graph ✅ cosine≥0.7 auto-link ❌
Conflict resolution ✅ importance≥0.5 threshold ❌
Maturity Running in production daily Research stage

🧪 PoC Design

The live DB was not touched at all — existing data was used read-only throughout. No production changes were made.

  • Sample: 50 items from the memory bank (primarily compound entries mixing multiple facts)
  • Queries: 100 anti-circular indirect queries — generated from original content only, designed to prevent any variant from gaining a lexical home-field advantage
  • Handle/cue anchor generation: Open LLM qwen3.6-35B-A3B running on local DGX Spark (192.168.0.123:8082)
  • Embedder: bge-m3 (mlx, L2 normalization → cosine=dot product)
  • Evaluation metrics: Recall@1 / @3 / @5 / MRR (higher is better)

The four variants compared are as follows.

📊 Results

Below are the Recall@1/3/5 and MRR comparison results for the four variants. Results outside of C+ (handle + cue multi-vector) did not meet expectations.

Variant R@1 R@3 R@5 MRR
A — Original embedding 0.06 0.23 0.40 0.220
B — Extracted fact (current) 0.08 0.22 0.27 0.196
C — Handle only 0.06 0.17 0.23 0.170
C+ — Handle + cue, max-sim 0.09 0.26 0.42 0.255

At the individual query level, the differences become even more pronounced. The table below shows the retrieval rank of the correct item per indirect query type (lower rank = better, out of 50 total items).

Indirect Query Type A B C C+
Query asking about config file paths and DB size for a specific instance 1 33 48 1
llama.cpp build b8946 vs b9006 parameter support difference 23 19 27 6
Query asking about Qwen3.6 Thinking Mode sampling configuration 20 2 10 1

The most notable data point in this experiment: C dropped to rank 48 on the first query.

🔬 Interpretation

Let me start with why C (handle only) ranked last across all metrics. Our memory contains many short, specialized technical identifiers — file paths, version numbers, parameter names, build hashes. Replacing this information with a 6–8-word abstraction handle causes excessive loss of lexical surface. The core issue is the domain mismatch: Memora’s benchmarks (LoCoMo is a 600-turn everyday conversation evaluation, LongMemEval focuses on natural language questions) differ substantially from our domain characteristics.

Why C+ outperformed the current B has nothing to do with shorter handles. The gain comes from multiple access paths and max-sim retrieval. Indexing entities and keywords as separate vectors and taking the most similar vector at query time is what delivered the improvement. This also partially validates the paper’s claim that “standard RAG and KG-based memory are special cases of Memora.”

That said, the limitations must be stated clearly. The R@1 difference for C+ amounts to just 1 query, and a sample size of n=50/100 is insufficient for a decision-grade conclusion. Production changes are on hold at this point.

There is also a secondary finding. Original embedding (A) outperformed extracted fact (B) on R@3/R@5/MRR. This signals that the recall gains from the fact-extraction stage may be smaller than expected. However, the anti-circular design itself may have favored the lexically richer original content, so a separate evaluation design is needed before drawing conclusions.

A note on interpreting benchmark numbers: according to a 2026 AI memory benchmark comparison, cases have been reported where systems scoring high on LoCoMo performed poorly on MemoryArena. The current top score on LongMemEval is OMEGA at 95.4% (an 8-point gap versus Memora’s 87.4%). It is difficult to determine relative system superiority from a single benchmark score.

📚 References

✅ Conclusion

Three takeaways. First, Memora’s abstraction handle (C) is a regression in our system. We will not adopt it. Our memory domain (many short technical identifiers) differs fundamentally from the domain where Memora was validated (natural language conversation-centric). Second, the transferable idea is cue-anchor multi-vector indexing. The key was not shorter handles but multiple access paths + max-sim. Third, C+ requires a decision-grade re-experiment with a larger n and real recall queries. There is a signal, but the data is insufficient for a conclusion.

The real value of this experiment is not whether Memora is the right answer. It lies in the empirical confirmation that when we validated a high-profile paper on our own data, the headline was a regression — and only the peripheral idea showed a modest gain, still at the signal level. For other design approaches to AI agent memory architecture, see the Tech category at ai-girls.org. The takeaway: do not make decisions based on benchmark numbers alone.



Discover more from AI-Girls Lab

Subscribe to get our latest posts delivered to your inbox.