技术 · 深入
AI 记不住,不是记性差,是放错了地方
经验要增量,事实要覆盖
记忆插件几乎都长一个样:把对话切成片段、塞进向量库、每轮挑几条最像的注入。这个形状对写代码特别坏 —— 你搜到的永远是「最像」,而不是「还对不对」。这一页讲的是载体选择:把「经验」(可追溯的规则)与「事实」(会过期、必须被覆盖的状态)分开放,再配两套完全相反的维护纪律。判断标准只有一条:三个月后这条东西要是错了,你能不能一眼看出来,并且只改那一处。
方法 · 一图看懂
1
先分清两种内容 — 经验可追溯地增量,事实必须被覆盖重写
2
记忆库的五个失效 — 相似度召回 · 丢动机 · 过期当真相 · 搜不到未知 · 不可审计
3
用目录代替注入 — 会话开始只给「该读哪份、什么时候读」,正文按需打开
4
给每条留出处 — 谁在哪一轮写的、依据什么;填不出来源的就是该被怀疑的条目
五种失效:照着自查(每一岗位一句反例)
① 按相似度召回 —— 你问「上线前该查什么」,它给三条带「上线」字样的旧记录,却给不出那条唯一相关的「去年上线漏了迁移脚本」。相似度是「词面像」,不是「此刻有用」。
② 片段丢了动机与环境 —— 「不要动 config 目录」被记下来时,前提是那个项目还在用旧配置格式;前提没了,规则却还在。
③ 过去被当成真相 —— 记忆里写着「接口返回 X 字段」,代码两个月前改成了 Y —— 记忆越忠实,错得越稳。
④ 搜不到自己不知道的东西 —— 你不知道仓库里有一份部署清单,就不会去搜它;检索只回答「你问的那件事」,不回答「你该知道的那件事」。
⑤ 不可审计 —— 一条写错的记忆躺在库里,没有人能 diff 它,也没有一页能看出它是什么时候进来的。
两栏分治:哪些进增量栏,哪些进覆盖栏
判据 = 这条内容会不会因为「世界变了」而变错。
增量栏(经验 / 规则) —— 触发场景 + 正确做法 + 反例;只加一条、只改一条、只标失效一条,⛔ 不整份重写;每条必须带「来自哪一轮 / 哪一次失败」,填不出来源的就是待删项。
覆盖栏(事实 / 状态) —— 当前接口长什么样、谁是负责人、这个月用哪个模型;每次只保留最新一版,旧版直接替换,⛔ 不追加、⛔ 不留「历史上曾经是」(历史在版本库里,不在文档里)。
为什么不能只用一套 —— 用增量的方式管事实 ⇒ 过期真相越攒越多;用覆盖的方式管经验 ⇒ 每一轮重写都悄悄丢掉上一条还活着的细节(简洁偏置),十轮之后只剩几句谁看都对、谁用都不灵的废话。
落地形态:两个目录(经验一栏、状态一栏)+ 一份索引,只写「哪份文档、什么时候该开」。会话开始时注入的是这份索引,不是正文。
原理 · 为什么有效
模型记不住,不是容量问题,是「什么时候读什么」没有入口。把全部历史塞进窗口,注意力会被稀释(越靠中段越读不到);把历史切碎塞进向量库,又只能按「像不像」取,取不到「该不该」。所以杠杆不在记多少,而在谁在什么时候决定读哪一份 —— 这件事必须由一份可读、可 diff 的索引承担,而不是由相似度打分承担。
第二个杠杆是可追责:一条记忆要是错了,得能回答三件事 —— 谁写的、依据什么、什么时候该失效。文件加版本控制天生答得出;向量库里的片段天生答不了。
第三个杠杆是纪律要跟载体配对:经验靠累积(增量 + 来源),事实靠覆盖(重写 + 只留最新)。两套纪律混用,是这个领域最常见的塌缩来源。
适用场景
适用:已经在用 AI 写代码或跑长任务的个人与小团队;被「它又忘了上次的约定」折磨过;或反过来 —— 记忆库越攒越大、回答越来越像通用建议的人。
⛔ 不适用:只在单次会话里问答、不跨天干活的人 —— 那不需要长期记忆,把当轮上下文给足就够。
⚠️ 前提:愿意把记忆当代码管(进版本控制、改动可评审)。⛔ 不接受「每次改都要写一行出处」的,这套会退化成又一个没人看的文档。
自测 · 5 问
我能说出我的 AI 记住的东西现在存在哪吗(对话里 / 某个库 / 仓库里的文件)?
上一次它拿一条过期信息回答我,我是怎么发现的?
我的记忆里,有没有一条连「谁写的、依据什么」都说不出来?
同一个事实,我是不是在两三个地方各写了一遍?
如果明天要删掉一条错记忆,我知道该改哪个文件、哪一行吗?
怎么上手 · 验证步骤
第一次别迁移全部记忆。只做一件事:把「这个月用过、而且已经变过」的三条事实,从记忆库搬进一栏纯状态文件 —— 比如当前用的模型名、接口字段、负责人。搬的时候只写最新一版,⛔ 不写「以前是」。
然后写一份索引,只回答一个问题:什么情况下该开哪一份(例:动接口前 → 开状态栏的接口那份;改构建脚本前 → 开经验栏的构建那份)。第二天开工时先让它读索引再动手 —— 如果它自己打开了正确的那一份,这套就立住了;如果它还是凭印象回答,说明索引写得不够具体(「相关文档」这类描述等于没写)。
自检动作:随便挑一条记忆,问三个问题 —— 它来自哪一次?它什么时候会失效?失效了改哪一行?三个都答得出,这条是资产;有一个答不出,它就是负债。