🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
DeepSeek Harness Hub
← 全部攻略

记忆为什么该是文件——ReMe 的文件优先设计

对话 / 记忆类文章2026/10/20 发布0 次阅读

Agent 的「记忆」通常以两种形态存在:向量库里的切片,或者数据库里的一行行记录。两种都对,但都要求你先接受一个前提——记忆的所有权在系统手里,不在你手里。ReMe 走的是另一条路:把记忆直接写成你电脑上的一堆 Markdown 文件,索引全部可重建,删掉索引不丢内容。

这个项目在 GitHub 上有 3,654 星(本站快照 3,647 星,2026-10-19 数据),Apache-2.0 许可,主体用 Python 写,核心库发布在 PyPI 上。它同时提供了一个 DSH 插件 @agentscope-ai/reme-dsh-plugin(npm 版本 0.1.2),本站的兼容性检查里登记的是「已验证」,并且在 dsh 0.2.1-rc.2 下做过真实安装(L4)。

两种记忆形态的实际差别

向量库的问题是不可读。你问「上次定下的周报时间是几点」,系统能召回到一段切片,但你没法打开那段切片看一眼、改一个字、再放回去。文件形态的记忆没有这个问题:digest/personal/ 下面就是若干 Markdown,带 frontmatter 和 wikilink,你用任何编辑器都能改。

代价也很直接:文件形态要求索引层能容忍外部改动,否则你手改一个文件,索引就永远对不上。ReMe 的解法是把索引整个放进 metadata/,并明确标注这一层可重建——BM25、wikilink 图、可选的向量,全部从源 Markdown 重新生成。

工作区是怎么分层的

默认工作区是当前目录下的 .reme/,也可以用 workspace_dir=... 指到别处。目录不是随便分的,它对应记忆的四个阶段:

<workspace_dir>/
├── metadata/       # 可重建的索引、图、目录与缓存
├── session/        # 对话源记录(auto_memory 保存的 jsonl)
├── resource/       # 外部素材
├── daily/          # 轻度加工:日事实、对话摘要、素材卡片
└── digest/         # 长期记忆:personal / procedure / wiki

session/ 到 daily/ 是加工,daily/ 到 digest/ 是沉淀。digest 又分三段:个人事实、过程性经验、知识节点。这个分层的好处是每一层都能单独检查——日卡片写错了,改日卡片;长期记忆错了,改 digest 里那一个节点,不用重建整个库。

五个动作,各管一段

| 动作 | 触发方式 | 产出 |

|---|---|---|

| auto_memory | Agent 钩子或 reme auto_memory | session/dialog/*.jsonl + 当日 daily 卡片 |

| auto_resource | 素材监听或手动 | 带来源的素材卡片 |

| auto_index | 后台 watcher 或 reme reindex | BM25 / 向量 / wikilink 图 |

| auto_dream | 日程或手动 | digest/** 下的长期节点 |

| proactive_read | Agent 决策前调用 | 结构化兴趣主题 |

这里有个容易被忽略的细节:reme reindex 只重建已有切片的索引,不重新摄入文件。它的定位是「索引坏了修索引」,不是「新增文件后补索引」——后者归后台 watcher。把两者混为一谈,就会出现「我明明 reindex 了,新文件还是搜不到」。

auto_dream 也有明确边界:默认只从最近两天变更过的文件里提取,一次最多五个可复用单元,然后去创建、印证、精修或纠正 digest 节点。它不是全量重写,所以你不会某天早上发现整个知识库被模型改了一遍。

检索质量靠什么保证

默认配置下只有 BM25 加 wikilink 邻域,embedding 是关闭的。想要语义检索,得改 reme/config/default.yaml 的两处(打开 components.as_embedding 与 components.embedding_store),再把 file_store.default.embedding_store 从空串改成 default,并另配 embedding 的 Key。向量结果与 BM25 用 RRF(倒数排名融合)合并。

召回返回的不是整篇文档,而是带行号区间的片段加有界的 wikilink 邻居。这个设计对 Agent 更友好:上下文里进的是「第 12–28 行」,不是一整篇三千字的笔记。

仓库公布的评测数据可以直接引用:LongMemEval cleaned-s 的 500 个问题上 89.4%,BEAM 100K 上下文 66.1%、1M 上下文 65.0%,π-Bench 五人格的 PROC 得分 0.580。这些是仓库自己的参考跑分,样本、提示词与判分口径都写在对应文档里,不是第三方复核结果。

DSH 插件做了什么、没做什么

@agentscope-ai/reme-dsh-plugin 只做五件事:

1. 会话开始时注入一段「长期记忆使用指引」;

2. 注册一个只读的 reme_search 工具;

3. 每轮对话结束后,把用户和助手消息批量提交给 auto_memory;

4. 按日程跑 auto_dream;

5. 提供一个 ReMe Status 页,看连通性、队列、整合结果与工作区文件。

它不把历史记忆塞进系统提示词。官方文档写得很清楚:注入的是使用指引,只有当 Agent 判断这次请求依赖历史时,才会去调 reme_search。这么设计是为了避免旧内容被模型当成新指令执行。

同样值得记一笔的是采集侧的排除规则:插件注入的上下文和工具返回结果不会被写回长期记忆。没有这条,模型读到的检索结果会在下一轮被当成「用户说过的话」重新入库,几轮之后记忆库就被自己的输出污染了。

它不适合什么场景

如果你的使用方式是「一天几十个短会话、每次都不想留痕」,这套东西的日常开销(文件增长、整合任务、索引重建)比收益大。如果你需要的是跨团队共享的知识库,ReMe 的定位是 local-first、用户持有文件,共享要靠你自己同步目录。如果你完全不接受「让模型写你的 Markdown」,那它从根上就不合适。

总结

ReMe 的价值不在检索算法,而在所有权:记忆以可读文件存在,索引随时可重建,删掉 metadata/ 不会丢一条事实。想对照其他同类插件的中文清单与安装形态,可以看 DeepSeek Harness Hub 插件清单。

适合与不适合

适合:长期和同一个 Agent 协作、希望记忆可读可改的人;需要把对话沉淀成个人知识库的开发者;已经在用 Markdown 做笔记、想把 Agent 接进现有目录的人;对「记忆写在别人数据库里」有顾虑的人。

不适合:只想要一次问答、不需要跨会话记忆的人;不愿维护本地服务与配置文件的人;需要多人实时共享同一份记忆库的团队。

标签:ReMe、DeepSeek Harness、长期记忆、Markdown、本地优先

本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。

60 秒视频版 · AI 辅助生成并人工校对
订阅周报,不错过新攻略
每周一封 · 插件 + 福利

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群
回到顶部