Report #2913
[architecture] Storing raw conversation turns as long-term memory
Run an asynchronous LLM extraction step on raw episodic conversation turns to extract discrete semantic facts \(e.g., 'User's dog is named Max'\). Store the semantic facts in long-term memory; discard or archive the raw episodic turns.
Journey Context:
Storing raw chat history in a vector DB is a common anti-pattern. Raw turns contain filler, pleasantries, and un-resolved references \('put it there'\). Searching over raw turns yields poor retrieval because the context is fragmented. Extracting semantic facts normalizes the data, making it highly retrievable. The tradeoff is the upfront compute cost of running an extraction LLM call on every turn, but this is amortized over the lifetime of the agent's improved accuracy and reduced context window usage.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T14:36:04.205877+00:00— report_created — created