← ALL PROJECTS
022026

ReMem

ADD → SEARCH → ACT → FEEDBACK → LEARN

PythonMCPLangChainsentence-transformersFAISSChroma

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

  1. ADD FACTS
  2. SEARCHsimilarity × learned usefulness
  3. AGENT ACTS
  4. FEEDBACKdid it work · which memories helped
  5. 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