用途:判断该不该分层、分几层、每层放什么。核心不是「记住更多」,是「记住对的,且不越写越乱」。
覆盖:有固定记忆文件的 Agent —— WorkBuddy / CodeBuddy、Claude Code、Cursor,或自建的系统提示拼接。
产出:一套分好的文件结构,每个文件该放什么的判据,以及三条自检。
拿到就能跑:先问四个问题,别急着建文件。多数人不需要三层。
一次只问一个,问完再问下一个。 不要一口气抛四个。
| # | 问什么 | 怎么问出口(原话) | 判据 | 答不上来时 |
|---|---|---|---|---|
| Q1 | 有没有固定文件位 | 「你的 Agent 每次开新对话,会不会自动读到某个文件——比如项目里的 MEMORY.md、CLAUDE.md,或者设置里的自定义指令?」 | 会 → Q2;不会 → 方案 D,到此为止 | 在候选文件里加一句无害的话,新开对话问 Agent「那个文件里写了什么」,看它知不知道 |
| Q2 | 现在多大 | 「那个文件现在多少行?」 | ≤200 且单项目 → 方案 B;>200 → Q3 | 打开数行数;或搜一个高频词,一篇几百行里出现十次以上,说明已经混装 |
| Q3 | 服务几个项目 | 「这个文件只服务一个项目,还是几个项目共用?」 | 多项目 → 方案 A;单项目但 >200 行 → 也走 方案 A | 看文件里有没有出现两个以上互不相关的路径或项目名 |
| Q4 | 谁往里写 | 「里面的内容是你写的,还是 Agent 自己也会往里加?」 | Agent 也写 → 方案 A 必须配写入判据;只有人写 → 方案 A 可简化 | 看文件末尾有没有「本次更新」这类 Agent 留下的句子 |
| 条件 | 方案 |
|---|---|
| Q1 = 不会 | D · 没有固定位 |
| Q1 = 会,Q2 ≤ 200,单项目 | B · 先别拆 |
| Q1 = 会,且(Q2 > 200 或多项目) | A · 三层结构 |
| Q1 = 会,且某个文件 > 500 行 | C · 三层 + 分卷 |
分三个位置,不是三个文件内容:
工作区根/
通用/MEMORY.md ← 跨项目都成立的:身份、协作方式、硬规则
项目A/
AGENTS.md ← 这个项目的入口:它在做什么、约定、路径
memory.md ← 这个项目的记忆:进度、决策、坑
项目B/...
导航层不是文件,是每个文件开头固定几行:这是什么、详情去哪找。写完这几行,Agent 打开任何一个文件都知道自己在哪。
关键在每个容器的准入判据,见下一节。
两百行以内、只服务一个项目,说明还没到混乱的程度。这时候拆,得到的是三个空壳加一堆维护动作。
但立一条线:超过 200 行就来拆。200 不是科学数字,是「一屏读不完、Agent 开始抓不住重点」的经验位置。
某个文件已经超过 500 行,光分层不够——通用层本身就要分卷。按主题切成几个文件(如「规则」「方法」「环境」),用一个索引文件连起来。
⛔ 分卷的前提是先分层。没分层就分卷,等于把混装切成几份混装。
用系统自带的长效设置:Project 的自定义指令、GPT 的 instructions、每次开头的模板消息。
这类位置通常只有几千字,放不下分层,只能精选。挑三条:
其余全部放弃。没有固定位的时候,少记几条但每次都生效,好过记一堆但每次都要手动贴。
这是整套方法的核心。四问按顺序过,前一问否决就不再问:
第一问挡掉大部分内容。这一关过了,剩下的就不用纠结——归属是判断,不是取舍。
常驻层只写「有什么、在哪」,不写内容本身:
部署方式有七个坑,完整清单 → `基础设施/部署与索引-公共流程.md`
读到指针的 Agent 会自己去取;取不到时它知道该停下来问,而不是猜。
三条全过,这套结构才算立住。
2026-11-06。本文件不依赖具体工具与平台;各家产品的文件名不同,但「有没有固定位」这个判断条件通用。与所执行系统的既定标准冲突时,以那个系统的标准为准。