
agent-memory写入操作详解record、supersede、merge与delete让记忆可更新、可追溯【免费下载链接】agent-memoryLong-term memory runtime for AI agents — plain Markdown as the source of truth, local ranked retrieval, and an independent sleep-time Manage layer. Claude Code and Codex share one store. No API key.项目地址: https://gitcode.com/gh_mirrors/age/agent-memoryagent-memory是一个面向 AI Agent 的长期记忆运行时它以 Markdown 文件作为唯一事实来源本地排序检索且无需任何 API Key。很多新手只关注如何召回记忆却忽略了同样关键的写入操作——record写入新记忆、supersede用新版替换旧版、merge合并重复记忆与delete终止有效性而非删除文件。本文带你一次讲透这四个写入命令它们如何保证记忆可更新、可追溯、更新永不销毁让你的 Claude Code 与 Codex 共享同一个可长期演进的记忆库。为什么 agent-memory 的写入操作值得单独学大多数记忆系统写一条就覆盖一条旧值直接消失。agent-memory 的设计完全不同一条记忆 一个 Markdown 文件 一个有效期区间。frontmatter 里的valid_from和invalid_at定义它何时生效、何时失效所有写入走同一条管道校验 → 哈希比对 → 重建索引CLI 与 MCP 入口行为完全一致被替换、被删除的文件都留在存储里所以recall --as-of可以回答某个日期时记忆长什么样。一句话更新从来不是销毁。这也是它区别于竞品记忆系统的核心。相关设计边界详见 management-operation-boundaries.md写入逻辑实现在 store.py。mem record写入新记忆也能一写代新record是最基本的写入命令把一条知识落成一个文件。典型用法mem record --type decision --field projectagent-memory \ --abstract Markdown 文件是唯一事实来源 \ --body 索引是可重建的缓存。几个新手最常用的参数定义见 main.py参数作用--type/--field记忆类型与分组字段决定文件落在哪个子目录--abstract一行摘要写成半年后陌生人能搜到的话--supersedes指向旧记忆写入新文件的同时让旧文件失效--link建立指向其他记忆的关联--provenance附上证据指针可mem trace回溯原始消息关键技巧--supersedes让值变化可回答对于会变的值进度、目标、价格、状态官方写作纪律SKILL.md建议先recall找到旧条目再带着--supersedes 旧名写入新值。这样目前是多少永远成立——当前值是唯一还站着的那条旧值则作为历史可读。mem supersede用已存在的新记忆替换旧记忆如果新版记忆已经写好比如蒸馏流程产出了不需要再记一遍内容直接mem supersede 旧记忆名 新记忆名效果是旧文件的 frontmatter 被写入invalid_at和superseded_by指向新记忆的链接随后从当前召回中退场但文件原样保留。时间旅行recall --as-of查历史正因为替换链路完整保留你可以按日期回看mem recall 数据库选型 --as-of 2026-09-01这相当于记忆的时光机——半年前的决策依据照样能查而不是一片空白。mem merge把重复记忆原子合并为一条当两条记忆说的是同一件事比如同一次会议被记了两遍用merge一次性合并mem merge 记忆A 记忆B --abstract 合并后的摘要 --body 合并后的正文merge 的行为边界见 store.py 的merge实现两条源记忆必须都有效、类型相同、互不重复合并结果在同一把写锁内原子完成新建合并文件、继承双方链接与证据、取较高权重同时让两条源记忆失效任一环节失败会回滚全部文件不会出现合并了一半的中间状态。合并后的默认名字是第一条记忆名-merged也可以用--name指定。mem delete终止有效性而不是删除文件这是新手最容易误解的命令——delete不会删除文件mem delete 记忆名它只是给文件写入invalid_at让该记忆退出当前召回、MEMORY.md 和索引但文件继续留在存储里供历史查询与 trace 使用。真正物理移除无效文件的是另一个命令mem gc而它是只有人类才会执行的入口自主运行的 Manage 层sleep 流程够不到它——这是 agent-memory 的安全设计无人值守的整理可以新增、更新但物理删除必须人肉确认。四个写入操作怎么选场景命令旧记忆去哪了全新知识mem record无同一个事实的新值/新表述mem record --supersedes 旧失效但保留superseded_by指向新版新版已存在mem supersede 旧 新同上两条说同一件事mem merge A B两条都失效但保留彻底过时无用mem delete 名失效但保留仅退出当前召回顺带一提还有一味中间药mem correct 名用于原位修正改摘要、改正文措辞它不改变事实本身、不产生新文件。MCP 侧则提供一一对应的memory_record、memory_supersede、memory_merge、memory_delete工具tools.py行为与 CLI 完全一致。写在最后更新永不销毁把四个命令串起来看agent-memory 的写入哲学其实只有一条文件的每次变更都是换档而不是擦除。record 建立新档supersede 与 merge 让旧档挂上指向与失效时间delete 只关上门不拆房子。配合可重建的索引与--as-of历史查询你的记忆库既像 Git 一样可回溯又比 Git 更省心——因为所有分叉与合并都由命令在锁内替你处理好。想深入了解校验规则与并发边界可继续阅读 management-operation-boundaries.md动手实验则建议从 SKILL.md 的写作纪律开始。【免费下载链接】agent-memoryLong-term memory runtime for AI agents — plain Markdown as the source of truth, local ranked retrieval, and an independent sleep-time Manage layer. Claude Code and Codex share one store. No API key.项目地址: https://gitcode.com/gh_mirrors/age/agent-memory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考