Comparison
Two different problems that look like one.
They remember what your user said. We find what your content can back up. These get compared because both involve a knowledge graph — and picking the wrong one is an expensive way to discover they are not the same product.
The difference
Different subject, different lifecycle, different output.
| Agent memoryZep, Mem0, Letta | GRaaS | |
|---|---|---|
| What it is about | ||
| What is remembered | The user, the conversation, work done | Your corpus — documents your business owns |
| Whose knowledge | One user at a time, accumulating | One workspace, shared by everyone in it |
| State | Stateful, grows per user | Stateless per request |
| Conversation history | Stored and curated for you | Passed in per request, never stored |
| What it returns | ||
| Output | A token-efficient context block for your prompt | Ranked passages, a cited answer, and the graph evidence |
| Writes your prompt for you | Included | Not included |
| Answers the question itself | Not included | Included |
| Citations resolving to your documents | Not included | Included |
| Refuses when the sources do not answer | Not included | Included |
| Governance | ||
| Custom entity types | Included | Included |
| Versioned vocabulary with impact preview | Not included | Included |
| Drift detection against a live vocabulary | Not included | Included |
| Reversible schema changes | Not included | Included |
| Provenance per supporting document | Varies | One row per document, per fact |
| Practicalities | ||
| Open-source core | Included | Not included |
| Published memory benchmarks | Included | Not included |
| Bring your own cloud | Sometimes | Not included |
| Free tier | Varies | Yes — 10,000 documents, no card |
Agent memory
Zep, Mem0, Letta
- What is remembered
- The user, the conversation, work done
- Whose knowledge
- One user at a time, accumulating
- State
- Stateful, grows per user
- Conversation history
- Stored and curated for you
- Output
- A token-efficient context block for your prompt
- Writes your prompt for you
- Included
- Answers the question itself
- Not included
- Citations resolving to your documents
- Not included
- Refuses when the sources do not answer
- Not included
- Custom entity types
- Included
- Versioned vocabulary with impact preview
- Not included
- Drift detection against a live vocabulary
- Not included
- Reversible schema changes
- Not included
- Provenance per supporting document
- Varies
- Open-source core
- Included
- Published memory benchmarks
- Included
- Bring your own cloud
- Sometimes
- Free tier
- Varies
GRaaS
- What is remembered
- Your corpus — documents your business owns
- Whose knowledge
- One workspace, shared by everyone in it
- State
- Stateless per request
- Conversation history
- Passed in per request, never stored
- Output
- Ranked passages, a cited answer, and the graph evidence
- Writes your prompt for you
- Not included
- Answers the question itself
- Included
- Citations resolving to your documents
- Included
- Refuses when the sources do not answer
- Included
- Custom entity types
- Included
- Versioned vocabulary with impact preview
- Included
- Drift detection against a live vocabulary
- Included
- Reversible schema changes
- Included
- Provenance per supporting document
- One row per document, per fact
- Open-source core
- Not included
- Published memory benchmarks
- Not included
- Bring your own cloud
- Not included
- Free tier
- Yes — 10,000 documents, no card
A clear fit, both ways
When you should buy the other thing.
We would rather lose a deal at this stage than in month four.
Use an agent memory platform
Use GRaaS
Your agent needs to remember a specific person across sessions — their preferences, their history, what they already told you.
Your product needs to answer questions about a body of content that is the same for every user.
The unit of value is recall: not asking the user something they already answered.
The unit of value is defensibility: being able to show which document supports a claim, and how many others agree.
You want a context block dropped into your prompt and the reasoning left to your own model.
You want the answer, cited, with a refusal when your sources do not contain it.
New information should overwrite old information — the user changed their mind.
Two sources disagreeing is information to surface, not a conflict to resolve automatically.
You need an open-source core you can read, fork, or self-host.
You need a vocabulary your team can version, preview and revert without re-extracting the corpus.
Why the confusion
Both of us built a knowledge graph. That is where the similarity stops.
A graph is a good way to store facts extracted from text, so anyone doing that arrives at one. But the graph is a means, and the two products point it at different things. Theirs accumulates around a person and is pruned so it stays useful in a prompt. Ours is derived from a shared corpus and is deliberately not pruned — every document that asserts a fact keeps its row, because the whole point is being able to enumerate them later.
That single difference explains most of the table above: why we are stateless, why we return citations rather than a context block, and why we hold conflicting claims instead of resolving them.
What we don't have, listed by us rather than by them.
No open-source core. No published benchmark scores. No bring-your-own-cloud, no customer-managed keys, one region. No SOC 2. And on our own evaluation sets, the graph has not yet been shown to answer a question that plain retrieval missed.
If your evaluation weighs any of those heavily, a more established product in this category is the right call and we would tell you so on the first call. What we have is corpus-shaped retrieval with a real evidence trail and a vocabulary you can govern.
FAQ
Frequently asked
Not sure which problem you have?
Describe the question your product needs to answer and we will tell you which of these two you should be buying — including when it is not us.