把 Agent 的记忆从 25KB 压到 4KB:一套「脑机分离」的记忆架构

多 Agent 系统跑起来之后,最扎心的问题往往不是”不会干活”,而是越用越乱、越用越健忘、越用越容易串台。这篇拆一套很实在的解法:不是加功能,而是给 AI 的记忆立一套”秩序”。读完你会问自己三个问题——你的 Agent,大脑和办公桌分开了吗?它每次启动带进上下文的是精华还是垃圾?你的系统有没有一条不能突破的 Token 红线?


一、病根:不是不会,是”什么都记得一点,什么都记不准”

把配置文件、记忆文档、草稿、产出物全丢在同一个目录层,会发生什么?

Agent 每次启动都像一个刚睡醒的人,先在满屋狼藉里翻半天,然后把不该带进上下文的东西也一起带进来了。临时文件越堆越多、记忆越来越脏、Token 一路飙升。更糟的是它会误读旧草稿、串错项目,然后一本正经地胡说八道——这就是”记忆污染”。

很多人第一反应是套 PARA(Projects / Areas / Resources / Archive)。这套笔记法对很好用,但对多 Agent 系统不够。原因很关键:

PARA 解决的是”逻辑分类”,不是”物理隔离”。

AI 的大脑和办公桌一旦放在一起,系统迟早会乱。人类可以容忍桌面乱一点,机器不行——桌面一乱,记忆就脏;记忆一脏,执行就偏。


二、核心原则:大脑住楼上,办公桌在楼下,互不串门

整套架构最核心的一句话就是这个。拆成四层:

第一层 · 身份与认知层(根目录)= AI 的大脑。 必须常驻上下文:身份定义、人格语气、记忆索引、领域知识。为什么必须在根目录?因为很多 Agent 框架的底层寻址就是写死按这个结构找的——身份文件每次对话自动注入,这是工程约束,不是设计偏好。我们能做的不是改规则,而是顺着规则把体积和边界控制好。

第二层 · 能力层 = AI 的手脚。 skills/(可复用能力说明)+ tools/(本地脚本)。这也是 Token 节约的第一道防线:能用脚本解决的,就别动用大模型。

第三层 · 劳作层(workspace/)= AI 的办公桌。 所有产出、下载、临时文件都进这里。关键约束只有一条:所有 write 操作必须显式加 workspace/ 前缀——因为 Agent 默认执行目录就是根目录,不加前缀,文件就直接污染大脑层。

第四层 · 公共制度层(shared/)= 共享规则,不共享大脑。 多个 Agent 共用一套价值观/协议/看板,但每个 Agent 的记忆仍然独立、互不串门。共享制度,不共享脑内噪音。


三、三级缓存:把操作系统的内存管理,套到记忆上

这是整套方案里最漂亮的一手——把 AI 记忆设计成一个 OS 式三级缓存:

层级位置内容加载策略
L0(一级缓存)根目录 / MEMORY.md记忆索引、当前任务、关键决策、紧急待办常驻上下文
L1(二级缓存)memory/milestones/阶段性总结、经验教训、关键节点按需加载
L2(三级缓存)memory/journal/完整日志、日常流水冷存储
  • L0 硬约束 ≤ 4KB(约 800~1000 tokens):这是 Agent 每次启动都带在身上的”本能记忆”。
  • L1 平时不进上下文,需要时才 read 或语义检索拉出来。
  • L2 默认永不进上下文,只有明确”复盘某段时间”时才选择性读取。

一句话记住它:把常用、关键、短小的东西放近;把完整、详细、低频的东西放远。

配套的心智模型叫「按需加载」:上下文窗口 = 物理内存(贵且有限),记忆子文件 = 磁盘(便宜且大),按需加载 = 只在需要时把页面换进内存。收益是实打实的——单轮对话 Token 从 5000+ 降到 1500 左右,降幅接近 70%,MEMORY.md 从 25KB 压到 4KB 以内。


四、Token 红线:能用脚本就别用大模型

这条我特别认同,因为它是”成本意识的工程化”,而不是抠门。原则一句话:能用本地工具解决的,就不要用大模型做。 具体四招:

  1. 脚本优先:数据清洗、格式转换、批量重命名,交给 Python / Shell,一次编写长期复用,几乎不消耗 Token。
  2. 红线值MEMORY.md 一旦超限就触发巡检和瘦身。
  3. 心跳巡检:定期扫描记忆文件体积,异常膨胀就报警。
  4. Agent 自检:大规模读取前先预估 Token 成本,快超阈值就主动提示”是否继续读取”。

省 Token 不是目的,目的是让算力花在真正需要智能的地方——创意、判断、决策,而不是死记硬背和格式整理。


五、三道防线:防止 Agent 自己把规矩搞坏

架构搭好,还得防它越界:

  • 防线一 · 巡检脚本:挂在心跳里,定期扫”根目录有没有冒出非标准文件、MEMORY.md 有没有超限、workspace 结构对不对”,发现就报警自查。
  • 防线二 · Git 钩子pre-commit 做最后物理拦截——根目录出现临时文件、记忆超限、写路径缺 workspace/ 前缀,直接拒绝提交。它拦的是那句最危险的话:“我就先临时放一下”。很多系统就死在这个”临时一下”上。
  • 防线三 · 混沌测试:主动给 Agent 下模糊指令(“帮我查一下那个文档”),看它会不会直接去根目录乱翻,还是先追问”哪个文档?在哪个项目?“。这本质是 SRE 那套:不假设系统永远正确,主动设计错误场景看它会不会失控。

还有一条治本的:别指望培训,直接用底层注入机制。 把关键规则写进每轮自动注入的身份文件里,等于每次启动都”重载规则”——培训会忘,硬编码不会。


六、我自己的几点判断(哪些值得抄,哪些别照搬)

我照着自己搭多 Agent 记忆系统的经验,补几条务实的:

  • 4KB 别当死数。它是”身份文件全量注入每轮”这个前提下的口径。如果你的系统已经做了「索引常驻 + 语义按需召回」,真正该控的是每轮实际注入的 Token 量,而不是某个文件的总大小——盲目压到 4KB,可能反而砍掉了铁律的可读性,得不偿失。
  • “手动 read L1” 是偏原始的版本。有语义召回的系统在”按需加载”这一维其实更先进,别向下对齐。这套架构真正稀缺的价值在于物理隔离 + 体积红线 + 防线脚本这三样,而不是检索本身。
  • git hooks 依赖你是个 git 仓。不是的话,把它换成 cron / 看门狗里的一个体积巡检脚本,同样管用。
  • 最值得抄的一处,其实是那条”能用脚本就别用大模型”。我自己也把它立成了铁律:任何重复、多步、多参的操作,别每次让大模型现想现拼——脚本不会手滑,现拼的复杂调用才会出错。同一个操作手搓第二次,就该固化成脚本了。这篇文章从记忆架构的角度,独立印证了同一个判断。

结语:AI 不怕没有能力,怕的是没有秩序

三级缓存、按需加载、Token 红线,不是三个分散的小技巧,是一整套记忆管理方案:

  • 三级缓存,解决”哪些记忆该常驻、哪些该沉下去”;
  • 按需加载,解决”上下文装不下时,怎么还记得更多”;
  • Token 红线,解决”如何把算力花在判断和创造上”。

很多人现在在堆 Agent、接工具、拼工作流。但真正决定一个 AI 系统能不能长期跑下去的,往往不是功能数量,而是秩序。AI 不怕没有能力,怕的是它有很多能力却没有边界、有很多记忆却没有结构、有很多上下文却没有重点。

一个真正能长期协作的 AI,首先得记住三件事:自己是谁、该做什么、不该做什么。


本文为学习拆解,架构原型出自公众号《我把 15 个 AI Agent 的记忆架构,从 25KB 压到了 4KB》(叶澄风),观点与判断部分为作者结合自身实践补充。