记忆插件实测(Pilot):我们测了 4 个插件,最后发现测的是 DSH 自己
测试日期:2026-10-20 · DSH 0.2.1-rc.2 · 模型 deepseek-official · Apple M5 16GB
结论
1. 4 个候选在 v0.1 任务上 36/36 全过;但不装任何插件的基线,换成随机暗号后仍然 3/3 通过。
2. 暗号被写进了工作区
3. 所以在 DSH 上,“跨会话记住”不是记忆插件的差异化能力;插件价值要往压缩、结构化检索、治理上找。
1. 4 个候选在 v0.1 任务上 36/36 全过;但不装任何插件的基线,换成随机暗号后仍然 3/3 通过。
2. 暗号被写进了工作区
AGENTS.md 和宿主的 session_projcache;新会话能读到——这是 DSH 自带能力,不是插件。3. 所以在 DSH 上,“跨会话记住”不是记忆插件的差异化能力;插件价值要往压缩、结构化检索、治理上找。
测试条件
- DSH 0.2.1-rc.2 / headless profile / deepseek-official;
- 每次 run 独立
HOME与工作区;新会话前清空storages/session_projcache; - 候选:dsh-memory、dsh-mnemon、openviking-memory、context-lens;对照组:不装插件;
- v0.1 任务每项 3 次;暗号版基线每项 1 次。
结果
| 候选 | M1 跨会话 | M3 矛盾更新 | M4 项目隔离 | 备注 |
|---|---|---|---|---|
| dsh-memory | 3/3 | 3/3 | 3/3 | 中位 201s / 98s / 13s |
| dsh-mnemon | 3/3 | 3/3 | 3/3 | 中位 53s / 9s / 13s |
| openviking-memory | 3/3 | 3/3 | 3/3 | 中位 316s / 51s / 31s |
| context-lens | 3/3 | 3/3 | 3/3 | 中位 107s / 14s / 12s |
| baseline(无插件) | 3/3 | 3/3 | 3/3 | 随机暗号也能答对 |
| dsh-mnemosyne | 安装被拒(要求 dsh-tools ^0.1.5-rc.2) | 测不了 | ||
关键证据
把“偏好”换成不可猜的随机暗号 ZQ-4821 后,基线仍然在新会话里答对。随后在临时目录里定位到暗号出现在两处:会话 A 的工作区 AGENTS.md,以及宿主 storages/session_projcache/sessions/*.json 的会话摘要。
即使给每个会话分配独立项目根、清空 session_projcache,基线仍能召回——说明宿主还有其它持久化路径,当前 harness 关不掉。
这意味着什么
- 对用户:不装记忆插件,也能获得基本的跨会话连续性;
- 对插件作者:只做“记住偏好”很难证明价值,得解决宿主解决不了的问题(压缩后一致性、结构化检索、多项目治理、可审计);
- 对榜单:现在发布排名会误导,所以这期只发方法论结论,不发名次。
下一步(v0.2)
- 把行为测试改成“宿主关不掉”的场景:强制压缩后追问、跨项目同名冲突、长程事实更新;
- 增加单元级测试:直接调每个插件的存储/检索接口;
- 只有通过“基线必挂、插件能过”的题,才计入排名。
v0.2 已出:记忆一致性实测 v0.2 · mnemon CLI 存储层——单元级 6 项检查,9/10 通过,失败项与两条关键发现都在里面。
复现
cd bench/memory
DEEPSEEK_API_KEY=... ./run.sh --execute --candidate baseline --task M1 --runs 1
更正记录
2026-10-20:初版。Pilot 结论:v0.1 任务不具区分度,暂停排名。