Four memory pillars
Different kinds of memory need different storage.
Flattening everything into one vector index is why agents feel amnesiac — a policy, a transcript and a fact have nothing in common except that they are text. Smara separates them by lifetime and by write path.
Ephemeral · per request
Working memory
The context actually sent to the model on this call: system prompt, scratchpad, recent turns, and whatever long-term memory earned its place. Assembled fresh against a token budget — and never the source of truth.
POST /v1/context
Versioned · human-approved
Procedural memory
How the agent should act: skills, SOPs, playbooks, conditional policies. Every change lands as a new version, and going live goes through human approval.
GET /v1/skills
Durable · typed · queryable
Semantic memory + knowledge graph
Durable facts plus a real property graph over them — entities, typed relationships, temporal validity, confidence, provenance, supersession. Retrieval is hybrid: vectors find candidates, the graph finds what they connect to.
POST /v1/memory/search
Append-only · ledger
Episodic memory
The record of what actually happened: session transcripts, tool calls, outcomes. Nothing is edited in place, which makes it both an audit trail and the raw material consolidation runs on.
POST /v1/episodes