和 AI 聊一下午,第二天它两眼一抹黑;微信里说定的事,飞书里又重来一遍;对话一长被压缩,上周拍板的架构选型蒸发——这类事我撞得够多了。
根因其实一句就能说完:上下文窗口不是记忆。 窗口是工作台,关掉或压扁就没了。真要记住,只能落到磁盘上。
我后来定的规矩很硬:
没写进文件的东西,等于从来没发生过。
三层就够用
没有上复杂中间件,先用文件系统分层:
短期是 NOW.md。工作台,允许覆写,heartbeat 来了就刷新。今天在忙什么、卡在哪,看这一页。
中期是每日日志 memory/YYYY-MM-DD.md。只追加、不改写。不同 session 互相看不见聊天记录,所以重要决定必须当时落日志。条目统一成 ### HH:MM - 标题,扫起来快。
长期才是知识库:decisions/、lessons/、people/、projects/、preferences/……这里放提炼过的东西,不是流水账。启动时先读 INDEX.md,再按需打开具体文件。
再往下是 .archive/。冷数据,搜索默认不碰。日志、反思、做完的任务会按规则搬进来;决策、核心教训、用户画像我选择永不归档。
信息流大致是:对话 → 当日日志 → 夜里反思抽到知识库 → 过期的进冷库。一层比一层干净。
目录长这样(可按自己习惯裁):
workspace/
├── NOW.md
├── AGENTS.md # 操作手册,含记忆规则
├── HEARTBEAT.md
└── memory/
├── INDEX.md
├── YYYY-MM-DD.md
├── memlog.sh
├── memory-gc.sh
├── decisions/ lessons/ people/ projects/ preferences/
├── reflections/
├── actions/{open,in-progress,done}/
└── .archive/
为什么死磕 Markdown
不是信仰问题。打开就能读、git 能 diff、Agent 原生就会 Read/Write——调试时这一点救命。纯数据库当然也能做记忆,但我更想人眼先看懂「它到底记住了什么」。
检索另说。Markdown 当事实来源,向量库或 FTS 当加速器,这个组合我用着顺手。中文全文检索若走 SQLite FTS5,分词经常闹脾气;模糊问题更依赖语义搜索,会慢一点,但总比搜不到强。具体检索栈(比如我用过的 QMD)可以另开一篇,这里不展开。
写入前先对账
Agent 写记忆也会幻觉:没发生的事写进去、写错、两版打架、该记的漏记。所以写入不是「想到就 append」,而是先路由、再读旧文件、比较、分类:
ADD / UPDATE / NOOP / CONFLICT
冲突时两版都留着,标出来等人裁。我认的原则是:宁可难看,别偷偷覆盖。
路由优先级大概是:战略决策 → 可复用教训 → 人物 → 项目 → 偏好 → 日记流水 → 没营养就别写。
主动忘一点
跑满一个月,我这边积累过一百来个 Markdown。不清理的话,检索噪音变大,INDEX.md 越扫越沉。人脑也有遗忘曲线——全记住未必是好事。
归档规则很土:日志和反思超过约 30 天、且没什么人引用,就进 .archive/;做完的任务大约 14 天归档;决策和用户画像留下。
温度分我用来给检索加权,而不是替代归档规则。直观上应该是越新、被引用越多、优先级越高 → 越热。早期草稿里若写成「age 越大越热」,方向是反的;更合理的是用新近度(recency),再叠引用和优先级,例如:
T = 0.5×recency + 0.3×引用 + 0.2×优先级
偏高 → 检索加权;偏低 → 降权,并交给 GC 考虑归档
系数可以调,别把公式神圣化。真正决定删不删的,还是「过期 + 无引用」这类硬规则。
检索别一上来就向量
我实际顺序是:
- 扫
INDEX.md,知道类别就够了——几乎零成本 - 路径明确就直接读文件
- 实在不知道在哪,再语义搜索兜底(有延迟,别当默认路径)
大多数时候前两步就结束了。
写日志也可以很轻:
./memlog.sh "完成代码审查" "审了 bf-gateway-service PR #42,三个潜在问题"
几个常被问的
多 Agent?各自独立 memory/,主 Agent 用 heartbeat 聚合,别共用一个会互相踩的目录。
适不适合所有场景?多 session、长期助手、协作团队——适合。聊完就走的一次性问答,上这套是杀鸡用牛刀。
成本?文件本身很小;索引一般几十 MB 量级;钱可以花得很少,时间花在规则和维护上。夜间反思、每周 GC 能自动就自动,别全靠「记得去整理」。
收束一句
我要的不是「更聪明的模型」,而是 Agent 睡一觉醒来还能接上昨天的决策。文件当账本,校验当对账,归档当断舍离——朴素,但比幻想「上下文会永远记得」靠谱。