Remem and normal memory
Last verified against the code: 2026-11-13 (0.9.0)
How Remem differs from the memory most AI tools have, measured where it can be and argued where it cannot.
Run the measurement on your own history with remem compare (USER-GUIDE.md).
The short version
Normal AI memory remembers what you said and, on every message, puts back what looks similar. Remem remembers what went wrong (your corrections, the agent's failed calls, its own surprises), turns repeats into lessons overnight, keeps only lessons that predict, and speaks only at the moment one applies: when your message meets a lesson, or when the agent is about to make the mistake the lesson is about.
Measured: a replay of the owner's real history
remem compare walks every conversation on the machine in time order. The test cases are the owner's
repeated corrections: each time they had to correct the agent with something an earlier correction had already
said. For each: was the earlier correction itself in front of the agent in time (put back for the message it
answered, or as the end-of-turn reminder)? And across all turns: how much did each system put in front of the agent,
how often was the person about to correct it when it spoke, and how often was it wrong?
"Normal memory" is given every earlier message verbatim (more than a fact extractor would keep) and puts back the k most similar on every turn; both systems get memory instantly. Owner's machine, 2026-10-24, 61 turns, 4 cases:
| Normal, top 3 | Normal, top 10 | Normal, top 20 | Remem 0.6.3 | |
|---|---|---|---|---|
| Repeated corrections in front of the agent in time | 0 of 4 | 2 of 4 | 4 of 4 | 3 of 4 |
| Items put in front of the agent | 177 on 60 turns | about 590 | 1,010 | 23 on 23 turns |
| Catches per 100 items | 0 | 0.34 | 0.40 | 13.0 |
| Turns it spoke that the person then corrected | 10 of 60 | 8 of 23 | ||
| Wrong alarms (the person then declined what it pushed for) | 0 |
On catches per item, Remem is about 33 times normal memory's best setting; against the usual setting (3 memories a turn) normal memory caught none. Every one of the 20 end-of-turn reminders was followed by the person correcting the agent ("do it always dont ask", "you fix it", "You do it", "Can you do it"), pushing it further ("really think deep about this", "Next!") or approving anyway ("yes"); none by a decline.
The cases:
| The owner said again | Earlier | Normal (3) | Remem |
|---|---|---|---|
| "do it always dont ask" | "you do it take over this computer" | missed | caught: the reply offered to act |
| "no update remem.acific.com and keep the design like OkayEngineering" | "remem.acific.com isnt working" | missed | missed |
| "you fix it" | "do it always dont ask", "you do it take over…" | missed | caught: the reply left work it named ("…I flagged earlier, and it is next") |
| "just keep going don't wait for me" | the three above | missed | caught: the reply offered next steps |
How to read it.
- Similarity looks at the wrong thing. The message before a repeated correction rarely resembles the correction ("Do it all", "show a demo…"); the agent's behaviour does: it offered, it waited, it put work off. Remem triggers on behaviour; normal memory can only match words.
- "In front of the agent" is not "prevented". The paper's first finding (§7.1) is that a lesson already in context did not change what the agent did. Only the randomized experiment (half the sessions held out) will say what either actually prevents.
- Tuned on this replay; four cases. Remem's first run caught 0 of 4 and every rule that got it to 3 was changed after seeing the replay: a lesson bears on offers when any of its corrections followed a hand-back (it was most), the reminder fires at every offer (it was once a session), a reply that leaves named work counts like an offer, one lesson per reminder. Normal memory was not tuned. The coming weeks are the test.
- Corrected today. 0.6.2's first version of this page credited normal memory with 2 of 4 at top 3: its scoring counted the message before an earlier correction, which normal memory never hands over. Fixed in 0.6.3.
Measured under control: does the memory change what a model does?
The replay above counts what was in front of the agent. remem experiment measures what the model then did
(paper §7.3): 20 situations where agents tend to hand work back, three open model families, 360 replies per arm.
| Hand-back rate | No memory | The memory in context (normal memory) | A bare nudge at the moment | Remem's reminder |
|---|---|---|---|---|
| Pooled, three models | 28% | 36% (worse, p = 0.013) | 9% | 6% |
Memory up front, the way normal memory works, made models more likely to hand work back, even when the block held
only an unrelated lesson. Delivered at the moment of the act, the same memory cut it to about a fifth. Synthetic
scenarios and single replies; the raw replies are in results/.
How it differs, piece by piece
| Normal AI memory | Remem | |
|---|---|---|
| What is kept | Facts and preferences you state, or whole chats | Surprises: corrections (your words, verbatim), the agent's failed calls, its stated surprises; plus session summaries and notes |
| When it is used | Retrieved by similarity on every message, or read at the start | Silent by default; a lesson is put in front of the agent when your message meets it, at the end of a reply that offers instead of acting or leaves work it named, or before a call that failed before |
| How it is organised | Embeddings, sometimes a knowledge graph; an LLM decides what to save | A nightly sleep: decay, lessons from repeats, themes of corrections that mean the same thing, predictions |
| What survives | What was saved, until deleted or edited | What predicts: each lesson predicts the next sessions will meet it; confirmed it strengthens, failed it fades |
| Rewording | Often an LLM's paraphrase | Corrections are quoted, never paraphrased (a local model's paraphrases said the opposite of what was meant in two of six real cases) |
| What it knows about you | Facts ("prefers TypeScript") | Also how you delegate, counted: offers to act you declined (0 of 17 for the owner), corrections after hand-backs, actions you stopped |
| Does it check itself | No | remem measure: the repeat-yourself rate before and after a lesson held it, and a randomized holdout of reminders |
| Where it lives | The vendor's servers, per product | One local SQLite file; every agent on the machine (Claude Code, Cursor, Codex, Gemini CLI, Claude Desktop, any model through the proxy) shares it |
| Between machines | Per account, inside one product | Signed lessons (Ed25519) through a folder or the commons; received lessons are candidates until they come true where they land; revocable; nothing raw moves |
| You can see and veto | Usually a list of saved facts | Every lesson is a file in the agent's memory folder and a line in morning.md; delete it and it never comes back |
Against particular systems (as generally described, late 2026)
- ChatGPT's and Claude's built-in memory keep facts and preferences, and can search past chats, inside one product. They are polished, hosted and need nothing set up. They do not learn from what went wrong, do not verify what they keep, and do not follow you into other agents or models.
- mem0 and similar memory layers extract facts from conversations with an LLM and retrieve them by similarity: the "normal memory" of the replay, done better (an extractor drops noise the replay kept). Mature APIs, multi-user, hosted options. No notion of surprise, prediction or the moment a memory applies.
- Letta (MemGPT) lets the agent manage its own memory (core blocks in context, an archive it pages through). Powerful for long-running agents; the agent decides what to keep. Remem decides from evidence what was surprising, and the person can veto.
- Zep and knowledge-graph memories track facts and how they change over time. Strong for "what is true now". Remem is about "what keeps going wrong", and is not a fact store.
- Claude Code's own memory files (CLAUDE.md, the memory folder) are read at the start of a session. Remem writes into them, and adds what they lack: reminders at the moment, consolidation, verification, other agents.
Where normal memory is better
- Facts. "My staging URL is…", "we use pnpm". Remem keeps them only as notes (
remember) or session summaries, with plain recall. A fact store is better at facts. - Scale and polish. Normal memory systems serve many users with hosted APIs and years of use. Remem is one person's machines, weeks old, with English rules for corrections and offers.
- Recall on demand. In the replay, retrieving 20 memories a turn found every repeated correction, at 44 times Remem's volume. When context is cheap and the question is "have we discussed this?", retrieval wins.
And human memory
Remem borrows from how people learn, not how they store: prediction error is what gets remembered (the surprise), sleep consolidates and prunes, memories that are used stay and the rest fade, and a reminder works best as a cue bound to a moment (a habit) rather than a fact recalled at will. The owner's own finding (paper §7.1): a lesson the agent had read did not change what it did; the same lesson put in front of it at the moment of the act is the bet.