AI 编码记忆的诀窍不在于更大的指令文件——而在于更小的、层次化的知识
Source: Dev.to
大型指令文件的问题
人们常常试图通过把指令文件做得庞大来解决“我的 AI 会忘记一切”的问题——比如 500、1,000、2,000 行的 CLAUDE.md(或 .cursorrules 等)。
研究表明,当上下文过长时,AI 的准确率会下降,埋在大型文件中的指令会被忽视。结果是一个臃肿的文件,在你甚至提出问题之前就已经消耗了上下文窗口。
真正有效的方法
相反的做法效果更好:小而针对性的文件,仅在相关时加载。
分层架构
| 层级 | 描述 | 典型大小 | 加载策略 |
|---|---|---|---|
| 层级 1 – 宪法 | 核心原则和路由表 | ~200 行 | 始终加载 |
| 层级 2 – 活体记忆 | 短期、经常使用的规则 | ~50 行 | 始终加载 |
| 层级 3 – 项目大脑 | 项目特定的知识 | 根据项目而异 | 按项目加载 |
| 层级 4 – 知识库 | 大型参考材料 | 无限 | 按需查询 |
层级 1 – 宪法
包含一个路由表,告诉 AI 在哪里可以找到每条信息。层级 1 并不是把所有内容塞进一个文件,而是简单地指向相应的层级。
层级 2 – 活体记忆
保存最常用的指令,应该能够即时获取。
层级 3 – 项目大脑
为每个项目单独的文件,将项目特定的上下文隔离。
层级 4 – 知识库
一个可搜索的仓库,AI 在需要更深入信息时可以查询。
会话记忆(连续层)
一个轻量层,在对话中保持上下文,并随着会话进行链接相应的层级。
经验教训
严格为每个层级设定预算。
- 层级 1 为 200 行,层级 2 为 50 行。
- 限制迫使你优先考虑质量,并将多余内容移至更合适的层级,而不是倾倒到始终加载的文件中。
不要存储 AI 能自行推导的内容。
- 文件结构、可见的代码模式以及 git 历史模型已经可以访问。
- 仅存储如果没有明确指令 AI 会出错的信息。
摘要器安全措施。
- 一个尝试一次处理 50 个会话的无监督摘要器触发了 API 错误,重新尝试了整个批次,消耗了一周三分之一的 token 预算。
- 解决方案:
- 批次上限设为 5 个会话。
- 使用已处理标记,避免对已完成的会话重新摘要。
- 锁文件防止并发运行。
兼容性
该架构可用于 Claude Code、Cursor、Copilot、Codex、Aider——任何读取指令文件的工具。文件名可能不同,但分层方法保持不变。
代码仓库
完整系统(包括模板和自动化设置脚本)已在 GitHub 上提供:
https://github.com/sms021/SuperContext
邀请深入讨论
欢迎随时询问关于架构的任何部分、会话记忆处理,或如何将现有的巨型指令文件迁移到此分层结构的更多细节。