Agent Episodic & Semantic Memory Consolidation (Cross-Session Learning)
Extract durable user preferences, domain facts, and past episode outcomes from raw conversation and tool traces so an agent learns across sessions without bloating the context window or poisoning future runs with stale hallucinations.
At a glance — Oct 2026
Updated 2026-10-28 · forward this page: /jtbds/agent-episodic-semantic-memory-learning#briefPromotion class: deterministic_source_reverified · 7.6 ± 0.5 (7.1–8.1 · editorial_prior) · Pricing verified 2026-10-25.
- Depot Pick
- Mem0 · 7.63/10 for this job (curated estimate, high confidence)
Mem0 provides a dedicated extraction, deduplication, and conflict-resolution pipeline across user, session, and agent memory scopes ($0 Hobby up to 10k memories; $19/mo Starter as of 2026-10-28), separating durable semantic facts from episodic history with graph + vector retrieval.
- Runner-up
- Zep · 7.51/10
Scores higher than the pick on: Capability fit, Latency / reliability, Privacy / data retention.
- When not to use the pick
- Need temporal bi-temporal knowledge-graph edges with explicit validity windows (`valid_from` / `invalid_at`) for changing facts — Zep (Graphiti); need explicit OS-style self-editing core/archival memory blocks managed by the agent via tool calls — Letta; need DIY SQL + vector episodic tables inside existing Postgres — Supabase pgvector.
- Lock-in / migration
- The pick has lower stored lock-in risk than runner-up Zep (5 vs 5.2). Pick exit signals: open source (provider tag `oss`).
- 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 (runnable / substitutable)
- No runnable free tier lists this job. A cheap paid SKU or benchmark dataset is not a runnable free option.
- 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.
- Observability gap: Alert on a drop in trace ingestion and on certificate expiry for the trace host. Do not treat a missing trace as a successful quiet run.
Cite: Agent Provider Depot, Depot Pick for agent-episodic-semantic-memory-learning: mem0 (editorial prior, scores as of 2026-10-28). Agents: GET /api/decide?jtbd=agent-episodic-semantic-memory-learning
Mem0
Mem0 provides a dedicated extraction, deduplication, and conflict-resolution pipeline across user, session, and agent memory scopes ($0 Hobby up to 10k memories; $19/mo Starter as of 2026-10-28), separating durable semantic facts from episodic history with graph + vector retrieval.
Pricing (directional): As of 2026-10-24 (mem0.ai/pricing, fetched 2026-10-24): Hosted memory layer. Hobby 'Free' ('10,000 add requests/ month', '1,000 retrieval requests/ month', '1 project'); Starter '$19 / month' ('50,000 add requests /month', '5,000 retrieval …
Top pick (7.63) and #2 runner-up (7.51) are separated by 0.12 points (<= 0.35 weight-sensitivity band). Treat them as co-picks and use the workload tie-breaker rule below rather than the raw composite decimal.
Workload Tie-Breaker Rule: Need temporal bi-temporal knowledge-graph edges with explicit validity windows (`valid_from` / `invalid_at`) for changing facts — Zep (Graphiti); need explicit OS-style self-editing core/archival memory blocks managed by the agent via tool calls — Letta; need DIY SQL + vector episodic tables inside existing Postgres — Supabase pgvector.
Lock-in risk: higher = more lock-in (worse). Overall already inverts this dimension.
Default hosted agent memory bolt-on. Model retrieval volume carefully; self-host OSS if caps hurt.
Quote for Agent Episodic & Semantic Memory Consolidation (Cross-Session Learning)
Depot Pick stays Mem0. Prices below are sourced SKU rows only (as of 2026-10-28). Input and output are not blended. GET /api/quote?jtbd=agent-episodic-semantic-memory-learning
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.
4 of 4 candidates have no sourced price row. 4 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
Zep
Pick when agents need temporal/entity graph memory, not just vector snippets. Mem0 for simpler recall.
Letta Cloud
Choose when the agent IS a long-lived stateful runtime. For bolt-on memory use Mem0/Zep.
Supabase (pgvector)
Depot default for most agent apps under ~25–50M vectors. Don't add Pinecone until Postgres actually hurts.
When NOT to use the top pick
Need temporal bi-temporal knowledge-graph edges with explicit validity windows (`valid_from` / `invalid_at`) for changing facts — Zep (Graphiti); need explicit OS-style self-editing core/archival memory blocks managed by the agent via tool calls — Letta; need DIY SQL + vector episodic tables inside existing Postgres — Supabase pgvector.
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 | Lock-In Risk | As of |
|---|---|---|---|---|---|---|---|---|
| 1 | Supabase (pgvector) | 8.6 | 8.5 | 9.0 | 8.6 | 9.4 | 3.0 | 2026-10-28 |
| 2 | Mem0Depot Pick | 7.6 | 7.8 | 8.0 | 7.4 | 8.8 | 5.0 | 2026-10-28 |
| 3 | Zep | 7.5 | 8.2 | 7.0 | 7.6 | 7.8 | 5.2 | 2026-10-28 |
| 4 | Letta Cloud | 7.5 | 8.0 | 7.8 | 7.2 | 8.0 | 5.5 | 2026-10-28 |
Score methodology for this job
Weights capabilityFit highest: cross-session memory must handle contradiction resolution (when a user preference or repo invariant changes) and provenance tagging so unverified episodes never overwrite verified rules. Pair with LongMemEval and LOCOMO benchmarks.
capabilityFit: 28%pricePerformance: 16%latencyReliability: 16%developerDx: 16%privacyPosture: 10%lockInRisk: 6%maturity: 8%