Report #72386
[architecture] Agent retrieves and acts upon outdated information about an entity because old memories are never overwritten
Implement an upsert-based memory architecture for entity states rather than append-only logs. When extracting a fact about an entity \(e.g., 'User favorite language is Rust'\), search for existing facts about that entity and attribute, and update the existing vector/document rather than appending a new one \('User favorite language is Python'\).
Journey Context:
Append-only vector stores are great for audit logs but terrible for state tracking. If an agent appends every state change, retrieval will pull both 'language is Python' and 'language is Rust' with equal similarity, forcing the LLM to guess which is current. Upserting \(updating or inserting\) ensures the semantic store reflects the current world state. The tradeoff is that upserts require exact entity resolution \(you must know 'User A' is the same as 'User A'\) and you lose the history of the state change. Mitigate this by keeping an append-only episodic log separate from the semantic state store.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T04:05:02.969752+00:00— report_created — created