ReMem
ADD → SEARCH → ACT → FEEDBACK → LEARN
THE IDEA
Most agent memories return whatever sounds most similar to the question. That breaks in two everyday ways: a look-alike note that never helps keeps winning, and a fact replaced last week is served right next to its replacement. ReMem ranks memories by what actually helped, not just by what sounds close.
THE PIPELINE
- ADD FACTS
- SEARCHsimilarity × learned usefulness
- AGENT ACTS
- FEEDBACKdid it work · which memories helped
- MEMORY LEDGERrank · retire · demote
THE SYSTEM
- Three calls: add facts, search before answering, and report feedback after — whether the task worked and which memories were used.
- Ranking combines similarity with usefulness learned from outcomes; context is picked by an expected-utility knapsack under a token budget instead of a fixed top-k.
- Every memory moves through an explicit lifecycle — active, low-value, compressed, archived, invalidated — with each transition logged. Nothing is deleted, replaced facts stay queryable "as of" a past date, and every decision can be inspected.
- Ships as a Python API, an MCP server (so Claude and other MCP clients can use it as long-term memory) and a LangChain retriever, with pluggable embedders and FAISS/Chroma backends. Runs fully locally.
THE PROCESS
- Benchmarked against plain similarity search on 7 synthetic task families across 15 held-out seeds never used for tuning.
- Also tested with real embeddings, a timestamp-aware reader, a small local LLM as the agent, and the public LongMemEval benchmark.
- Results are reported honestly, including the settings where it doesn't help.
THE RESULT
+10 to +14 points of task success over similarity search in the controlled benchmark (also with real embeddings), with the biggest gains where facts change. With a small real LLM the gain is within noise, and on LongMemEval, where no question repeats, it behaves like plain search — a research prototype, documented as one.
remembers what helps