Moving Beyond FIFO in Agent Memory
Fortunate Recall optimizes LLM memory by replacing uniform truncation with category-based lifecycle policies.
Most agent memory architectures currently treat every interaction as an equal unit of data. This typically leads to a flat store where the system purges the oldest entries to make room for new ones, regardless of whether those old entries contain persistent identity facts or just one-off navigational data. Fortunate Recall (FR) moves away from this standard first-in-first-out (FIFO) approach by wrapping memory in a structured lifecycle layer. It classifies facts into an ontology of eleven behavioral types, each governed by specific retention rules. This structure prevents the cache from filling with noise that would otherwise force the model to work harder to filter relevant information from stale, irrelevant history.
How Lifecycle Rules Process Data
Unlike systems that prune the oldest entry, FR-Bank applies deterministic functions to memory slots based on metadata tags. Take the 'ephemeral context' category, used for transient details like the temporary location of a meeting. The system assigns a temporal decay constant to these slots. At the moment of retrieval, the system performs a lightweight check against the current system clock. If the event timestamp has passed the decay threshold, the system ignores the record and flags it for background garbage collection. This ensures the model never receives context that is functionally obsolete.
For 'persistent preferences', the system uses slot-key supersession instead of simple decay. When new input arrives that contradicts an existing preference, the model evaluates the confidence score of the update. If the new data is higher-confidence, the system overwrites the record in place. By overwriting rather than appending, you prevent the context window from being flooded with conflicting instructions. This keeps the prompt lean and forces the model to work with a single, updated ground truth rather than a stack of competing commands.
Comparing Memory Management Strategies
Existing memory implementations treat all stored facts as equal, leading to bloated caches where irrelevant data obscures recent context. FR-Bank replaces these uniform policies with deterministic functions based on behavioral metadata. The system resolves contradictions by using these category rules to decide whether to retain, merge, or purge specific records.
| Feature | Naive Memory | Fortunate Recall (FR-Bank) |
|---|---|---|
| Retention Logic | Uniform FIFO | Category-Specific Policy |
| Lifecycle Control | Simple Truncation | Temporal Decay & Supersession |
| Confabulation Rate (Answered Queries) | 45.1% | 22.4% |
| LifecycleBench Score | 61.0% | 76.9% |
Calibrating Retrieval through Ontology
Categorizing facts acts as a constraint on the model's output space, which is why the system halves downstream confabulations. When a model pulls from a flat vector database, it receives a mix of signal and noise, increasing the probability that the model hallucinates connections between unrelated chunks of text. By segmenting data into an ontology, FR ensures the retriever only pulls chunks that are calibrated for the current query type. The ontology improves calibration, which reduces confabulation, while the lifecycle metadata drives overall correctness by pruning the database of stale entries. Testing on all queries showed an overall confabulation rate of 13.0% for FR-Bank, compared to 32.2% for baseline systems, demonstrating that narrowing the scope of retrieval is more effective than increasing the amount of retrieved data.
Limitations in Scaling
The benefit of this system depends on the taxonomy, but it is currently unclear how this ontology scales beyond the initial 11-category set. The developers note that accuracy gains saturate near seven clusters, yet there is no clear path to defining a universal ontology that holds up as interaction history grows into the tens of thousands of entries. We do not yet know how the system handles semantic drift, where a user's defined categories might evolve or overlap over months of usage, potentially rendering initial classification schemas obsolete. If your agent history grows, migrating toward a categorized model is a logical step, but the optimal taxonomy for any domain other than the one tested remains an open question.