用两套目录管住 AI 的长期记忆:MEMORY 与 Wiki 的分工
# 用两套目录管住 AI 的长期记忆:MEMORY 与 Wiki 的分工
## 问题:AI 每次会话都在失忆
用 AI 做长期项目,最痛的不是它写错代码,而是它**记不住**:
- 上次定的"这五个常数不许改",这次它又改了
- 三个月前查清楚的"这个报错是时钟漂移导致的",这次又从零查一遍
- 昨天说好的方案,今天它给了一个完全相反的
把历史全塞进提示词也不现实:上下文有上限,而且 90% 的内容和当前任务无关。
解法是**把记忆外置成文件**,让 AI 每次只读该读的那部分。但只有一个大文档也不行——写满半年就会变成流水账,新信息淹没旧信息,AI 读到的是过时结论。
所以要用**两套目录**,按"信息会不会变"分开。
## 一、分工:MEMORY 存现状,Wiki 存知识
| | MEMORY | Wiki |
|---|---|---|
| 存什么 | 当前有效的事实、决策、待办、项目状态 | 从资料中提炼的长期知识、概念、分析方法 |
| 会不会变 | **会变**,过期就要改 | **基本不变**,越用越值钱 |
| 谁在用 | AI 每次开工前必读 | 遇到具体问题时按需查 |
| 失效方式 | 过时了会误导决策 | 过时了只是不够全面 |
| 典型内容 | "这个项目当前禁改哪几个常数" | "IPv6 多地址时源地址怎么选" |
一句话:**MEMORY 是"现在是什么情况",Wiki 是"这类问题一般怎么解"。**
混在一起的后果很具体:
- 全放 MEMORY → 三个月后文件几百 KB,AI 读不完,只能跳读,等于没记
- 全放 Wiki → 现状类信息混进知识库,改一次要动几十处引用,最后没人维护
## 二、目录怎么摆
AGENTS.md # 长期稳定的行为准则(不常改)
MEMORY/
├── MEMORY.md # 索引 + 当前摘要(每次开工先读这个)
├── 事实.md # 会变但当前有效的客观信息
├── 决策点.md # 已确认的决定 + 原因(防止 AI 反复推翻)
└── 待办.md # 未完成事项、阻塞、待确认问题
Wiki/
├── index.md # 知识索引
├── concepts/ # 概念和方法(可复用的"怎么解")
├── entities/ # 人物、组织、产品、工具
├── analyses/ # 对比和综合分析
└── archive/ # 过期、重复、低价值内容
关键设计:**MEMORY.md 和 index.md 都只是索引**。正文放子文件,按需加载。这样 AI 每次读索引(几百字),命中哪个再读哪个,成本可控。
## 三、写入规则:三条线不能踩
**1. 会变的进 MEMORY,不变的进 Wiki**
判断方法:这条信息半年后还需要改吗?
- "项目当前锁定 5 个常数不许动" → 半年后可能解锁 → **MEMORY**
- "时钟漂移会导致认证失败,长期用 chrony 而不是一次性校准" → 半年后还是对的 → **Wiki**
**2. 同一个信息只存一处**
重复保存必然产生冲突。做法是:正文只写一次,其他地方用链接指过去。
比如 Wiki 里写了"IPv6 源地址选择遵循 RFC 6724",项目里遇到相关问题,MEMORY 只写一句"详见 Wiki/concepts/ipv6-multi-address.md",不复制内容。
**3. 这几类不写**
- **AGENTS.md 里已有的规则** —— 行为准则不重复进 MEMORY,否则改一处漏一处
- **临时讨论和未确认的推测** —— 会污染"当前有效"这个前提
- **敏感信息** —— 密钥、口令、内网拓扑,一律不进
## 四、读取纪律:先索引,按需展开
AI 开工时的固定动作:
1. 读 `MEMORY.md`(索引 + 摘要)
2. 按当前任务挑子文件读 —— 不是每次都把 4 个文件全读
3. 遇到需要原理支撑的问题,查 `Wiki/index.md` → 命中页面
4. Wiki 信息不足时,回到原始资料目录核对
第三条很关键:**Wiki 里的结论要标注来源路径**,AI 才有能力回溯核实,而不是把 Wiki 当圣经。
## 五、维护纪律:不做这些,两套目录三个月就烂
- **待办完成及时移出活跃列表** —— 否则列表越来越长,AI 分不清哪些还在做
- **事实变化立即更新状态** —— 过期的事实比没有事实更有害
- **子文件重要变化,同步更新索引摘要** —— 索引和正文脱节,按需加载就失效了
- **原始资料只读** —— 需要提炼就写进 Wiki,不要为了"整理"直接改原件
- **区分事实和判断** —— 未验证的结论打标"待确认",别混进事实
## 六、这套东西真正解决的问题
不是"让 AI 记住更多",而是**让 AI 记住对的东西**:
- 决策点文件阻止它反复推翻已定方案 —— 每条决策都带原因,它想改得先说服这个原因
- 待办文件让多轮协作不断线 —— 会话结束前更新,下次接手不用重新问
- Wiki 让重复问题只查一次 —— 排障经验沉淀成"这类问题的解法",而不是一次性日志
实际收益:一个跨了几个月的项目,新会话冷启动只需要读几百字索引,就能知道"当前状态 + 不能碰什么 + 类似问题以前怎么解的"。
## 一句话总结
**MEMORY 管"现在",Wiki 管"规律",索引管"加载成本"。** 三者分开,AI 的长期记忆才不会变成一堆过时文件。
- 点赞
- 收藏
- 关注作者
评论(0)