Alternatives

Letta alternatives

Letta comes from the MemGPT line of work. The agent gets editable memory blocks and decides for itself what to keep in its context window, so memory is less a service it calls and more something it is.

No memory API reproduces that. People look elsewhere over the size of what comes attached to it, not the memory model. WOS, which we make, is the small end: one HTTP call from the framework you already run.

  • 95.7%LongMemEval-SLetta publishes no memory-benchmark figure
  • 67.5%BEAM-1M, at 1M scalenor one here
  • 2,484tokens per query at 2.2M memoriesand no per-hop model bill

Where WOS comes out ahead. Where it does not is in the table below.

Letta and WOS

LettaWOS
What each one has published
LoCoMo74.0% with gpt-4o-mini, storing history in files. Mem0 graph 68.5% on the same runNot run we publish on LongMemEval-S and BEAM
LongMemEval-S and BEAM-1MNot published 95.7% and 67.5% Tablet 2 read by Claude Opus 5; 93.7% read by GPT-5.6-sol
Also publishedTerminal-Bench 42.5% 4th overall with Claude 4 Sonnet, and they run their own Context-Bench, Recovery-Bench and Letta LeaderboardContext 2,484 tokens, languages 95.2% at 2.2M memories with verify 3; recall@5 over 70 language pairs
Sourceletta.com/bloghow we benchmark
How it is built
Stored asMemory blocks the agent editsKept, not rewritten
A model reads itYes, the agent itselfNever
Organised aroundAn agentOne store per end-user
RetrievalThe agent searches its archiveNot published
Correcting a factThe agent rewrites the blocksupersede, with lineage
LicenceCheck the terms for your caseClosed source
Self-hostingYes, on your own infrastructureCase by case
Metered byAgents and seatsTokens, plus a flat fee per request
  • Both columns are self-reported: a placement, not a verdict. Some rows go to Letta.
  • Across languages is a grid of 70 store-language by query-language pairs.

What WOS does

Against Letta the difference is where the decisions live. Letta puts them inside the agent, which reads its own memory, edits it, and chooses what to carry. WOS puts them at the boundary: you decide what to write, the engine decides what to return, and your agent framework stays whatever it already is.

For your AI Won is the part of the product addressed to the model rather than to you, and it carries no charge. Your agent can ask how much of its own memory has been rewritten before it leans on a fact, and the answer is the same size for a hundred memories or a hundred million. the page written for an arriving agent.

  • One call per turnstore-turn takes a user message and an assistant message and is finished. The policy the agent used to apply becomes a line of code you can read.
  • One store per end-userIsolation is the default rather than something you arrange, so a hundred thousand users is a hundred thousand stores rather than a hundred thousand agents.
  • No prompt in the loopWhat gets remembered does not change when you change models, because no model is deciding.
  • Writes are safe to retryEvery write takes an Idempotency-Key, so a retry from your own framework replays the first answer instead of storing the turn twice.
  • Your data stays yoursNo model reads the store to curate it, we do not train on it, and one call erases an end-user completely.
  • Calls the model makes for itselfWon is the part of the product addressed to your agent rather than to you, and it carries no charge. revisions is the first of them: the model can ask how much of a memory has been rewritten before it leans on it, and the answer is the same size at a hundred memories or a hundred million.
  • Multi-hop without a modelEngrams search and then expand around what they found: deep recall, timelines, drafts. No language model runs in that loop, so a question that takes two steps is one call and there is no per-hop bill.

Where Letta is the better answer

  • An agent that genuinely edits its own memoryNo memory API on this page gives you that.
  • The runtime itself: execution, tool calling and agent state, all in one place
  • The option to run the whole agent, not just the memory, on your own infrastructure
  • A single mental model, where memory and reasoning are not two systems that have to agree
  • What WOS costs you. It is closed source and hosted, so running it on your own hardware is a conversation rather than a download. There is no knowledge graph, so a question that is really about validity intervals is better served elsewhere. And it is the newest name on this page, with a smaller ecosystem than the ones above it.
  • What it buys you. Nothing runs a language model over what you stored, so the privacy review is one sentence rather than a discussion. A query comes back in about 320ms, and the context it hands over was measured at 2,484 tokens over 2.2 million memories. Repeated queries bill a tenth. And it behaves the same in every language: recall@5 of 95.2% over 70 store-language by query-language pairs.

Why teams look at something else

It is a runtime, not a memory APIAdopting it means adopting where your agent runs, which is a much larger change than adding a store to an application you already have.
Memory quality becomes prompt qualityThe agent decides what to write down, so a regression in memory can arrive from a model upgrade you did not make.
Accounting is per agentMapping a hundred thousand end-users onto a hundred thousand agents is a shape worth checking against your numbers first.
Self-hosting means operating a runtimeExecution, tools, state and upgrades all come with it, which is a wider surface than running a store.
  • None of these are defects. Each follows from a decision that is right for somebody.

Bringing memory over

Archival memory exports as text and goes into WOS through bulk-store. The mapping that matters is conceptual rather than technical: one Letta agent’s memory usually becomes one WOS store, keyed by the end-user that agent was serving. What you write yourself afterwards is the part the agent used to do, deciding when something is worth remembering. In practice most teams find that is a single call on each turn rather than a policy, since store-turn takes a user message and an assistant message and is done.

The calls are in the documentation: create a store, bulk-store, and the rest of the endpoints. A key takes a few minutes in the console.

Questions

What is the Letta alternative for a consumer app with many users?

Something that isolates by end-user rather than by agent. WOS gives each end-user their own store, and the same store id in two workspaces is two separate memory spaces, so per-user isolation is the default rather than something you arrange.

Can I keep my agent framework and just add memory?

Yes, and that is the difference in one sentence. WOS is called from whatever you already use, so nothing about your orchestration, tools or deployment has to change. Letta asks you to move in; WOS asks you to make one HTTP call.

Does WOS decide what is worth remembering?

No, and that is deliberate. You decide what to write; WOS decides what to return. No model reads the store to curate it, which means nothing gets quietly dropped, and it also means you do not get an agent that tidies up after itself.

Is Letta the same as MemGPT?

Letta is the continuation of that research line, so the ideas about paging memory in and out of a context window come from the same place. The product is an agent runtime rather than a paper implementation.

The other options

  • Checked against Letta’s own documentation on September 1, 2026.
  • We quote nobody else’s prices, and use only figures each project published itself.
  • Out of date or unfair? Tell us and it gets corrected.

You need the same store to work in many languages, and a per-query cost that does not drift as history grows. If that is not your case, one of the projects above will serve you better.

Three calls: create a store, write a memory, recall against it. No subscription, balance starts at $5. Get an API key or read the docs.