Report #74028
[architecture] Agent fails to remember facts across sessions because it only stores raw conversation logs
Implement an asynchronous 'memory extraction' step after each user turn: use an LLM call to extract discrete \(subject, predicate, object\) triples or atomic facts, and upsert these into a structured knowledge graph or vector DB, rather than embedding the whole chat turn.
Journey Context:
Storing raw chat logs \(episodic memory\) is cheap but yields terrible retrieval because cosine similarity on whole turns matches on tone or filler, not facts. Extracting semantic facts costs an extra LLM call per turn but ensures high-signal retrieval later. The alternative is RAG on transcripts, which fails when the user asks specific questions because the embedding is too diffuse.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T06:51:09.984730+00:00— report_created — created