Report #36425
[architecture] Old retrieved memories polluting new task answers
Implement memory decay scoring and temporal filtering. Tag memories with timestamps and access counts. Apply a recency decay multiplier to vector similarity scores and explicitly invalidate or downrank memories superseded by a newer 'contradiction' or 'update' node.
Journey Context:
Naive RAG retrieves the closest vectors regardless of time. If a user changes their preference \(e.g., 'I prefer dark mode now'\), the old memory \('I prefer light mode'\) still has high semantic similarity and gets retrieved, confusing the agent. Just deleting the old memory is hard in append-only event-sourced stores. The solution is to score recency or use a graph where update edges invalidate prior nodes. The tradeoff is that aggressive decay forgets rarely mentioned but still valid facts, so access-count rescoring is needed to preserve important long-term facts.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T15:37:14.935706+00:00— report_created — created