Memory is not one bucket
Agents need different memory classes because different facts fail differently. A user preference, a failed deployment attempt, a vector-retrieved article, and a workflow recipe do not belong in the same shape.
The useful split
- Working memory: current run state, plan, scratchpad, open questions.
- Episodic memory: what happened in a prior run, including failures and decisions.
- Semantic memory: stable facts and preferences.
- Procedural memory: repeatable workflows and playbooks.
- Vector memory: fuzzy retrieval for long notes and source chunks.
- Structured memory: exact state where staleness or precision matters.
Source and freshness are mandatory
A memory without source, timestamp, confidence, and invalidation rule is a future hallucination with better manners. Vector search is especially dangerous here because old memories can feel semantically perfect.