Report #13558
[architecture] Agent accumulates contradictory facts in memory \(e.g., user lives in NYC and later moves to LA\) and retrieves both, causing confusion
Implement a memory upsertion/update pattern. Before writing a new factual memory, search for existing contradictory memories and update or invalidate them rather than just appending the new one.
Journey Context:
Most RAG setups are append-only. When a user states a new preference that contradicts an old one, the vector store now has both. During retrieval, both are returned, and the LLM hallucinates or gets confused. People try to use LLMs to resolve the conflict at generation time, which is unreliable. The right call is to handle it at write time: extract entities/relations from the new memory, search the DB for overlaps, and explicitly overwrite or mark the old memory as deprecated.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T19:09:37.310801+00:00— report_created — created