The Archive

Agent memory systems: the market map and comparison guide

The first useful question is where you want memory to live. An assistant’s project notes, a framework store and a managed interpretation service can all preserve information between sessions while leaving different work to you.

This guide covers 46 product/component labels from the surveyed inventory. It is a dated map, not an exhaustive market census or performance ranking. Zep and Graphiti, Redis Iris and Agent Memory, and different products from one assistant vendor are related surfaces; their presence does not create independent evidence.

Evidence cutoff: 29 October 2026. Each contract belongs to its captured interface or version. Current documentation may differ. Source availability and later observations are recorded in the vendor audit and source follow-up.

Use the main decision article for the reasoning and the evidence deep dive for experiments and source-code findings. This guide supplies contracts and candidate questions, not new vendor efficacy measurements.

Examples refer to Atlas, an invented project whose proposed migration from Python 3.11 to 3.13 is corrected and then cancelled. Its current deployment target remains 3.11; another project and a rare compatibility rule test scope and retention [4].

Start with the boundary you already operate

Existing boundary or needFamily to inspectWhat you still need to decide
Shared context for supported applications/toolsDedicated memory layersWhich interpretation, revision and retrieval work to delegate
Existing cloud deploymentCloud memory servicesIdentity, completion, region, networking and support
Existing agent frameworkFramework memoryPersistent backend, write trigger and context assembly
Existing databaseDatabase components/reference designsExtraction policy, current-state schema and authorization
Personal or coding-assistant continuityNative assistant memoryExact account/project/host scope and user controls
An experimental mechanism or local workflowLocal and research systemsIntegration, reproduction and operating/support obligations

The entries below explain the particular implementations. Choose a backend before comparing a framework abstraction with a hosted service. Distinguish a stated contract, inspected code and a measured paper configuration; those evidence types do not form an overall product score.

The complete inventory

Every name links to its entry. Families describe the primary role in this survey, not an exclusive set of capabilities. The names stay visible even where a current contract is unresolved.

Figure 01 / Explore the idea

Separate where memory lives before comparing products.

Paused

01 / 0746 surveyed labels in 6 families. A family describes who operates what, not capability or quality. Lettered names are related surfaces, not independent evidence.

The guide’s inventory and its “Start with the boundary you already operate” table, as written: 46 product/component labels, evidence cutoff 29 October 2026. Families describe each label’s primary role in this survey, not exclusive capabilities, quality or market share; the count is coverage, not evidence. Each name links to its entry. Names only: no logos.

Read the same fields for every candidate

FieldWhat to establishWhere this guide records it
Surface/versionExact product, API, backend and captured generationEntry and detailed contract row
Retained state and changesWhat is stored and who adds, revises or reconciles itFirst paragraph; representation/write column
Reading and controlWhat reaches the model and who enforces ownership/accessEntry; read/scope column
Deployment and billWhich resources you operate and which customer units are chargedEntry and tariff reference
Evidence and limitSource URL/version and the most consequential unresolved fieldAdjacent citations and stated qualifications

“Not established” describes this investigation’s evidence. It does not mean a feature is absent. A research score does not establish the reliability of a current hosted feature. The detailed contract tables preserve every captured representation, write/read, scope and meter field in a consistent table format.

Figure 02 / Compare

Read the same fields across a shortlist.

Start with a job that can reject an option. Choose one of the guide’s five jobs to load the entries it names, or add and remove any of the 46.

Question that decides itDoes explicit scoped state already meet the requirement? [48, 56, 8, 60]Also named in this row, with no inventory entry: Versioned file.

Representation and changesReading and controlMeter and limits
LangGraph storecaptured OSS docs
Cross-thread namespace/key/value records; distinct thread checkpoints; explicit put/searchNodes select/inject; application/backend enforce identity and maintenanceDatabase adapters/migrations/operations. In-memory examples are not durable deployment or automatic reconciliation [48]
MongoDB LangGraph storecaptured docs
Namespace documents, optional vector index/TTL, separate graph-state checkpointerKey/filter/semantic search; manual/server embeddings; namespace/key deletionPackage minimums are not a universal deployment pin; Atlas/search/model costs; adapter does not supply extraction policy [56]
Pydantic AIcaptured persistence docs
Serialized conversation, execution logs, searchable history and separate versioned Markdown notebookNamespace resolved from dependencies; bounded excerpts; file/SQLite/Postgres/custom providersApplication model/store/operations. Conversation, memory and durable execution remain different facilities [8]
Add or remove entries · 3 of 6 chosen
Dedicated memory layers
Cloud memory services
Framework memory
Database components and reference designs
Native assistant memory
Local and research systems
Each row is that entry’s captured contract from the guide’s detailed contract tables, unchanged, at the 29 October 2026 cutoff: documented interfaces and inspected code, not tested configurations. “Not established” or “unknown” means this investigation did not establish the field, not that a feature is absent. The jobs and the entries they name are the guide’s shortlist table: interface-based starting points, not endorsements or a ranking.

Dedicated memory layers

Mem0

The historical paper extracts short facts and decides whether to add, update, delete or do nothing. The captured hosted V3 inferred-add reference instead documents asynchronous ADD-only responses/events, alongside separate explicit update, delete and history endpoints. Search returns scored records for the application to assemble into context. These are different interfaces and evidence dates [1, 10].

Test the complete correction path rather than inferring it from the add response. Wait for processing, inspect stored versions, then ask a new-session deployment question. Check user/agent identifier semantics before treating an empty result as failed memory. Hosted Free/Custom terms and self-hosted model, embedding and database work need separate bills [10, 12].

Zep

Zep offers managed context retrieval over ingested episodes and a context graph. Its historical architecture paper explains a temporal approach, but a paper or a Graphiti source file does not establish every behavior of today's managed service. Captured pricing uses episode-byte credits; retrieval and storage are unmetered under those terms [13, 14].

Distinguish “what applies now?” from “what did we believe then?” in the acceptance test. Ask the service to demonstrate both views and inspect returned evidence. Choose the managed boundary for a concrete operational reason; neither a historical benchmark win nor the presence of timestamps settles correction behavior.

Graphiti

Graphiti is the inspectable graph engine related to Zep. At the pinned commit, episodes become entities and fact edges through model extraction, deduplication and contradiction decisions. Semantic, keyword and graph search can use temporal filters. Default relevance search and an explicit current-only query are different views [15, 16, 67].

A future end date can preserve an old assertion until migration while another query excludes expired records. The application must select the intended view. Self-hosting makes graph, model, embedding and operational work yours; it also lets you inspect the exact consumer query. The source probes explain why that distinction changed this investigation's conclusion [4].

Letta

The inspected legacy V1 interface uses labeled memory blocks with descriptions and size limits. Attached blocks are prepended to the prompt; tools or API calls replace their contents, with read-only and shared options. The repository marks the V1 server retired, so this evidence describes an interface and design rather than the full current platform [17, 18].

Atlas's deployment target is a plausible small block: easy to inspect and present on every turn. A growing migration archive needs a separate access route. Test who can replace a block and whether detaching it differs from deleting it. Always-present notes consume reader context, in addition to hosting and model costs.

Supermemory

The continuing API, MCP and plugin surfaces provide profiles, facts and memory-graph services with search and traversal. Captured billing distinguishes ingestion in SM tokens, queries and other operations; supported updates under the same identity count net-new content. The Company Brain/Nova shutdown notice does not discontinue the API [19, 20].

Follow one document through an edit, profile refresh and later search. Does the cancelled migration remain in an injected profile, a searchable source, or both? Those are useful distinct outcomes. Check the exact integration and plan rather than transferring either a discontinued product's status or an old tariff to the remaining service.

Memobase

Memobase centers a user profile and event timeline. Chats can buffer before a flush processes them; profile/context lookup and semantic context search are separate paths. Its captured README distinguishes under-100 ms profile access from a 500–1000 ms search path. Processed blobs are removed by default unless configured otherwise [21].

A stable preference fits a profile more naturally than an entire disputed migration. Preserve enough permitted source evidence to inspect how a slot changed, and test after the buffer is processed. Include model, batch and hosting work; this investigation did not establish a normalized current tariff.

Honcho

Honcho keeps peers and sessions while background reasoning develops representations that applications can query or retrieve as context. Workspace isolation and named recall scopes have different meanings: workspace credentials can access sessions outside a named scope. Its offer separates input tokens, context reads and depth-specific reasoning queries [22, 23].

Distinguish a maintainer's stated decision from an inference about their preferences. Test the evidence for that inference and the freshness of the representation. A scope that narrows recall is useful, but authenticated access must still prevent another project's reader from asking a broader question.

Hindsight

Hindsight's banks contain world facts, experiences, consolidated observations and materialized mental models or pages. Recall combines semantic, keyword, graph and temporal signals within a budget; reflect performs analysis, and materialized pages can be read directly. Retain, recall, reflection/refresh and older storage have distinct captured meters [24, 25].

Inspect the original migration evidence and the consolidated page after cancellation. A page can make repeated reads convenient, but refresh work belongs in the bill. The billing and MCP pages disagree on part of the token meter, so this guide keeps that uncertainty visible instead of predicting an invoice [25, 88].

Cognee

Cognee coordinates sources, graph/vector data, session history and lessons through remember, recall, improve and forget paths. Some session reads bypass graph search. The maintainer architecture document and pinned v1.6.6 lifecycle code support different levels of precision; the latter exposes concrete deletion, regeneration and coordination boundaries [26, 94, 95, 96, 97, 98, 99].

Identify which representation answered before deciding which one to repair. Memory-only forgetting can deliberately retain sources for rebuilding, while session deletion can retain distilled lessons. Choose the retention contract first. Cloud processed-token billing and self-hosted infrastructure also need different accounting; the evidence companion examines those contracts [27].

MemOS

MemOS describes memory containers, or MemCubes, with plaintext/vector and hierarchical linked memory, plus add, search, update, transfer and rollback operations. Its architecture also discusses cached internal activations and attention key/value memory; model-weight memory is marked coming soon in the captured documentation. MemOS and MemoryOS are distinct projects [28].

Ask which implemented representation and scheduler the deployment actually uses. A broad architecture does not make every memory type available in one tested configuration. Treat the interchange protocol as a portability design, then compare supported answers after a real transfer. Complete current pricing was not established here.

Memori

Memori captures conversations or executions into persistent state attributed to entities, processes and sessions, with background facts, preferences, rules and skills. A wrapped SDK or tools provide recall; the surrounding application determines how that material reaches the model. Captured configurations include cloud, customer-database and enterprise options [29].

Inspect both the capture wrapper and the final answering prompt. A correctly stored rule can still be absent from the next migration request. Evaluate compact-context performance separately from storage ownership and model/backend costs; historical paper results do not establish every current configuration's performance or bill.

Cloud memory services

Amazon Bedrock AgentCore Memory

AgentCore separates short-term source events from strategy-generated long-term records, with built-in, override and self-managed paths. Actors, sessions, namespaces and access-management permissions need application design. Captured charges include bytes, record-months and retrieval calls; configurable models can add work [42, 43].

Wait for the selected strategy to finish before testing recall. Deleting an event and deleting long-term records are separate API operations, so require evidence for any promised derivative cascade. Check processing regions as well as storage regions: the documented regional boundary is more specific than “it runs in our cloud” [92, 101].

Google Memory Bank

Memory Bank generates and consolidates facts within matching scopes, while direct CreateMemory bypasses extraction and consolidation. The captured quickstart supports creation, retrieval, updates and deletion; revision history provides audit and recovery. Its SDK can be used independently of Google ADK, and scopes support at most five key/value pairs [44, 45].

Direct writes may suit an already-authorized deployment setting; generated facts suit a different ingestion route. Test those routes separately. A revision can restore a saved version without knowing when a migration truly applies in the world. Model/platform pricing was not established completely in this investigation.

Microsoft Foundry memory

The captured public preview extracts and consolidates profile, chat-summary and procedural items, with direct item operations and commands. Applications can use search tools or APIs. Compatible chat/embedding deployments are required; networking limits and creation defaults matter, including no memory-store virtual-network integration in the inspected contract [46].

Identity and deployment requirements can reject this candidate before retrieval quality matters. Test how authenticated context resolves the tool's scope, how corrections become visible, and what a fresh run receives. Budget the configured Azure model and platform work rather than assuming the memory abstraction is the entire service cost.

Microsoft Agent Framework

Its inspected integration supplies a context provider that retrieves before a run and extracts asynchronously afterward. A Cosmos alternative is a separate backend choice. The integration maps application identities to sessions and scopes; it is not an additional independent memory engine [11].

An immediate follow-up can arrive before extraction finishes even with zero batching delay. Use a completion/readiness check, then inspect the next run's context. Choose the provider because it fits the application lifecycle, and evaluate the actual backend's storage, correction and cost contract.

Framework memory

LangGraph store

LangGraph distinguishes thread checkpoints from cross-thread namespace/key/value records. Nodes explicitly write, search and inject store results, while application code and the chosen backend enforce identity and maintenance. An in-memory demonstration does not establish persistence after restart [48].

This is a candidate when the application wants to own the current-state schema and update policy. Store the authorized runtime explicitly and keep dated evidence separately if needed. The trade is ownership of database adapters, migrations and operations, plus the extraction and ranking policy you choose to add.

LangMem

LangMem adds extraction and management of text or structured memories over a store, with insert, update and delete policies and inline or background reflection. It supplies more interpretation than a bare key/value store, while still depending on the surrounding namespace and prompt-assembly design [47].

Compare extracted changes against explicit updates of the known deployment target. Configure deletion behavior explicitly: the captured store-manager signature and prose disagree on its default. Model, embedding and store work remain costs even when the library itself has no per-record service fee.

LlamaIndex Memory

The inspected demonstration maintains recent messages and flushes older ones into optional static, fact or vector memory blocks. Priority and token limits determine how blocks and history merge into user or system context. Archive/reset operations belong to that configured memory surface [49].

Inspect what happens when the correction crosses the recent-history boundary. Does a fact block preserve its condition, and can vector retrieval recover the original? Include model, embedding, vector and SQL resources. A documented reset method is a starting point for an erasure test, not a measured audit of every derivative.

Mastra

Mastra offers recent history, optional working memory and semantic recall, plus observational memory that uses observation/reflection to compress older visible history. Resource/thread scope affects what is shared; request context is transient. Those mechanisms should be identified separately in any evaluated configuration [50].

Working memory can hold the current target while history explains why it changed. Test whether an observation preserves the cancellation and rare compatibility constraint after the original messages leave the active context. Count background model work and storage. A published observational-memory setup does not describe every Mastra runtime.

CrewAI

The captured v1.15.33 unified memory infers scope, category and importance, consolidates records, and ranks recall using semantic similarity, recency and importance. It offers shallow/deep recall, slices and a documented drain barrier, with LanceDB as the default storage choice [51].

Use the drain barrier before judging completed writes. Then test whether a highly ranked proposal outruns an authoritative correction. Ranking weights express selection policy; they are not calibrated truth confidence. Check fallback behavior too: storage can succeed under default categorization even when richer interpretation fails. Models and storage still need budgeting.

Google ADK

ADK's MemoryService interface can sit over in-process keyword history, managed Memory Bank or a raw-transcript retrieval implementation. Preloading on each turn and agent-selected loading are different read policies. Write methods and optional features vary by backend and language [52].

Pick the backend and retrieval cadence before comparing “ADK memory” with another service. The default in-memory implementation loses data on restart. A managed backend changes that boundary, but still needs a working write path, correct scope and final context assembly. Backend/API/model costs follow the chosen implementation.

Pydantic AI

Its persistence documentation separates serialized conversations, execution logs, searchable history and a versioned Markdown notebook. The notebook resolves namespaces from dependencies and returns bounded excerpts, with file, SQLite, Postgres or custom providers. These facilities preserve different things [8].

Resuming an interrupted migration run and carrying the target runtime into an unrelated future run are separate requirements. Decide which facility owns each. Then test namespace resolution and the excerpt the model actually sees. Persistence alone does not supply a fact-change policy; model, store and operational costs remain application choices.

Database components and reference designs

Redis Agent Memory

The inspected Redis Iris tutorial describes session events and durable records, automatic extraction and direct writes, with owner-addressed get/search. Generation can take minutes. Its documented short-term time-to-live is one hour and long-term time-to-live 365 days; the old V0 OSS distribution is retained as a research artifact [53, 111].

Distinguish queued generation from failed retention, and check that a remembered decision lasts as long as the application promises. Evaluate the managed distribution actually offered. This investigation did not establish its complete price or derivative-deletion contract, so neither should be inferred from the older open-source artifact.

Redis Iris

Iris is the broader platform around the memory surface: the tutorial also includes Context Retriever, database synchronization, LangCache and Search. Business-entity tools and synchronized operational data can supply context alongside remembered conversations. Iris and Agent Memory are related labels, not two independent confirmations of a result [53].

The runtime may already be authoritative in synchronized application data. Ask whether remembering the conversation adds anything to reading that source. Also distinguish semantic response caching from provider prompt caching: they reuse different things and need different correctness and billing checks. Component, service and model meters can all matter.

Elastic reference design

Elastic's design uses episodic, semantic and procedural indices, preserves verbatim turns and records supersession pointers. It combines hybrid retrieval/reranking with document-level security and optional superseded history. Forget hard-deletes addressed records; explicit index refresh affects visibility and throughput [54].

Retaining original wording can help verify whether a migration was proposed or approved. Test correction visibility before and after the relevant refresh. The reported passage evaluation covers 168 generated questions; it is not a completed action evaluation, and some described guards/ranking features remain unwired. Search, inference and licensing belong in the operating model.

Neo4j agent memory

Neo4j Labs provides messages, entities, relationships and application-recorded traces, accessed through Bolt or a hosted workspace. The inspected Python tutorial uses 0.7.0. Labs describes the project as maintained but not officially supported; a conversation identifier is not authorization [55].

Graph relationships are worth testing when the question needs them: which dependency blocks which migration, and which decision superseded another? The application must still encode those distinctions and enforce access. Database, model and hosting costs remain, together with the support implications of adopting a Labs component.

MongoDB LangGraph store

The documented integration stores namespaced documents with optional vector indexing and time-to-live, alongside a separate graph-state checkpointer. It supports key/filter/semantic search, manual or server embeddings, and namespace/key deletion. Package minimums describe compatibility requirements rather than a universal deployment pin [56].

An existing MongoDB deployment can make this an operationally natural store. It does not decide how conversation becomes a current fact. Specify the update policy, deletion coverage and checkpoint relationship. MongoDB Atlas, search and model charges belong in the comparison.

Memorizz

The experimental README describes episodic, semantic, procedural and shared stores, notebook/history, local/database providers and harness plugins. Retention suppression is reversible. The code is source-available under PolyForm Noncommercial, with no established production security-hardening guarantee in this evidence [57].

Inspect the specific provider and permitted use before treating this as a production candidate. Reversible suppression can be useful for retention management, but it is a different promise from source erasure. Test the exact user/agent/thread boundaries and budget database, model and operational work.

Native assistant memory

OpenAI’s ChatGPT and Codex surfaces have different persistence boundaries. Anthropic’s Claude.ai, Claude Code and API memory tool do too. Treat the exact interface as the unit of comparison [58, 59, 60, 61].

ChatGPT memory

The inspected official documentation describes product/account/workspace personalization across supported work. That is a native product surface; its internal representation and standalone memory tariff were not established here. ChatGPT web memory and host-local Codex memory are separate surfaces [58].

First inspect what the account remembers and what project/workspace controls apply. That may meet a personal continuity need without an additional service. It does not establish that a custom API agent or another assistant receives the same decisions. Test the actual destination rather than assuming a shared brand creates shared memory.

Codex memory

The captured documentation describes background extraction and consolidation from eligible idle chats into host-local generated files and evidence. Generation, use and each chat's contribution have separate controls. It is off by default in that contract, and quota can delay generation [58].

Inspect the selected host and the remembered evidence before testing a fresh coding session. Keep required team instructions in versioned guidance rather than relying on a background job to infer them. No separate record tariff was established; product/model usage and the documented generation conditions still matter.

Claude.ai memory

The inspected documentation distinguishes new topics saved during chats from legacy daily synthesis, with review, edit and deletion controls and account/project boundaries. Chat search is separate. New memory entries can survive source-chat deletion; legacy synthesis updates afterward [59].

Deleting a conversation is therefore not a substitute for checking the memory controls. Test the rollout and configuration actually available in the account. This is distinct from Claude Code's files and the API memory tool; plan and organization terms can affect what the user gets.

Claude Code auto memory

The documented design uses a local Markdown index and topic files, including user, feedback, project and reference notes. The startup index excerpt is limited to the first 200 lines or 25 KB, whichever comes first; further topics are fetched. Project memory can span worktrees, with editable/deletable files [60].

Put a source pointer and concise current guidance where the assistant can discover them, then inspect whether the relevant topic is opened. A large index does not guarantee all its text reaches the model. Check local/background defaults and scope, and include model usage in the cost rather than equating local files with free inference.

Anthropic API memory tool

This tool lets the model request file operations under /memories; the application executes them. Persistence, namespace isolation and the storage implementation belong to the application. SDK helpers do not create a managed tenant, historical-truth model or erasure guarantee [61].

The attraction is a visible file interface with application-owned policy. Test paths, authenticated ownership and which files the model reads after a correction. Local storage and remote model inference can coexist, so evaluate both processing boundaries. Budget model calls and application storage/operations.

GitHub Copilot memory

The captured design stores cited repository facts and personal preferences, with reinforcement and retirement. It checks repository citations against the current branch. Default expiry is 90 days; repository policy can range from 7 to 180 days. Repository and billing-entity controls matter [62].

Checking a remembered runtime against the current branch is a useful source-validation route to test. It still needs to preserve a rare binding rule and reject an obsolete proposal. This is a paid feature, and relevant injected context consumes tokens or credits; memory expiry also belongs in the workflow design.

Cursor

The retained evidence is a bounded January support report about legacy memories remaining after removal of their management UI. Support described removal from 2.1.x and a rollback/delete workaround. This is version-specific evidence, not an established October-wide product defect or complete current memory contract [63].

This entry is a reminder to verify the installed version's controls before making a recommendation. Inspect creation, viewing, correction and deletion directly. October scope, management and metering remain unresolved in the investigation, so Cursor stays on the map without an invented current feature description.

Windsurf

The captured documentation now lives under Devin Desktop and distinguishes legacy Cascade local workspace memories from explicit rules. It says default Devin Local does not persist those legacy memories, and skill migration is a separate matter. Legacy memory operations were documented as no-credit [64].

Identify the actual product generation and workspace before promising continuity. Verify whether a corrected fact survives a fresh session in that environment. The old no-credit memory wording does not make every current workload free; generation/model costs and changed persistence behavior still need checking.

VS Code

The editor can host different agent systems. The captured documentation distinguishes cloud Copilot facts/preferences from local user, repository and session files depending on the harness and execution environment. The editor name alone therefore identifies neither one memory store nor one billing contract [65].

Name the active agent, backend and scope in the test receipt. A switch of harness can change what survives even inside the same editor. Follow that harness's model and memory meters, and put shared team requirements in a source that each intended reader is explicitly configured to use.

Local and research systems

A-MEM

The paper's interaction notes include keywords, tags, descriptions, embeddings and links. Embedding-nearest candidates precede model-driven linking, while evolution can rewrite attributes of neighboring notes. Selected notes then reach the reader. Extraction, evolution, retrieval and reader work are distinct resources [30].

Linked notes are an interesting candidate when a correction changes the interpretation of related decisions. Test what changes, what original evidence remains and which notes reach the reader. The paper does not establish a historical-truth or erasure contract for a production application.

MemoryOS

The original v1 design separates short-term pages, mid-term topic segments and long-term persona/traits. First-in-first-out movement and heat-based promotion/eviction govern retention; the reader gets recent pages, selected material and profiles. This is different from MemOS [31].

The rare mobile-client constraint is an important test: low frequency must not silently imply low importance. Inspect what survives promotion and eviction. Count model/store/read work across the stages; reported recalled tokens are narrower than complete lifecycle spending.

EverOS/EverMemOS

The current EverOS overview names v1.1.4 and treats Markdown as recoverable source, with SQLite queue/audit state and a derived hybrid index. Extraction and offline processing produce profiles, facts and skills. The older EverMemOS v1.2.0 multi-service README and historical evaluation describe different artifacts [32, 33].

Editing a source file and reconstructing an index is a useful recovery design to test. It does not establish equivalent answers after moving to another product. Keep deployment identity explicit before transferring benchmark claims; self-hosted model and indexing costs remain even with a readable source of truth.

HippoRAG 2

This research system links passage and phrase nodes, uses embedding linkage and model triple filtering, then performs a graph walk biased toward chosen seeds. The reader receives the top five original passages. It studies corpus question answering and expansion, rather than a personal-profile service [34].

Test whether the graph retrieves the complete dependency chain better than a strong simpler retriever. A positive corpus result does not establish conversational corrections or deletion. Include indexing, query and model work; the evidence companion separates the measured retrieval benefit from those untested lifecycle promises.

OpenViking

The captured feature overview combines file/resource addresses, session-derived memory, skills and beta rules, with browsing, search and progressive loading. Extraction and compilation prepare material, while the integrating agent owns skill activation, permissions and execution [35].

A navigable context tree could make the migration evidence discoverable. Verify that the integration actually captures it and later opens the right resource. A filesystem-shaped interface does not remove retrieval or authority decisions. The complete tariff and control contract were not established here.

TencentDB-Agent-Memory

The captured team beta moves from L0 conversations through L1 atoms and L2 scenarios to L3 personas, alongside Skill, Wiki and CodeGraph assets. Permission/asset binding precedes hybrid recall; code and documentation can be exposed on demand. Processing has asynchronous readiness conditions [36].

Inspect both source access and promoted representations: the runtime setting, procedural lesson and maintainer profile have different meanings. The README's v2.0.0 and beta/branch claims are not measured access guarantees. Services, database work and the two model groups described by the project all belong in a deployment assessment.

claude-mem

Session/tool hooks and a worker produce SQLite observations and summaries. Retrieval can progress from compact identifiers to a timeline and full observations, with configurable startup context. Keeping SQLite locally does not establish that the observer runs locally [37].

The staged read can help control how much history reaches the assistant. Test that the cancellation is discovered before the older migration discussion and inspect the expanded evidence. Budget the chosen hosted/model-plan/key route and local resources. Efficiency claims remain project reports until reproduced for the workload.

agentmemory

The inspected evaluation/release materials describe persistent records, deduplication/supersession, source-ID retrieval, project filters, expansion and lifecycle fixtures. Its evaluation disables compression, consolidation and graph extraction; an action fixture uses a deterministic reader [38, 39].

This makes an inspectable reference for testing whether all supporting evidence is retrieved. Development improvements in complete-evidence retrieval are not held-out answer accuracy. Its retrieval accounting excludes reader and judge dollars, so use those results at their measured boundary rather than as a complete application bill.

OpenMemory

The captured current beta imports and exports Claude Code, Codex and OpenCode sessions, with selective preview and porting. The original semantic-memory MCP snapshot is archived; autosync and instruction/skill transfer are roadmap items in the current evidence [40, 41].

Moving selected sessions is a useful starting point for continuity across coding tools. Test supported answers after import, not just transcript counts. Do not transfer the archived MCP's inference defaults or semantics into today's transport utility. Its full current cost and control contract remain unresolved.

Processing and deployment boundaries

Local storage and local inference require separate checks. claude-mem can keep SQLite locally while using a remote observer; the Anthropic API tool can operate local files while invoking a remote model. Memobase removes processed blobs by default unless configured otherwise. EverOS treats Markdown as recoverable source. These choices create different processing and recovery boundaries [37, 61, 21, 32].

AgentCore distinguishes primary-region storage from cross-region inference, and says CloudWatch/CloudTrail do not identify the inference region. Foundry's captured preview has no memory-store virtual-network integration, with 100 scopes per store and 10,000 memories per scope. Verify the actual API, creation defaults, region and processing path for the application [101, 46].

Compare a shortlist

Start with a job that can reject an option. Atlas is the main article’s hypothetical project: it needs an adopted deployment target, a rare compatibility rule and isolation from another project. Historical questions and multi-tool continuity add promises rather than automatically improving that basic job.

Required jobContrasting implementations worth inspectingQuestion that decides the comparison
Maintain a small authoritative settingVersioned file, LangGraph store, MongoDB adapter, Pydantic notebookDoes explicit scoped state already meet the requirement? [48, 56, 8, 60]
Find supporting material in an archiveTuned raw-source retrieval, Elastic design, LlamaIndex blocks, Graphiti, HippoRAG 2Does the added mechanism find sufficient evidence and improve final outcomes under the matched budget? [2, 54, 49, 16, 34]
Delegate interpretation or consolidationMem0 facts, Memobase profiles, Honcho reasoning, Hindsight pagesWhat change is promised, when is it complete and what does the next reader receive? [10, 21, 22, 24]
Fit an established cloud/frameworkAgentCore, Memory Bank, Foundry; configured Mastra, CrewAI or ADKDoes the actual deployment meet access, completion, region and operational requirements? [42, 44, 46, 50, 51, 52]
Carry decisions across toolsNative controls, Honcho integrations, Supermemory interfaces, OpenMemory transferWhich archive, migration or shared-store promise is supported end to end? [19, 23, 40, 58, 59, 60, 61, 109]

These are interface-based starting points, not endorsements or a measured ranking. Select a serious baseline and a candidate with an identifiable added operation. Use the full test specification to hold source evidence, reader, readiness, budgets and scoring steady.

The tariff reference

The following are captured customer tariffs for the intended cutoff, not audited invoices or provider internal expenses. Different units stay different until a workload establishes a conversion.

ServicePublished customer meterBoundary that changes a bill
Mem0Free/Custom; first 30 days 10,000 adds and 1,000 retrievals/month with supplied model calls; own-key allowance 50,000/10,000Free service allowance is not indefinite free model inference; caps/custom terms need configuration [12]
ZepFlex $125/month for 50,000 credits; Flex Plus $375 for 200,000; episode credit per 350 bytes or part; webhook one-eighth creditRounding, ingestion, top-ups and rollover; retrieval/storage unmetered on captured terms [13]
SupermemoryPro $19/$20 credits, Max $100/$130, Scale $399/$600; plain/rich memory $5/$10 per million SM tokens; search $5/million queries; operations $100/millionUnique/net-new content and document identity drive ingestion; subscription/top-up credit behavior differs [20]
HonchoInput $2/million tokens, unlimited context reads; deeper reasoning $0.001–$0.50/query; initial and monthly-with-card creditsReasoning depth and downstream reader context differ from the memory service's unlimited-read offer [23]
HindsightEffective 6 July: retain $10/million input tokens; recall $0.75/million output tokens; reflect/refresh $0.05/call; storage $0.25/million token-month after 30 daysAutomatic affected-page refresh is billable; MCP documentation gives conflicting token-meter text that remains unresolved [25, 88]
CogneeFree one workspace/one million tokens; Standard $1/million processed tokens plus $5/additional workspaceProcessed-token stages lack a conversion to retain input or injected context; enterprise runtime differs [27]
AgentCoreFrom 6 October: short-term ingest $1/GB, retrieve $0.20/GB, store $0.10/GB-month; built-in long-term $0.75/1,000 record-months, override/self-managed $0.25; retrieve $0.50/1,000Events billed at 12 KB minimum/64 KB maximum for ingest/retrieve, actual bytes for storage; strategies can add model work [42]

Hindsight's automatic affected-page refresh is billable, capped at one rebuild per model per minute; explicit refreshes are not held back. Read traffic can stay flat while maintenance work grows. Its billing and MCP pages describe conflicting meters, which remain unresolved here [25, 88].

Cognee's processed-token unit is not sufficiently defined to convert into retain-input or model-visible tokens. Mem0's current Free/Custom surface is different from older plan tables. Free source code also leaves configured model, infrastructure and operating costs. These differences belong in the decision, rather than being hidden by a comparison of monthly sticker prices [27, 12, 90].

Read that table as customer meters, not complete workload predictions. Convert units only when the workload supplies a conversion. The main article’s illustrative calculation explains useful-read break-even; the evidence accounting preserves cache-counter and experiment-population limits.

Ask for the contract you will test

Before adoption, record the exact interface/version, authenticated owner, write trigger, completion signal, correction/history view, final-context assembly, derivative-deletion boundary, recovery route and complete meter. Match region, networking, license and support terms to the deployment. Unknown fields require investigation before relying on them.

For shared tools, name every supported connector and show a correction reaching a later task. For deletion, identify sources, derivatives and stale writers. An import that preserves the words may still lose the current-value relation or access policy [22, 55, 99, 109].

Keep the source and version alongside each conclusion. A later README, repaired issue or redirected documentation page should not silently replace a historical result. This guide deliberately retains unresolved current contracts where the available evidence is narrower.

Takeaways

Use families to narrow the search, then compare exact interfaces. Preserve the distinction between a memory backend and the application code that uses it. Choose by the promised behavior and the test it must pass; the survey’s label count is coverage, not evidence of quality.

Sources

Source numbers retain the same identities across the three v4 pieces; gaps in numbering reflect references used in a companion.

[1] Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory.

[2] LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory.

[4] Interim report — changing-fact-interval-and-authority-contract

Read retained audit.

[8] Persistence | Pydantic Docs.

[10] Mem0 hosted API reference.

[11] What’s new in Microsoft Agent Framework: Interactive experiences, memory, and resilient execution | Microsoft Agent Framework.

[12] AI Memory Pricing - LLM Memory Plans Starting Free | Mem0.

[13] Pricing | Zep.

[14] Zep: A Temporal Knowledge Graph Architecture for Agent Memory, v1.

[15] Graphiti e9e4a48 pinned complete edge resolver.

[16] Graphiti e9e4a48 pinned temporal search filters and backend generation.

[17] Memory blocks (core memory) | Letta Docs.

[18] GitHub - letta-ai/letta: Platform for stateful agents: AI with advanced memory that can learn and self-improve over time. · GitHub

Read original source.

[19] An update to supermemory: discontinuing company brain and Nova — supermemory.

[20] Pricing — supermemory.

[21] memodb-io/memobase: User Profile-Based Long-Term Memory for AI Chatbot Applications..

[22] Honcho V3 design patterns.

[23] One memory for every AI tool · Honcho.

[24] vectorize-io/hindsight: Hindsight: Agent Memory That Learns.

[25] Billing | Hindsight Docs.

[26] Cognee maintainer architecture document.

[27] Pricing | Cognee - AI Memory Engine Plans.

[28] MemOS architecture documentation.

[29] Memori project README.

[30] A-Mem: Agentic Memory for LLM Agents.

[31] arXiv:2506.06326v1 [cs.AI] 30 May 2025

Read original source.

[32] EverOS overview.

[33] NetMindAI-Open/EverMemOS: Long-term memory OS for your agents across LLMs and platforms..

[34] From RAG to Memory: Non-Parametric Continual Learning for Large Language Models, v2.

[35] Feature overview | OpenViking.

[36] TencentDB-Agent-Memory project README.

[37] claude-mem project README.

[38] agentmemory evaluation README.

[39] Releases · rohitg00/agentmemory.

[40] OpenMemory current README.

[41] OpenMemory archived MCP README.

[42] Amazon Bedrock AgentCore Pricing - AWS.

[43] AgentCore DeleteEvent source-event deletion contract October 2026.

[44] Agent Platform Memory Bank API quickstart | Gemini Enterprise Agent Platform | Google Cloud Documentation.

[45] Google Memory Bank revision history documented contract.

[46] What is Memory? - Microsoft Foundry | Microsoft Learn.

[47] Memory API Reference.

[48] Memory - Docs by LangChain.

[49] Memory in LlamaIndex | Developer Documentation.

[50] Memory | Mastra Docs.

[51] Memory - CrewAI.

[52] adk-docs/docs/sessions/memory.md at main · google/adk-docs.

[53] Getting Started with Redis Iris: Context & Memory for AI Agents.

[54] Agent memory on Elasticsearch: hybrid retrieval and DLS | Elasticsearch Labs.

[55] Neo4j Agent Memory - Neo4j Agent Memory.

[56] Integrate MongoDB with LangGraph - Atlas - MongoDB Docs.

[57] Memorizz project README.

[58] Memories | ChatGPT Learn.

[59] Use Claude’s chat search and memory to build on previous context | Claude Help Center.

[60] How Claude remembers your project - Claude Code Docs.

[61] Memory tool - Claude Platform Docs.

[62] About GitHub Copilot Memory - GitHub Docs.

[63] Can't clear memories - Bug Reports - Cursor - Community Forum.

[64] Cascade Memories.

[65] Understand AI agents.

[67] Graphiti e9e4a48 pinned public search and lifecycle API complete.

[88] MCP Integration | Hindsight Docs.

[90] Interim report — lifecycle-cost-break-even-under-churn

Read retained audit.

[92] Set a time-to-live for long-term memory records - Amazon Bedrock AgentCore.

[94] Cognee v1.6.6 pinned forget orchestration and history scope.

[95] Cognee v1.6.6 pinned session deletion and locking.

[96] Cognee v166 session locks process boundary.

[97] Cognee v166 dataset lock backend boundary.

[98] Cognee v166 memify runner lock participation.

[99] Interim report — deletion-closure-and-reingestion

Read retained audit.

[101] Cross-region inference in Amazon Bedrock AgentCore Memory, Policy in Amazon Bedrock AgentCore, and AgentCore Evaluations - Amazon Bedrock AgentCore.

[109] Import and export your memory from Claude.

[111] Redis Agent Memory Server: managed surface and V0 boundary.