Conversational memory
mem0, Zep and Letta are built to absorb dialogue as it happens, decide what is worth keeping, and update it over time. RTFM ingests documents; it has no equivalent story for chat turns.
An honest comparison against the two families of tool people actually choose between: ordinary retrieval-augmented generation, and the agent memory layers.
The projects named here — mem0, Zep, Letta, cognee — are good at what they set out to do, and several of them are considerably more mature than RTFM is. They solve a different problem: remembering what happened in a conversation, cheaply, at scale, with hosted infrastructure you do not have to run.
RTFM is aimed at a narrower question: can a fact be checked, and can the system be trusted when it says it does not know. The comparison below is about design choices, not quality. Where those projects are ahead, that is said plainly.
None of the rows are benchmark results. They describe how each family is built. Measured numbers live on the research page, with the method and the failures.
| Axis | Question | Ordinary RAG | Memory layers | RTFM |
|---|---|---|---|---|
| Provenance | Can you get from a claim back to the exact place in the exact version of a document? | A chunk usually carries a document id, sometimes a page. The text may have changed since it was indexed. | Memories generally record which conversation or document they came from, which is enough to audit a session. | Document and revision on every fact. Old revisions are kept, so a quote stays checkable after the source is edited. A per-quote locator is in the payload but is not yet populated for every fact. |
| Not knowing | What happens when the material does not cover the question? | Chunks are retrieved anyway and a model writes something from them. Whether it refuses is a property of the prompt and the model. | Same: retrieval feeds a generator, so an empty result can still become a fluent paragraph. | An empty pack and an explicit note. There is no generator on the query path, so nothing can paper over a gap. |
| Versions | Can it tell “true for 1.5” from “true for 2.0”? | Not structurally. Both sentences are text, and the nearest neighbour wins. | Recency is usually the tie-breaker, which answers “what did we learn last” rather than “what applies here”. | Applicability is a field. Two scoped facts coexist instead of overwriting each other, and the scope comes back with the fact. |
| Conflicts | What happens when two sources disagree? | Both chunks may be retrieved; the model reconciles them silently, or picks one. | Often resolved on write — the newer memory updates or replaces the older. | Both are kept, flagged, and returned together with their sources. Nothing is resolved quietly. |
| Privacy | Can a public caller learn that private knowledge exists? | Depends entirely on how the index was partitioned. | Hosted services isolate per user or per agent; the boundary is the vendor’s to enforce. | Filtered in SQL before retrieval and on every graph step. Private rows are not returned and not counted, so totals do not betray them. |
| Where it lives | If the tool disappeared tomorrow, what would you still have? | A vector store you would need to re-embed, and the original documents. | An export, in whatever shape the vendor provides. | Markdown files with YAML front matter in your own repository. The index is derived and rebuildable; the files are the product. |
| Cost of a query | What does asking cost? | An embedding call plus a generation call. | Retrieval, often plus a model call to compose or update memories. | Zero tokens. Retrieval is mechanical. Tokens are spent once, when documents are loaded. |
Choosing RTFM costs you these things. They are real.
mem0, Zep and Letta are built to absorb dialogue as it happens, decide what is worth keeping, and update it over time. RTFM ingests documents; it has no equivalent story for chat turns.
Embedding-based retrieval finds material that shares no vocabulary with the question. RTFM’s retrieval is lexical — stemming, synonyms, ranking — so a question phrased in genuinely different words can miss. Our own benchmark shows this cost.
Hosted offerings, SDKs across languages, managed scaling, support. RTFM is a prototype you run yourself.
If what you want is a paragraph a person can read, a generator is the right tool and RTFM is not it. RTFM returns structured facts and expects an agent to do the talking.
There is no synthesis here. Something else has to write the sentences.
The ingest pipeline reads files and pages. Dialogue is not its shape.
There is no hosted RTFM, and none is planned right now.