Agent 的记忆系统:三层架构、踩坑实录与正确用法
Agent 的记忆系统:三层架构、踩坑实录与正确用法
你有没有遇到过这种情况——跟一个 AI Agent 聊了半天,第二天它全忘了?
或者更惨的:它记是记住了,但记的全是错的。
这不是 AI 的智商问题,是记忆系统的工程问题。
今天这篇文章,我把自己踩过的坑、建过的架构、拆过的系统,全摊开讲。没有管线,没有花活,就是一篇硬核的技术复盘。
一、为什么 AI Agent 需要记忆系统?
先问一个灵魂问题:GPT-4、Claude、MiniMax 这些模型,每次对话都是从零开始的。
这意味着什么?
• 你告诉它「以后不要用表格格式」→ 下次它照用不误
• 你纠正过「封面图不要加署名」→ 它下次继续加
• 你说「我偏好仙人的风格」→ 它一脸懵逼
单次对话的记忆,就像鱼的七秒记忆。
要让一个 AI Agent 真正「进化」,你必须给它一套记忆系统——让它能记住你的偏好、你的规矩、你踩过的坑,并且在未来的每次对话中自动调用。
二、三层架构:不是堆记忆,是分层管理
经过反复踩坑和重构,我最终把记忆系统拆成了三层:
第一层:MEMORY.md — 执行纪律
这是「铁律」层。存放的是 Agent 必须遵守的硬规则,每次对话开始时直接注入系统提示词。
举几个例子:
• 「draft_create 前必须检查 thumb_media_id 参数」
• 「信息图一律不加署名」
• 「配图文字乱码时不简化 prompt,必须用三级修复策略」
特点:短小精悍、条目式、5000 字符上限。 不是数据库,是 Agent 的「军规手册」。
第二层:Hindsight 记忆库 — 语义向量存储
这是「百科全书」层。基于向量数据库(pgvector),自动从对话中提取事实,支持语义搜索。
比如你说过「我偏好报纸编辑风」,它会被自动提取为一条记忆,下次你问「信息图用什么风格」时,语义搜索能精准召回。
特点:自动提取、语义检索、支持 recall/reflect 两种调用方式。 recall 是精确查,reflect 是综合分析。
第三层:Mental Model — 心智模型
这是「专家经验」层。对某一领域知识的持续性总结,由定时任务自动刷新。
比如「Hindsight 运维知识」这个 Mental Model,每周一凌晨 3 点自动用最新记忆重建内容,确保知识不过时。
特点:领域聚焦、定时刷新、解决「增量记忆漂移」问题。
三、最关键的认知:什么信息放哪层?
这是最容易搞混的地方。
很多人(包括我一开始)犯的错误是:把所有东西都往 MEMORY.md 里塞。
结果是什么?MEMORY.md 从 500 字膨胀到 5000 字,塞满了运维知识、技术细节、API 用法……Agent 每次对话都要读一遍,效率极低,关键规则反而被淹没。
正确的分类方法是问自己一个问题:这条信息属于哪种类型?
1. Agent 执行纪律
📍 存放位置:MEMORY.md
💡 必须每次都遵守,注入系统提示词
2. 引擎检索行为
📍 存放位置:Hindsight Directive
💡 影响 recall 返回什么、怎么排序
3. 长期行为模式
📍 存放位置:Mental Model
💡 需要跨时间积累和刷新
4. 单次任务过程
📍 存放位置:不存
💡 用完即弃,存了是噪音
举个实际例子:
我曾经把「psycopg2 连接 Hindsight 的方式」写进了 MEMORY.md。这完全错了——这是一条技术知识,不是执行纪律,应该放在 Mental Model 里。
结果:MEMORY.md 从 31 条精简到 28 条,释放了 370 字符,信息架构瞬间清晰。
四、五个致命踩坑
踩坑 1:记了不该记的东西
Agent 跑了一次测试、写了一段调试日志、执行了一次临时操作——这些「一次性过程」被自动存进了记忆库。
后果:recall 时返回一堆噪音,真正重要的偏好和规则被挤到后面。
正确做法:只存「跨会话有价值的事实」。 「我偏好仙人风格」值得存,「今天测试了某个 API 的返回格式」不值得。
踩坑 2:MEMORY.md 和 Hindsight 重复存储
同一条规则在 MEMORY.md 里写了一遍,又在 Hindsight 里存了一遍。
后果:修改时只改了一处,另一处还是旧版。两套系统对同一事实有不同说法,Agent 开始「精神分裂」。
正确做法:每个事实只在一个地方存。 MEMORY.md 存执行纪律,Hindsight 存可搜索的事实,职责不重叠。
踩坑 3:Directive 放错了位置
Hindsight Directive 能提升 recall/reflect 的质量,但不能强制 Agent 行为。
比如「每次生成封面图前必须回忆规则」——这条放在 Directive 里没用,因为 Directive 只影响引擎检索,不影响 Agent 是否执行 recall。
正确做法:强制执行纪律放 MEMORY.md,引擎行为优化放 Directive。
踩坑 4:不信任 Agent,手动管理一切
有人觉得 AI 不靠谱,所有记忆都自己手动维护。
后果:工作量爆炸,记忆系统形同虚设。
正确做法:信任自动提取,只做顶层架构设计和定期审计。 发现问题再修正,而不是从一开始就不放手。
踩坑 5:没有定期清理
记忆只进不出,时间长了必然臃肿。
正确做法:设置定期任务清理过期记忆。 我现在有 4 个 cron job:素材清理、日报、环境清理、Mental Model 刷新。不需要的定时任务及时删除。
五、实践指南:三步搭建你的记忆系统
第一步:写好你的 MEMORY.md
这是地基。问自己:「如果 Agent 只能记住 30 条规则,哪些是最重要的?」
我的 28 条规则涵盖:
• 红线规则(数据不编造、参数必检查)
• 公众号规范(主题映射、配图标准、发布流程)
• 用户偏好(威胁向风格、报纸编辑风配色)
• 执行纪律(recall 铁律、强制检查点)
原则:每条规则必须是「Agent 必须做/不做」的指令,不是「知道就好」的知识。
第二步:配置 Hindsight 语义记忆
• 选择合适的 LLM 做 consolidation(MiniMax M3 是个好选择)
• 设置 Directive 来优化检索行为
• 关闭自动刷新 Mental Model(防止引擎 bug 覆盖手动内容)
第三步:建立 Mental Model 体系
按领域拆分:
• 「公众号运营知识」
• 「配图设计规范」
• 「Hindsight 运维经验」
每个 Mental Model 有自己的 source_query,由 cron job 定期重建。
六、终极检验:你的记忆系统是否合格?
用这三个问题检验:
1. Agent 能否在新会话中自动回忆起你的偏好? 如果不能,说明 MEMORY.md 没有正确注入,或者 Hindsight 的 recall 没有被触发。
2. 修改一条规则后,所有地方是否同步更新? 如果 MEMORY.md 改了但 Hindsight 还是旧版,说明有重复存储。
3. Agent 能否区分「必须遵守的纪律」和「参考性的知识」? 如果 Agent 把技术文档当军规执行,说明分层有误。
写在最后
记忆系统不是「越多越好」,是「越准越好」。
一个好的记忆系统,应该让 Agent 像一个跟了你三年的老员工——知道你的脾气、你的规矩、你的雷区,不用你每次都重复。
但它也不该是一个「全知全能的神」——什么都记、什么都存、什么都往里塞,最后连自己都搞不清哪条是纪律、哪条是建议。
记住这三个字:分层、精简、验证。
这就是 AI Agent 记忆系统的全部秘密。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)