Long-term episodic agent memory
Remember user episodes across weeks with temporal validity (what was true when) — not just a static profile vector.
At a glance — Oct 2026
Updated 2026-10-27 · forward this page: /jtbds/episodic-long-term-memory#briefScores as of 2026-09-14 (43 days old; Depot marks scores stale after 30 days). The pick is still Depot's current editorial pick; it has not been re-reviewed since. Prices below carry their own dates.
- Depot Pick
- Zep · 7.48/10 for this job (curated estimate, high confidence)
Distinct from `hosted-agent-memory` / `temporal-graph-memory` nuance: episodic timelines. Confidence: medium.
- Runner-up
- Letta Cloud · 7.37/10
Scores higher than the pick on: Price / performance, Developer & agent DX.
- When not to use the pick
- Mem0 simplicity, Letta stateful runtime, or HIPAA memory (Supermemory) is the constraint.
- Lock-in / migration
- The pick has lower stored lock-in risk than runner-up Letta Cloud (5.2 vs 5.5). Pick exit signals: open source (provider tag `oss`). Self-host fallback listed for this job: Graphiti.
- Sourced price (no comparable unit)
Pick: no sourced price in this job's unit (no_sourced_price).
No cheapest SKU (no_comparable_unit_for_job). No price was invented.
- Free option
- Graphiti (oss) — source, as of 2026-10-25
- Failure modes to watch
- Context overflow: If the input exceeds the window, say so and retrieve a narrower slice. Do not answer from a truncated head as if it were the whole source.
- Stale retrieval: Store the source URL and the time it was fetched. If a newer canonical page exists, or two stored sources disagree, do not answer from the older one.
- Confirmation skip: Gate those tool names on an approval id recorded before the call. A missing approval is a failure even if the downstream tool returns success.
- Identity confusion: Bind every tool call to a user or tenant id. Refuse the call if that id changed mid-task. For a public bot, the operator owns the words the bot shows.
- Instruction drift: Restate the stop condition in the trace. End the run when it is met. Review long traces for steps that do not serve the original task.
- Prompt injection: Compare each tool call to the original user task. If the call only makes sense given text that arrived from a fetched page, file, or message, stop and ask. Record which source the instruction came from. This catalog does not store payloads or attack steps.
Cite: Agent Provider Depot, Depot Pick for episodic-long-term-memory: zep, scores as of 2026-09-14. Agents: GET /api/decide?jtbd=episodic-long-term-memory
Free Episodic memory options · for personal-assistant agents
Zep
Distinct from `hosted-agent-memory` / `temporal-graph-memory` nuance: episodic timelines. Confidence: medium.
Pricing (directional): As of 2026-10-24 (getzep.com/pricing, fetched 2026-10-24): Temporal knowledge-graph memory (Graphiti). 'Self-serve plans are credit based.' Free: 'Start free with 10,000 credits a month.' ('No rollover or auto-topup.'). Flex '$125 / month b…
Lock-in risk: higher = more lock-in (worse). Overall already inverts this dimension.
Pick when agents need temporal/entity graph memory, not just vector snippets. Mem0 for simpler recall.
Quote for Long-term episodic agent memory
Depot Pick stays Zep. Prices below are sourced SKU rows only (as of 2026-10-27). Input and output are not blended. GET /api/quote?jtbd=episodic-long-term-memory
Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.
Sourced price unavailable for the Depot Pick. No row in the pricing index.
5 of 5 candidates have no sourced price row. 5 are excluded from the Matching price comparison (none). no comparable sourced unit for this job; chat input $/1M and other units were not borrowed
Runners-up
Letta Cloud
Choose when the agent IS a long-lived stateful runtime. For bolt-on memory use Mem0/Zep.
Mem0
Default hosted agent memory bolt-on. Model retrieval volume carefully; self-host OSS if caps hurt.
Supermemory
Managed context engine when you want memory without running a vector DB. Mem0 for simpler fact API; Cognee…
Memobase
Depot pick for portable/user-profile memory (MCP across Claude/ChatGPT/agents). Mem0 remains general…
When NOT to use the top pick
Mem0 simplicity, Letta stateful runtime, or HIPAA memory (Supermemory) is the constraint.
Full ranking (score table)
Ranked with this JTBD's weights. Scores are curated estimates unless marked otherwise. Agents: prefer /api/decide then this table for tie-breaks.
| # | Provider | Overall | Fit | $/perf | Latency | DX | As of |
|---|---|---|---|---|---|---|---|
| 1 | Supermemory | 7.9 | 8.4 | 7.8 | 8.0 | 8.8 | 2026-09-14 |
| 2 | Memobase | 7.8 | 8.0 | 9.0 | 7.4 | 8.6 | 2026-09-14 |
| 3 | Mem0 | 7.5 | 7.8 | 8.0 | 7.4 | 8.8 | 2026-09-14 |
| 4 | ZepDepot Pick | 7.5 | 8.2 | 7.0 | 7.6 | 7.8 | 2026-09-14 |
| 5 | Letta Cloud | 7.4 | 8.0 | 7.8 | 7.2 | 8.0 | 2026-09-14 |
Score methodology for this job
Distinct from `hosted-agent-memory` / `temporal-graph-memory` nuance: episodic timelines. Confidence: medium.
capabilityFit: 32%pricePerformance: 12%latencyReliability: 14%developerDx: 12%privacyPosture: 12%lockInRisk: 8%maturity: 10%