Skip to main content
ReMe 的核心不是某一种检索算法或流水线,而是对 Agent 长期记忆的一组判断:记忆应由用户拥有,从经验中成长,并且能被人和 Agent 共同理解与修正。

Memory as File

长期记忆不应该只存在于数据库的内部记录或临时 prompt 中。ReMe 将来源资料和可读记忆保存为本地文件,让用户可以用普通工具阅读、搜索、编辑、移动、删除、备份和版本管理。 “文件”不是拒绝索引。ReMe 可以为 Markdown 构建关键词、向量和链接索引,但索引是可重建的派生状态,用户拥有的文件才是事实来源。 这带来三个直接结果:
  • 透明:用户知道 Agent 记住了什么。
  • 可控:错误、过时或敏感的记忆可以被修正和删除。
  • 可迁移:记忆不被锁在特定数据库、模型或 Agent 框架中。

Memory from Experience

保存全部历史不等于拥有记忆。原始对话适合追溯,却不适合直接承担长期理解;无限追加摘要也会积累重复、冲突和过时信息。 ReMe 区分来源对话与资料、按主题命名的 daily 卡片和长期 digest 记忆。即使生成的文件名改为描述内容的主题,session_idsource_conversationsource_resource 等稳定字段仍保留来源身份。新经验可以补充、合并、佐证或修正旧认识。 因此,记忆系统需要的不只是“写入”,还包括整理和遗忘。长期记忆的价值取决于它是否能帮助未来行动,而不是文件或 token 的数量。

Human-Agent Shared Memory

Markdown 是人和 Agent 的共享界面。Agent 可以自动整理、建立链接和召回;用户始终可以检查结果并作出最终修正。 这种协作要求 Agent 遵守与人相同的边界:
  • 不因“可能有用”而默认保存敏感信息;
  • 修改结论时保留必要的来源和上下文;
  • 不把索引结果当作不可质疑的事实;
  • 宿主 Agent 决定何时使用记忆,ReMe 不替它决定如何回答或主动行动。

Connected and Traceable

孤立片段很难解释一项决定如何形成。ReMe 使用链接表达来源和相关关系,让 Agent 可以从一个命中结果继续展开上下文,也让用户能够回到原始材料核对结论。 ReMe 使用 [[digest/wiki/memory-as-file.md]] 这样的 workspace 相对字面路径。搜索只返回数量受限的入链和出链元数据,而不是一次把所有邻居全文加载进上下文;Agent 可再按需读取或遍历有价值的路径。 可追溯不意味着保存一切,而是让重要的长期认识具有足够的证据链。来源消失、判断变化或用户要求遗忘时,相关记忆也应该能够更新。

设计取舍

ReMe 有意选择:
  • 文件透明性优先于完全黑盒的自动化;
  • 用户控制优先于无边界采集;
  • 可修正的长期认识优先于无损保存全部上下文;
  • 开放的接入契约优先于绑定某一个 Agent 框架。
Auto Memory、Auto Resource、Auto Dream、BM25、embedding 和 wikilink 是当前实现这些理念的方式,而不是理念本身。需要了解具体调用链时,请直接查看 reme/reme/config/default.yamltests/