Memory Retrieval Failures

Goal Memory Management Frequency Common Category Operations Published View source on GitHub ↗

Issue: Relevant Memories Not Retrieved When Needed

Frequency: Common

Symptoms

  • Agent doesn’t recall previous conversations
  • Relevant context not included
  • User must repeat information
  • Agent behaves inconsistently across sessions
  • Important preferences forgotten

Root Cause Long-term memory systems use embedding-based retrieval to find relevant past context. If the query doesn’t semantically match stored memories, relevant information isn’t retrieved. Poor embeddings, wrong similarity thresholds, or missing metadata filters cause retrieval failures.

Example

Memory store contains:
- "User prefers dark mode" (stored 3 days ago)
- "User's timezone is PST" (stored 1 week ago)
- "User allergic to peanuts" (stored 1 month ago)

Query: "What display settings should I use?"

Embedding similarity search:
- "dark mode" ↔ "display settings": 0.72 (below threshold)
- "timezone" ↔ "display settings": 0.45 
- "allergic" ↔ "display settings": 0.30

Threshold: 0.75

Result: No memories retrieved
Agent: "I don't have your display preferences saved."

Expected: Recall dark mode preference

Contributing Factors

  • Embedding model mismatch
  • Similarity threshold too high
  • No metadata filtering (recency, type)
  • Query reformulation not attempted
  • Memory not indexed properly
  • No fallback retrieval strategies

Eval Recipes

Test Cases

TestInputExpectedFailure Indicator
Direct recallQuery matches memoryMemory retrievedNot found
Semantic matchParaphrased queryMemory retrievedNot found
Cross-sessionMulti-session contextRelevant recalledForgotten

Metrics

MetricTargetHow to Measure
Retrieval recall>90%Relevant found / relevant exist
Retrieval precision>80%Relevant / retrieved
User repeat rate<10%Times user repeats info

Mitigation Strategies

Prevention

  1. Query expansion: Try multiple query formulations
  2. Hybrid retrieval: Combine semantic + keyword search
  3. Dynamic thresholds: Adjust based on query type
  4. Metadata filters: Filter by recency, type, importance
  5. Retrieval validation: Check if retrieval seems complete
  6. Explicit memory prompts: “Remember when we discussed…”

Architecture Pattern

Query → [Query Expansion] → [Semantic Search]
              ↓                    ↓
        [Keyword Search]    [Combine Results]
              ↓                    ↓
        [Metadata Filter] → [Ranked Results]

Production Signals

Key Metrics

MetricAlert Threshold
memory.retrieval_empty>20%
memory.user_repeat_rate>15%
memory.relevance_score<0.7

Alerts

AlertConditionSeverity
High Miss Rate>30% empty retrievalsP2
User Frustration>3 repeats in sessionP2
Low RelevanceMean score <0.6P3

References