用过大模型的人都有个体感:单次对话里 AI 表现惊艳,但只要开个新窗口,它就变回一张白纸。你昨天花半小时交代的项目背景、今天早上刚纠正过的错误,它全部忘光。
这不是模型不够强,是压根没人帮它建记忆。OpenClaw 在这块做了件事:用一套文件体系把 AI 从"金鱼脑"变成能攒经验的长期搭档。
但这里有个反直觉的点——给 AI 建记忆,难点不在"怎么存",而在"怎么分层"。把所有东西塞一个文件里,和没有记忆差不多,因为 AI 翻不动那堆东西。
记忆系统的核心矛盾:存得太少会丢上下文,存得太多会变成噪音。分层不是洁癖,是让 AI 在对的地方找到对的信息。
先把"我是谁"和"我怎么干活"定下来
搭记忆系统之前,有两件事得提前敲定,不然后面全乱。
第一件:这个助手到底是谁。OpenClaw 用 IDENTITY.md 存基本信息——名字、角色、头像、一句话简介。听着像花瓶字段,但它的作用是让 AI 在每次会话开局就进入正确身份,不用你每次重新介绍。
第二件更重要:这个助手干活是什么风格。写进 SOUL.md。比如你希望它"直接给结论别铺垫、可以带点吐槽但不许误事、不确定就问别瞎猜",那就白纸黑字写清楚。以后不管开多少个新会话,它都按这套规矩来,比你每次开头打一句"请你保持专业简洁"靠谱得多。
这两个文件还承担一个隐含功能:行为边界。AI 能碰文件、发消息、操作浏览器,没有约束很危险。什么可以直接做、什么必须先问、什么碰都不能碰——写在 SOUL.md 里,比靠模型自觉强一百倍。
· · ·
三层记忆:日志、提炼、共识
身份和风格定好后,核心问题来了:日常产生的信息往哪放。
OpenClaw 的做法是分三层,生命周期完全不同:
memory/YYYY-MM-DD.md —— 当天流水账。跑了什么任务、哪个报错了、临时记个文件路径,什么都往里扔,不讲究格式。
MEMORY.md —— 提炼后的长期经验。日志里反复出现的模式,沉淀成规则。比如"公众号上传必须用 profile=user",这条一开始只是某天日志里的一句抱怨,出现三次后就应该晋升到这。
AGENTS.md —— 工作守则。项目约定、工具规则、操作红线。比 MEMORY 更"硬",是制度而不是经验。
三层之间的关系是"漏斗":日志什么都记,MEMORY 只留反复验证过的,AGENTS 写死成铁律。信息从底下往上走,越往上越少越硬。反过来,AI 查记忆时从上往下找:先看规则,再看经验,最后翻日志。
一个常见错误是把所有东西都塞进 MEMORY。结果文件越来越长,AI 每次要读半天才能找到有用信息,跟没记忆差不多。好的长期记忆应该像作战地图:信息密度高,一眼能看到关键。
· · ·
文件多了找不到?语义搜索兜底
日志积累到几十个文件后,关键词搜索就不够用了。你问"上周那个定时任务跑通没有",grep "定时任务"可能搜出一堆不相关的,而真正有用的记录标题是"cron 心跳超时排查"。
OpenClaw 的 memory_search 走的是语义路线:它不匹配字面,匹配意思。输入"上周定时任务进展",它能关联到 cron、心跳、超时、失败日志这些概念上,把相关条目一起捞出来。
但别太依赖它。语义搜索底层跑的是 embedding 模型,索引挂了或 provider 配置出错,搜索直接哑火。稳妥的做法是双保险:文件命名用结构化格式(memory/2026-06-20.md、article_schedule.json、images/),搜索能用就用,不能用靠文件名也能找到。
说白了,搜索是加速器,不是地基。地基是文件分层和命名规范。
· · ·
说到底
给 AI 建记忆这事,技术含量不在模型,在结构。一个 MEMORY.md 写得好不好,不取决于里面塞了多少信息,取决于 AI 读了之后能不能更快做对决策。
你要是在搭自己的 OpenClaw,别急着调模型参数。先花半小时把这几个文件理清楚:身份是什么,风格怎么定,日志往哪扔,经验怎么提炼,规则写在哪。这半小时省下的是后面无数次重复交代背景的时间。
毕竟,一个助手靠不靠谱,第一轮对话看模型,第一百轮对话看记忆。
💬 如果觉得有收获,欢迎在评论区留言交流 👇
作者 · VV · AI 工具 & 技术分享
夜雨聆风