Memory as File
长期记忆不应该只存在于数据库的内部记录或临时 prompt 中。ReMe 将记忆保存为本地文件,让用户可以用普通工具阅读、搜索、编辑、移动、删除、备份和版本管理。 “文件”不是拒绝索引。ReMe 可以为 Markdown 构建关键词、向量和链接索引,但索引是可重建的派生状态,用户拥有的文件才是事实来源。 这带来三个直接结果:- 透明:用户知道 Agent 记住了什么。
- 可控:错误、过时或敏感的记忆可以被修正和删除。
- 可迁移:记忆不被锁在特定数据库、模型或 Agent 框架中。
Memory from Experience
保存全部历史不等于拥有记忆。原始对话适合追溯,却不适合直接承担长期理解;无限追加摘要也会积累重复、冲突和过时信息。 ReMe 区分来源、当日记录和长期记忆:先保留发生过什么,再提炼哪些事实、偏好、方法和知识值得长期复用。新经验可以补充、合并或修正旧认识。 因此,记忆系统需要的不只是“写入”,还包括整理和遗忘。长期记忆的价值取决于它是否能帮助未来行动,而不是文件或 token 的数量。Human-Agent Shared Memory
Markdown 是人和 Agent 的共享界面。Agent 可以自动整理、建立链接和召回;用户始终可以检查结果并作出最终修正。 这种协作要求 Agent 遵守与人相同的边界:- 不因“可能有用”而默认保存敏感信息;
- 修改结论时保留必要的来源和上下文;
- 不把索引结果当作不可质疑的事实;
- 宿主 Agent 决定何时使用记忆,ReMe 不替它决定如何回答或主动行动。
Connected and Traceable
孤立片段很难解释一项决定如何形成。ReMe 使用链接表达来源和相关关系,让 Agent 可以从一个命中结果继续展开上下文,也让用户能够回到原始材料核对结论。 可追溯不意味着保存一切,而是让重要的长期认识具有足够的证据链。来源消失、判断变化或用户要求遗忘时,相关记忆也应该能够更新。设计取舍
ReMe 有意选择:- 文件透明性优先于完全黑盒的自动化;
- 用户控制优先于无边界采集;
- 可修正的长期认识优先于无损保存全部上下文;
- 开放的接入契约优先于绑定某一个 Agent 框架。
reme/、reme/config/default.yaml 和 tests/。