Concepts · Humans and machines
SOAR semantic memory stores general knowledge, while episodic memory records experience over time. See how each store supports retrieval and behavior.

SOAR Semantic and Episodic Memory
SOAR has two distinct long-term memory stores beyond working memory: semantic memory and episodic memory.
Semantic memory stores general knowledge independent of a specific context. Episodic memory automatically records episodes from the agent's working memory, preserving experience over time.
| Memory type | What it stores and how retrieval works |
|---|---|
| Semantic memory | General facts and relations, retrieved with content cues |
| Episodic memory | Episodes captured from working memory, retrieved through cue matching and recency |
Semantic memory
SOAR's semantic memory holds long-term declarative knowledge that is not tied to one moment.
For an AI agent, it might contain:
Susan belongs to Acme
Acme has enterprise support
enterprise support requires response within four hoursThose facts are useful across many interactions. The Soar manual describes semantic memory as supplementing working memory and production memory, a place to keep general knowledge outside the active state.
Retrieval works by cue: the system queries semantic memory with a partial description and gets back a matching structure, similar in spirit to ACT-R's content-addressable declarative memory.
Episodic memory
Episodic memory records what the agent experienced over time.
It automatically captures episodes from top-state working memory. The exact storage timing is configurable; by default, episodic memory processes storage at the end of each decision cycle and records an episode when its trigger condition is met.
The system can later query those episodes to recall what a past state looked like, which operators were tried, or what changed after a particular action.
For an AI agent, episodic memory helps answer:
- What did we try last time this error appeared?
- What was the state immediately before the tool failed?
- Which sequence of operators led to escalation?
- What did the customer say right before the issue resolved?
That is memory of an episode, not a general fact.
Why the split matters
Many AI memory systems store facts, transcripts, tool traces, summaries, and preferences in one flat store, then rely on retrieval to sort them out at query time.
SOAR suggests a cleaner design question: what kind of memory is this?
If it is general knowledge, treat it like semantic memory and index it for content queries. If it is a recorded event, preserve its sequence and context instead of flattening it into a fact. If it is learned behavior, treat it as procedural knowledge in production memory, not as a declarative record.
That separation makes each store easier to inspect, update, and reason about.
The takeaway
SOAR keeps semantic and episodic memory distinct because they answer different questions:
- Semantic: what do I know?
- Episodic: what did I experience?
For AI builders, the lesson is that flattening all memory into one store trades design clarity for retrieval complexity. Separating by memory type makes the architecture easier to maintain and audit.
Sources
Go back to Chunking in SOAR, continue with SOAR and AI Agents, or return to the Concepts hub.