--- description: "固化记忆:将短期记忆或当前经验转化为长期知识" --- # 记忆固化模式 ## 目的 将当前会话的经验、教训、理解转化为结构化长期记忆,供未来检索和使用。 ## 何时使用 ### 应当固化记忆的场景 - ✅ 理解了新的项目架构 - ✅ 解决了复杂的bug并学到了新模式 - ✅ 与用户达成了重要的设计决策 - ✅ 发现了代码库中的隐含约定 - ✅ 从错误中学到了教训 - ✅ 澄清了模糊的需求 ### 不必固化的场景 - ⚠️ 临时的实验性代码 - ⚠️ 一次性的调试信息 - ⚠️ 未完成的想法 ## 记忆分类 ### 类型1:项目架构知识 存储位置:`memory/long-term/project-architecture.md` 内容: - 技术栈详情 - 模块划分和边界 - 关键设计决策 - 依赖关系图 ### 类型2:设计模式 存储位置:`memory/long-term/design-patterns.md` 内容: - 项目中使用的模式(工厂、策略、观察者等) - 自定义约定和模式 - 代码组织最佳实践 ### 类型3:代码质量模式 存储位置:`memory/long-term/quality-patterns.md` 内容: - "好代码"的示例 - "坏代码"的反面教材 - 常见陷阱和避免方法 ### 类型4:用户偏好 存储位置:`memory/long-term/user-preferences.md` 内容: - 用户的编码风格偏好 - 架构偏好(微服务 vs 单体) - 技术偏好(函数式 vs OOP) ### 类型5:历史决策 存储位置:`memory/episodic/timeline.md` 内容: - 时间戳 + 事件 - 决策背景 - 决策后果 ## 固化流程 ### 步骤1:提取经验 从当前会话中提取: - 新的理解 - 学到的教训 - 确认的事实 - 生成的模式 ### 步骤2:结构化 将经验转化为: ```markdown ## [主题] **时间**: YYYY-MM-DD **置信度**: 0-1.0 **来源**: [会话id或引用] **内容**: [清晰简洁的描述] **上下文**: [背景信息和条件] **影响**: [如何影响未来决策] ``` ### 步骤3:去重检查 检索相关记忆: - 这是否已存在? - 这是否与现有记忆冲突? - 是否是对现有记忆的修正? ### 步骤4:整合存储 - 追加到相应文件 - 维护反向索引(关键词 → 记忆位置) - 更新置信度网络 ### 步骤5:反馈 报告哪些记忆被固化: ``` 已固化3条记忆: 1. [项目架构] 我们的认证采用JWT + Refresh Token模式 2. [设计模式] 服务层使用Repository模式隔离数据访问 3. [用户偏好] 用户喜欢函数式编程风格,避免class继承 ``` ## 记忆检索机制 ### 关键词匹配 提取记忆中的关键词,建立索引: ```javascript { "JWT": ["memory/long-term/project-architecture.md#L45", "memory/episodic/timeline.md#L120"], "Repository": ["memory/long-term/design-patterns.md#L78"] } ``` ### 上下文相似度 当遇到新问题时: 1. 提取新问题的关键词 2. 计算与历史记忆的相似度 3. 返回最相关的N条记忆 ### 时间衰减 记忆有半衰期: - 最近经验的权重更高 - 长期未访问的记忆置信度缓慢衰减 ## 实现示例 用户:"记住,我们使用JWT进行认证" 固化过程: ```markdown ## 认证机制 **时间**: 2025-11-14 **置信度**: 0.95 **来源**: 用户直接声明 **内容**: 项目使用JWT(JSON Web Token)进行认证,不包含session。 **上下文**: - 认证在 /auth/service.js 中实现 - Token有效期7天,Refresh Token 30天 - 使用 bcrypt 加密密码 **影响**: - 所有需要认证的API都应检查Authorization头 - 实现新功能时需考虑无状态认证的设计 - 需要保护密钥,建议使用环境变量 ``` 同时添加到索引: ```json { "index": { "JWT": ["memory/long-term/project-architecture.md#认证机制"], "authentication": ["memory/long-term/project-architecture.md#认证机制"], "认证": ["memory/long-term/project-architecture.md#认证机制"] } } ``` ## 记忆更新 当新信息冲突时: 1. 保留旧记忆(历史归档) 2. 添加新记忆 3. 在两条记忆间建立"修正"关系 示例: ```markdown ## 认证机制 [SUPERSEDED by 2025-11-20] **时间**: 2025-11-14 **置信度**: 0.3 (已降低) 内容已过时——我们在2025-11-20切换到OAuth2.0 **修正关系**: → [OAuth2.0 迁移, 2025-11-20] ``` ## 宪法遵循 遵循宪法1.4:维护多层次记忆系统 遵循宪法4.1:从经验中提取并固化知识 遵循宪法4.2:更新认知模型时保留历史记录