Adaptive Memory Decay
also known as Memory Forgetting Curve, Reinforcement-Modulated Decay
Give each long-term memory item a retention score that decays over time through a function modulated by relevance, access frequency, and recency, so unreinforced items fade or fuse while items that are used persist.
Context
An agent accumulates long-term memory across many sessions: facts, preferences, summaries, observations. The store grows without bound, and not everything in it stays useful — some items were always marginal, others were true once and have gone stale. Retrieval quality starts to suffer as old low-value items pollute results.
Problem
An append-only long-term store treats a fact written once and never used again the same as a fact reinforced every session, so the store grows without bound and stale or marginal items dilute retrieval. Hard size caps evict by crude rules and continuous time alone forgets useful-but-rarely-touched facts; neither tracks how important an item actually is. What the store needs is a retention signal that strengthens with use and weakens with neglect, the way human memory consolidates what is rehearsed and lets the rest fade, so capacity is spent on what stays relevant.
Forces
- Unbounded retention pollutes retrieval and raises cost; aggressive forgetting drops facts that turn out to matter.
- Recency, relevance, and access frequency each carry part of the importance signal, and no single one suffices.
- A decaying score must be cheap to update on every access without a heavyweight consolidation pass.
- Staleness in high-relevance items is not fixed by decay alone, since they keep being reinforced.
Example
A personal-assistant agent has remembered, over a year, thousands of facts about its user — some reinforced weekly, many written once and never touched again. Retrieval starts surfacing year-old throwaway details over current ones. The team adds adaptive memory decay: each item carries a retention score that decays unless accessed, with the rate eased for items relevant to active goals and frequently used. Stale one-off facts fall below threshold and are fused or dropped, the store stops growing without bound, and retrieval sharpens — while a rarely-used but important fact remains a known risk the team monitors.
Diagram
Solution
Therefore:
On write, give each item a retention score and a decay function — typically exponential — whose rate is modulated by signals: semantic relevance to the agent's active goals, how often the item is accessed, and how recently. Each access reinforces the score; neglect lets it decay. When a score crosses a low threshold the item is demoted to colder storage, fused with similar items, or dropped. The result is a forgetting curve per item rather than a global cap or a fixed time-to-live. Production memory layers such as Mem0 and Zep apply decay of this kind; FadeMem formalises the biologically-inspired version. Note the open limitation: decay handles low-relevance items well but does not by itself fix staleness in items that stay high-relevance and keep being reinforced. Compose with dream-consolidation-cycle for idle-time fusion and with cluster-capped-insight-store where a hard ceiling is also needed.
What this pattern forbids. A memory item may not persist on age alone; it is retained only while its reinforcement-modulated score stays above threshold, and an unreinforced item must decay toward demotion, fusion, or removal.
And the patterns that stand alongside it, or against it —
- complementsDream Consolidation Cycle★— Run a deeper, slower reflection pass distinct from per-tick reflection — reading hours of recent thoughts, promoting themes, releasing affective residue, and clearing working memory — so the agent does not accumulate residue indefinitely.
- alternative-toCluster-Capped Insight Store·— Cap the number of insights per stem-token cluster and archive the oldest variants by mtime so the long-term store keeps the active research edge instead of accumulating near-duplicates.
- alternative-toTool-Result Eviction★— Once a tool's raw output has been consumed, replace it in the live context window with a short marker of what was done, reclaiming tokens without losing that the call happened.
- complementsSleep-Time Compute·— During idle or downtime, run the model offline against the user's standing context to pre-compute dense summaries and likely future answers, so test-time latency and cost drop when the user actually asks.
Neighbourhood
Click any neighbour to follow the language. Scroll to zoom, drag to pan.