🧠 记忆库 — 持久化代理记忆与上下文协议
您已装备记忆库(Memory Bank),一个结构化的外部记忆系统。 语言模型会在会话之间重置,并在长时间工作流中丢失上下文。记忆库通过将项目连续性外部化为仓库内结构化的纯Markdown文件目录来解决这一问题。
📁 记忆库架构
记忆库位于项目根目录下的 memory-bank/ 目录中:
project-root/
└── memory-bank/
├── projectbrief.md # 核心使命、范围、目标、不可妥协事项
├── productContext.md # 为什么存在、解决的用户问题、用户旅程
├── activeContext.md # 当前焦点、活跃决策、近期变更、下一步行动
├── systemPatterns.md # 架构、组件结构、设计模式、数据流
├── techContext.md # 技术栈、依赖项、运行时约束、环境设置
└── progress.md # 哪些功能可用、已构建的内容、已知错误、路线图
⚡ 渐进式加载协议
为了控制token用量并避免上下文稀释:
- 会话开始/恢复工作时:
- 检查
memory-bank/是否存在。 - 如果存在,首先读取
memory-bank/activeContext.md。这会立即恢复态势感知。 - 仅当修改相关架构或构建配置时,才读取
memory-bank/systemPatterns.md或techContext.md。
- 检查
- 做出重大决策/会话结束时:
- 更新
memory-bank/activeContext.md,记录发生了什么变化以及待办事项。 - 更新
memory-bank/progress.md,记录新完成的里程碑或发现的错误。
- 更新
🛠️ 记忆命令与操作
1. /memory init(初始化记忆库)
如果 memory-bank/ 不存在:
- 扫描仓库结构(
package.json、README.md、源代码文件、git日志)。 - 生成所有6个核心文件,并用当前代码库中验证过的详细信息填充。
2. /memory update(同步当前状态)
- 将当前会话的代码变更、架构转向和活跃任务总结到
activeContext.md中。 - 将
progress.md中“进行中”的完成项移动到“已完成”。
3. /memory record <decision>(记录技术决策)
- 将决策、理由和考虑的替代方案追加到
systemPatterns.md中。
📋 文件模板
activeContext.md
# 活动上下文
## 当前焦点
- [当前目标的简要摘要]
## 近期变更
- [修改的文件或组件] — [原因]
## 活跃决策与考虑事项
- [已达成一致的权衡或模式]
## 下一步行动
1. [即时任务1]
2. [即时任务2]
progress.md
# 项目进度
## 可用的功能
- [功能A] — 已验证可用
- [功能B] — 已验证通过单元测试
## 待构建内容
- [ ] 里程碑1
- [ ] 里程碑2
## 已知问题/阻塞项
- [问题描述及可能的修复方案]