4 个 agent 共写一个 MCP 记忆文件,踩了六个月坑
dahshan-labs · reddit · 2026-07-23
作者回顾了自己让 3–4 个 agent 共享同一个 MCP memory 文件 六个月后的工程踩坑,核心结论是:agent 记忆真正难的不是“存不存得下”,而是多写入者冲突和事实真伪维护。
主要故障
- 两个写入者同时改一个文件:应用的普通覆盖会悄悄抹掉 agent 记录下的真实决策,后来改成带锁的三方合并,并在写入时拒绝丢卡。
- 删除的重复项会复活:去重逻辑在下一次合并时又把被删掉的 twin 重新引回来了。
- 同样内容、不同序列化也会冲突:卡片内容相同,但字节不同,合并误判成冲突副本。
- 评测数字一度失真:最初报过 95% recall,但复现不了;硬化评测后变成 冷启动 0/20、开头注入 brief 后 55%、再加一次搜索 73%。
- 旧的被否决提案总压过新的结论:相似度检索不懂“这条已经不再成立”,于是系统现在会显式标记 STALE。
- 在测试集上调好的阈值,到了真实数据就失效:短 fixture 的 overlap 阈值在真实六个月文件里完全不稳。
意外收获
- 即使有 900+ cards,brief 仍只在 3–5k tokens 左右,因为它是图遍历,不是线性日志回放。
- 多个 session 还开始通过这个文件“协作”:抢占编辑 lane、跨会话留言、用 git blob hash 标记代码漂移。
结论
作者的判断是:agent memory 的难点已经从“存储/检索”转向 分布式写入一致性 和 知识过期管理。
「编程与Agent」频道最新
- 开源 switchloom 要给编程 agent 做模型路由 — kevinkern · 2026-07-23
- LLM 把传统安全测试流程搅成了生产事故 — rez0__ · 2026-07-23
- 用户让 Claude 代配 Unreal Engine MCP,自去吃冰淇淋 — stspanho · 2026-07-23
- Switchloom 开源:给编码智能体做确定性模型路由 — kevinkern · 2026-07-23
- 一套个人 AI 家庭架构:Tailscale、Termius 和常开 Mac — daniel_mac8 · 2026-07-23
- Claude Code 一次性把 Corsair 键盘变成 Agent 控制台 — SimonBalmain · 2026-07-23