AI Memory Layers arenaAI Memory Layers
Memory layers that give AI agents and assistants persistent, queryable long-term memory across sessions, judged on recall quality, graph and entity memory, session summarization and context assembly, retrieval latency, tenancy and permissions, forgetting and export, self-host options, SDK breadth, and how completely an agent can manage its own memory through APIs and MCP.
57 user stories · 342 judged cells · updated 2026-09-16 · Evidence as of 2026-09-16
Leaderboard — every product ranked by evidenceLeaderboard
| 1 | free-tier vs Letta ↗ | 77/100 | 30/100 | 33/100 | 47/100 | 22/100 | ★ 65.3k▲ 20.2k/yrnpm 92.4k/wkpypi 475.2k/wk | 14/40 verified | 33/100 integrity | ||
| 2 | free-tier vs Mem0 ↗ | 65/100 | 70/100 | 3/100 | 46/100 | 23/100 | ★ 24.7k▲ 8.4k/yrnpm 57.6k/wkpypi 26k/wk | 17/36 verified | 31/100 integrity | ||
| 3 | free-tier vs Mem0 ↗ | 53/100 | 37/100 | 33/100 | 44/100 | 20/100 | ★ 6.6k▲ 3.8k/yrnpm 2.6k/wk | 13/26 verified | 14/100 integrity | ||
| 4 | free-tier vs Mem0 ↗ | 66/100 | 13/100 | untested | 31/100 | 10/100 | ★ 30.9k▲ 14.7k/yrnpm 81.3k/wk | 22/39 verified | 50/100 integrity | ||
| 5 | free-tier vs Mem0 ↗ | 44/100 | 29/100 | 5/100 | 46/100 | 10/100 | ★ 30.7k▲ 10k/yrpypi 18.8k/wk | 15/38 verified | 33/100 integrity | ||
| 6 | free-tier vs Mem0 ↗ | 56/100 | 28/100 | 0/100 | 31/100 | 12/100 | ★ 29.7k▲ 11.7k/yrnpm 90.5k/wk | 9/34 verified · 1 disputed | 0/100 integrity |
Best by user type — persona-weighted winnersBest by user type
Per persona, the product with the highest persona-weighted coverage over just that persona's stories — not the same ranking as the overall PA Score leaderboard above.
Story matrix — every product × every judged storyStory matrix
Agenticness — how well agents can access and operate the productAgenticness
Agent access
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productPoint an agent at llms.txt or agent-oriented docs | ai-native | fullT 9/10 | fullT 9/10 | fullT 8/10 | fullT 8/10 | fullT 8/10 | fullT 8/10 |
| Agenticness — how well agents can access and operate the productRun the product headlessly / in CI for automation | ai-native | fullT 8/10 | partialT 6/10 | fullC 8/10 | fullC 7/10 | partialT 6/10 | partialT 7/10 |
| Agenticness — how well agents can access and operate the productPlug MCP servers into this product so it can use their tools | ai-native | n/a | n/a⚿ | fullX 8/10 | n/a | none 0/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productConnect an agent via an official MCP server | ai-native | fullT 8/10 | fullT⚿ 9/10 | n/a | fullT 8/10 | fullT 8/10 | fullT 8/10 |
| Agenticness — how well agents can access and operate the productUse an official CLI | ai-native | fullT 8/10 | fullT 8/10 | fullT 8/10 | partialC 5/10 | fullT 8/10 | fullT 8/10 |
| Agenticness — how well agents can access and operate the productDrive the product through a documented public API | ai-native | fullT 9/10 | fullT⚿ 9/10 | fullT 8/10 | fullT 8/10 | fullT 7/10 | fullT 8/10 |
| Agenticness — how well agents can access and operate the productIssue scoped/least-privilege API credentials for an agent | ai-native | partialC 5/10 | fullT⚿ 8/10 | partialC 4/10 | none 0/10 | none 0/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productBuild against official SDKs | ai-native | fullT 8/10 | partialT 6/10 | fullC 8/10 | fullT 8/10 | partialT 6/10 | partialT 6/10 |
| Agenticness — how well agents can access and operate the productSubscribe to events via webhooks | ai-native | fullC 8/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | fullC 8/10 |
Agentic features
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productGet AI-generated insights and suggestions from my data inside the product | ai-native | partialC 4/10 | partialC 5/10 | partialX 6/10 | partialC 5/10 | partialC 6/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productSet up automations that run autonomously in the background | ai-native | n/a | none 0/10 | fullX 8/10 | partialC 4/10 | partialC 4/10 | partialC 5/10 |
| Agenticness — how well agents can access and operate the productDelegate tasks to a built-in AI assistant inside the product | ai-native | n/a | none 0/10 | fullX 8/10 | none 0/10 | none 0/10 | n/a |
| Agenticness — how well agents can access and operate the productOperate the product with natural-language commands | ai-native | partialC 6/10 | partialT⚿ 5/10 | fullX 8/10 | fullT 7/10 | fullT 7/10 | fullT 8/10 |
Api quality
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Agenticness — how well agents can access and operate the productExplore an interactive API reference with runnable examples | ai-native | partialT 4/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | partialT 4/10 |
| Agenticness — how well agents can access and operate the productDownload a machine-readable API spec (OpenAPI or equivalent) | ai-native | fullT 9/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | fullT 9/10 |
| Agenticness — how well agents can access and operate the productTest against a sandbox environment without touching production data | ai-native | none 0/10 | none 0/10 | partialC 4/10 | none 0/10 | partialC 6/10 | none 0/10 |
| Agenticness — how well agents can access and operate the productRely on versioned APIs with a documented deprecation policy | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Automation depth — how much of the product can run unattendedAutomation depth
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Automation depth — how much of the product can run unattendedPerform bulk operations across many items at once | ai-native | partialC 3/10 | partialC 4/10 | partialC 4/10 | partialC 5/10 | partialC 6/10 | partialC 4/10 |
| Automation depth — how much of the product can run unattendedDefine rules that trigger actions automatically on events | ai-native | partialC 4/10 | none 0/10 | partialC 6/10 | none 0/10 | none 0/10 | partialC 3/10 |
| Automation depth — how much of the product can run unattendedSchedule recurring jobs or workflows | ai-native | n/a | n/a | none 0/10 | n/a | none 0/10 | partialC 3/10 |
| Automation depth — how much of the product can run unattendedVersion, review, and roll back my automations | ai-native | n/a | n/a | partialC 4/10 | n/a | n/a | n/a |
Data lifecycle — stories about data lifecycle in this arenaData lifecycle
Forgetting
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Data lifecycle — stories about data lifecycle in this arenaDelete a user's memories on demand — single memory, per-entity, or full erasure — to satisfy privacy requirements | platform-engineer | partialC 6/10 | fullC 9/10 | none 0/10 | partialC 6/10 | fullC 8/10 | none 0/10 |
| Data lifecycle — stories about data lifecycle in this arenaMake memories expire or decay — via TTL, expiration dates, or recency weighting — so stale facts stop surfacing | developer | fullC 7/10 | partialC 4/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Portability
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Data lifecycle — stories about data lifecycle in this arenaExport memories in a machine-readable format so the memory store is portable and not a lock-in trap | platform-engineer | fullC 7/10 | partialT 4/10 | partialC 5/10 | none 0/10 | none 0/10 | none 0/10 |
Deployment self host — stories about deployment self host in this arenaDeployment self host
Self host
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Deployment self host — stories about deployment self host in this arenaRun the memory layer fully locally — embedded in-process or against local models — without any cloud dependency | developer | partialC 5/10 | partialT 5/10 | partialC 6/10 | partialC 6/10 | partialC 7/10 | partialC 4/10 |
| Deployment self host — stories about deployment self host in this arenaSelf-host the memory layer from open-source code (e.g. via Docker) on infrastructure I control | platform-engineer | fullC 7/10 | partialT 4/10 | partialT 6/10 | partialC 4/10 | fullC 8/10 | fullC 8/10 |
Graph entity memory — stories about graph entity memory in this arenaGraph entity memory
Knowledge graph
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Graph entity memory — stories about graph entity memory in this arenaStore memories as a knowledge graph of entities and relationships so multi-hop and entity-centric questions are answerable | ml-engineer | fullC 8/10 | fullT 9/10 | none 0/10 | fullC 7/10 | fullX 8/10 | none 0/10 |
| Graph entity memory — stories about graph entity memory in this arenaTrack when facts became valid or invalid (temporal reasoning) so the memory distinguishes current from outdated information | ml-engineer | partialC 4/10 | fullT 8/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Memory recall quality — stories about memory recall quality in this arenaMemory recall quality
Agent memory
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Memory recall quality — stories about memory recall quality in this arenaMy agent can manage its own memory mid-conversation — adding, searching, updating, and deleting memories through tools or API calls it invokes itself | ai-native | fullT 8/10 | partialT⚿ 7/10 | fullX 8/10 | fullT 8/10 | fullT 8/10 | none 0/10 |
| Memory recall quality — stories about memory recall quality in this arenaThe memory layer decides for itself what is worth remembering — extracting salient facts from raw conversation and consolidating them in the background | ai-native | partialX 7/10 | fullX 8/10 | fullX 8/10 | partialC 7/10 | partialC 6/10 | n/a |
Benchmarks
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Memory recall quality — stories about memory recall quality in this arenaSee published memory-quality benchmark results (e.g. LongMemEval, LoCoMo) backing the product's recall-accuracy claims | ml-engineer | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Core memory
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Memory recall quality — stories about memory recall quality in this arenaAdd memories from conversations and retrieve them later with semantic search, so context persists across sessions | developer | fullX 8/10 | fullT⚿ 9/10 | partialX 6/10 | fullX 8/10 | fullX 8/10 | none 0/10 |
| Memory recall quality — stories about memory recall quality in this arenaRely on the memory layer to update, supersede, or merge memories when new information contradicts what was stored | developer | partialC 5/10 | fullX 8/10 | partialX 6/10 | partialC 5/10 | partialC 5/10 | none 0/10 |
Retrieval controls
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Memory recall quality — stories about memory recall quality in this arenaSteer retrieval with metadata filters, keyword/hybrid search modes, or reranking instead of accepting a single fixed similarity search | developer | partialC 6/10 | partialC 6/10 | partialC 4/10 | fullC 8/10 | partialC 5/10 | partialC 4/10 |
Openness — open source, data portability, and self-hosting storiesOpenness
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Openness — open source, data portability, and self-hosting storiesDo everything through the API that I can do in the UI | ai-native | partialT 6/10 | partialC 7/10 | partialT 5/10 | partialT 6/10 | partialT 6/10 | partialT 6/10 |
| Openness — open source, data portability, and self-hosting storiesExport all of my data in open formats and leave | ai-native | partialC 6/10 | partialT 4/10 | partialX 5/10 | none 0/10 | partialC 5/10 | partialT 4/10 |
| Openness — open source, data portability, and self-hosting storiesRead the product's source under an open license | ai-native | partialC 4/10 | partialT 5/10 | partialT 6/10 | none 0/10 | partialC 5/10 | partialC 5/10 |
| Openness — open source, data portability, and self-hosting storiesSelf-host the core product | ai-native | fullC 8/10 | partialT 5/10 | fullC 8/10 | fullC 8/10 | fullX 8/10 | fullC 8/10 |
Pricing plans — plan structure and value — what each tier costs and what it unlocksPricing plans
Pricing
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Pricing plans — plan structure and value — what each tier costs and what it unlocksSee published pricing with a free tier and per-unit rates so I can project memory costs before committing | platform-engineer | none 0/10 | none 0/10 | partialC 5/10 | partialC 4/10 | partialC 4/10 | none 0/10 |
Privacy posture — data-handling and privacy storiesPrivacy posture
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Privacy posture — data-handling and privacy storiesChoose where my data is stored (region/residency) | ai-native | partialC 4/10 | partialC 5/10 | partialC 4/10 | partialC 4/10 | partialC 6/10 | none 0/10 |
| Privacy posture — data-handling and privacy storiesPrevent my data from being used to train AI models | ai-native | none 0/10 | none 0/10 | none 0/10 | partialC 5/10 | partialC 5/10 | none 0/10 |
| Privacy posture — data-handling and privacy storiesControl data retention and deletion | ai-native | partialC 6/10 | fullC 8/10 | partialC 5/10 | partialC 6/10 | fullC 8/10 | none 0/10 |
| Privacy posture — data-handling and privacy storiesOpt out of telemetry and usage tracking | ai-native | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Retrieval performance — stories about retrieval performance in this arenaRetrieval performance
Latency
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Retrieval performance — stories about retrieval performance in this arenaSee documented retrieval-latency targets or measured numbers (e.g. p50/p95) backing the product's speed claims | platform-engineer | none 0/10 | partialC 5/10 | none 0/10 | none 0/10 | none 0/10 | partialC 3/10 |
Sdk integrations — stories about sdk integrations in this arenaSdk integrations
Agent memory
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Sdk integrations — stories about sdk integrations in this arenaConnect off-the-shelf assistants (Claude, ChatGPT, Cursor) to the same memory so every tool I use shares what it knows about me | ai-native | fullT 8/10 | fullT⚿ 9/10 | none 0/10 | fullT 8/10 | partialT 7/10 | fullT 8/10 |
Frameworks
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Sdk integrations — stories about sdk integrations in this arenaDrop the memory layer into agent frameworks like LangChain, LangGraph, CrewAI, or the Vercel AI SDK via documented first-party integrations | developer | partialC 6/10 | partialC 6/10 | none 0/10 | none 0/10 | none 0/10 | partialC 3/10 |
| Sdk integrations — stories about sdk integrations in this arenaWire memory into real-time voice pipelines (e.g. LiveKit, Pipecat, ElevenLabs) with documented integrations fast enough for live conversation | developer | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 | none 0/10 |
Sdks
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Sdk integrations — stories about sdk integrations in this arenaBuild against official SDKs in at least Python and TypeScript with equivalent memory APIs | developer | partialC 6/10 | partialC 3/10 | partialC 5/10 | partialC 6/10 | partialT 3/10 | none 0/10 |
Session context — stories about session context in this arenaSession context
Context assembly
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Session context — stories about session context in this arenaRetrieve a token-budgeted, prompt-ready context block assembled from relevant memories in one call | developer | partialC 4/10 | fullX 8/10 | none 0/10 | partialC 4/10 | partialC 5/10 | none 0/10 |
| Session context — stories about session context in this arenaGet summaries of past sessions or threads so an agent can pick up where the last conversation left off | developer | partialT 6/10 | fullC 9/10 | fullX 8/10 | partialC 7/10 | partialC 7/10 | n/a |
Ingestion
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Session context — stories about session context in this arenaIngest documents, JSON, and business data into memory — not just chat transcripts | developer | none 0/10 | fullC 8/10 | partialC 5/10 | disputedD 6/10 | fullC 8/10 | fullX 8/10 |
| Session context — stories about session context in this arenaStore images, PDFs, or other files as memory inputs and recall information from them later | developer | none 0/10 | none 0/10 | none 0/10 | fullC 8/10 | partialC 6/10 | none 0/10 |
Tenancy permissions — stories about tenancy permissions in this arenaTenancy permissions
Governance
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tenancy permissions — stories about tenancy permissions in this arenaGovern who and what can read or write memory with roles, policies, or access-control lists, and audit that access | platform-engineer | partialC 4/10 | partialC 6/10 | partialC 3/10 | partialC 4/10 | partialC 5/10 | none 0/10 |
Isolation
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tenancy permissions — stories about tenancy permissions in this arenaScope memories per user, agent, or application so one tenant's memories never leak into another's retrieval | developer | fullC 7/10 | fullC 7/10 | partialC 5/10 | fullC 8/10 | partialC 7/10 | none 0/10 |
Sharing
| Story | Persona | ||||||
|---|---|---|---|---|---|---|---|
| Tenancy permissions — stories about tenancy permissions in this arenaShare selected memory across multiple agents or users (team or group memory) while keeping private memory private | developer | partialC 5/10 | partialC 5/10 | fullC 7/10 | partialC 7/10 | partialC 7/10 | none 0/10 |
Adjacent arenas — categories often shopped togetherAdjacent arenas
Shopping this category often means shopping these too.
Vector Databases & Memory Stores arenaVector Databases & Memory Stores
7 products · leader: Chroma
AI Search APIs arenaAI Search APIs
5 products · leader: Tavily
LLM Evals & Observability arenaLLM Evals & Observability
8 products · leader: Braintrust
MCP Infrastructure & Registries arenaMCP Infrastructure & Registries
6 products · leader: Composio
shares: Deployment self host, Pricing plans