skills/hhu3637kr/skills/exp-reflect

exp-reflect

SKILL.md

exp-reflect - 经验反思 Skill

概述

基于 MUSE 框架的"反思 → 结构化 → 记忆化"理念,分析当前对话,提取可沉淀的记忆,并按记忆类型分流到不同存储层。

记忆类型识别

  • 困境-策略对(经验记忆)→ 按权重分流(重大→exp-write 写入 spec/context/experience/ / 轻量→Auto Memory)
  • 项目理解(知识记忆)→ exp-write 写入 spec/context/knowledge/(架构、数据流、模块分析)
  • 技术调研(知识记忆)→ exp-write 写入 spec/context/knowledge/(框架对比、选型分析)
  • 程序记忆(SOP)→ 创建 sop-xxx Skill
  • 工具记忆→ 更新 Skill 末尾

可沉淀的记忆类型

  1. 经验记忆:困境-策略对 → 按权重分流(重大→exp-write / 轻量→Auto Memory)
  2. 知识记忆:项目理解、技术调研 → exp-write 写入 spec/context/knowledge/
  3. 程序记忆:可复用的多步骤 SOP → 创建 sop-xxx Skill
  4. 工具记忆:Skill 执行后的固定后续动作 → 更新 Skill 末尾

触发场景

  • 任务完成后,自动提示反思
  • 解决了困难问题后
  • 用户主动触发:/exp-reflect
  • 用户带提示词触发:/exp-reflect 记录数据流/exp-reflect 记录架构

核心原则

先分析内容,再判断记忆类型

不是所有内容都值得记录,需要判断:

问自己
这是一个"困境→解决方案"的经验? 经验记忆 继续下一问
这是项目理解(架构/数据流/模块分析)? 知识记忆 继续下一问
这是技术调研(框架对比/选型分析)? 知识记忆 继续下一问
这是一个可复用的多步骤流程(>5步)? 程序记忆(SOP) 继续下一问
这是某 Skill 执行后应该做的固定动作? 工具记忆 不需记忆

执行流程

反思流程:
- [ ] 步骤 1:回溯对话轨迹
      回顾本次对话中的所有操作
      识别关键决策点和转折点
      注意用户的提示词(如"记录数据流"、"记录架构")

- [ ] 步骤 2:识别可沉淀的记忆
      分析并分类:

      | 内容特征 | 记忆类型 | 存储位置 |
      |----------|----------|----------|
      | 解决了什么问题?为什么这样解决? | 经验记忆 | spec/context/experience/ |
      | 项目架构、数据流、模块分析? | 知识记忆 | spec/context/knowledge/ |
      | 技术调研、框架对比、选型分析? | 知识记忆 | spec/context/knowledge/ |
      | 完成了哪些多步骤操作(>5步)?是否可复用? | 程序记忆 | sop-xxx Skill |
      | 某 Skill 执行后总是需要做什么? | 工具记忆 | Skill 末尾后续动作 |

- [ ] 步骤 2.5:记忆权重判断

      对步骤 2 中识别出的记忆,进行权重分流:

      **经验记忆(困境-策略对)**:
      | 判断维度 | 重大经验 → exp-write | 轻量经验 → Auto Memory |
      |----------|---------------------|------------------------|
      | 复杂度 | 涉及多组件协调、非显而易见的解决方案 | 单点技巧、简单调试经验 |
      | 关联性 | 需要链接到 Spec/代码文件的结构化记录 | 独立的、无需关联其他文档 |
      | 共享性 | 团队/项目级别需要共享的经验 | 个人编码习惯和偏好 |
      | 持久性 | 长期有效的架构决策和设计模式 | 临时性的调试技巧 |

      **知识记忆(项目理解/技术调研)**:
      - 所有知识记忆都通过 exp-write 写入 `knowledge/`
      - 不区分权重,因为项目理解类内容本身就是结构化知识

      分流结果:
      - 重大经验 → 继续走 exp-write 流程(写入 spec/context/experience/)
      - 轻量经验 → 提示用户让 Auto Memory 处理(见「轻量经验引导」)
      - 知识记忆 → 继续走 exp-write 流程(写入 spec/context/knowledge/)

- [ ] 步骤 3:检查现有记忆(防止重复)
      根据步骤 2 识别的类型,检查对应位置:

      - 经验记忆 → 读取 spec/context/experience/index.md
      - 知识记忆 → 读取 spec/context/knowledge/index.md
      - 程序记忆 → 列出 .claude/skills/ 下所有 sop-* 目录
      - 工具记忆 → 读取目标 Skill 的「后续动作」章节

- [ ] 步骤 4:向用户展示分析结果
      按记忆类型分组展示

- [ ] 步骤 5:用户确认后执行写入
      - 经验记忆(重大)→ 调用 /exp-write type=experience
      - 知识记忆 → 调用 /exp-write type=knowledge
      - 程序记忆 → 调用 /skill-creator 创建 SOP Skill
      - 工具记忆 → 直接编辑目标 Skill 文件

经验草稿格式

📝 经验反思结果

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📚 经验记忆(困境-策略对)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

**标题**:[简短描述问题]
**权重**:🔴 重大经验(建议 exp-write)/ 🟡 轻量经验(建议 Auto Memory)
**判断依据**:[多组件协调 / 需要关联 Spec / 团队共享 / ...]
**关键词**:[关键词1], [关键词2], [关键词3]
**适用场景**:[什么情况下这个经验有用]

**困境**:[描述遇到的问题或挑战]
**策略**1. [解决步骤1]
2. [解决步骤2]
**理由**:[为什么这个策略有效]

→ 🔴 重大经验:确认后调用 /exp-write type=experience
→ 🟡 轻量经验:Auto Memory 会自动处理,无需手动写入

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📖 知识记忆(项目理解/技术调研)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

**标题**:[知识主题]
**类型**:项目理解 / 技术调研 / 代码分析
**关键词**:[关键词1], [关键词2], [关键词3]

**内容概述**[简要说明这个知识点的核心内容]

**详细内容**[根据类型组织内容]

项目理解类:
- 项目概述
- 核心架构
- 数据流
- 关键模块

技术调研类:
- 背景
- 方案对比
- 结论

→ 确认后调用 /exp-write type=knowledge

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 程序记忆(SOP)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

**SOP 名称**:sop-xxx-[名称]
**触发场景**:[什么时候使用这个 SOP]
**主要步骤**1. [步骤1]
2. [步骤2]
...

→ 确认后调用 /skill-creator 创建 SOP Skill

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔧 工具记忆(Skill 后续动作)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

**目标 Skill**:[Skill 名称]
**新增后续动作**1. [动作1]
2. [动作2]

→ 确认后直接编辑 Skill 文件

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

是否执行以上记忆操作?

记忆质量判断标准

值得沉淀的记忆

记忆类型 值得沉淀的特征
经验记忆 解决了反复出现的问题、非显而易见的解决方案、涉及多组件协调、踩过的坑
知识记忆 项目架构理解、数据流分析、技术调研结果、框架对比、模块设计解读
程序记忆 多步骤流程(>5步)、可复用、有明确的触发条件和验证方法
工具记忆 某 Skill 执行后总是需要的固定动作、形成工作流衔接

不值得沉淀的记忆

特征 示例
常识性内容 "变量命名要有意义"
一次性操作 "修复了某个 typo"
项目特定的临时方案 "临时注释掉某行代码"
已有文档覆盖 框架官方文档已说明的内容

重复检测规则

相似性判断标准

Q1: 困境描述的核心问题是否相同?
Q2: 策略的主要方法是否相同?
Q3: 适用场景是否相同?

如果 Q1 和 Q2 都是"是" → 视为重复
如果 Q1 是但 Q2 否 → 可能是同一问题的不同解法,询问用户
如果 Q1 否 → 不重复,可以新增

重复处理示例

⚠️ 发现相似经验

现有经验 [EXP-001]:WebSocket 连接超时
- 困境:长时间任务导致连接断开
- 策略:三层防护(Nginx超时+心跳+重连)

本次经验与现有经验高度相似。

请选择:
1. 不记录(现有经验已足够)
2. 更新现有经验(补充新内容)
3. 新增经验(场景确实不同)

自动触发信号

Agent 应在以下场景主动建议是否需要反思(建议性,非强制):

信号 提示话术
解决了困难问题 "这个问题的解决方案可能值得记录,要反思一下吗?"
做出了架构决策 "这个决策及其理由可能对未来有帮助,要沉淀吗?"
用户说"以后都这样" "好的,我来提取这个经验以便未来参考。"
任务完成 "任务完成了,有值得结构化记录的重大经验吗?日常小经验 Auto Memory 会自动处理。"

与其他 Skill 的协作

场景 协作 Skill
写入经验记忆 /exp-write type=experience 写入经验文件和索引
写入知识记忆 /exp-write type=knowledge 写入知识文件和索引
创建程序记忆(SOP) /skill-creator 创建 SOP Skill
更新工具记忆 → 直接编辑目标 Skill 文件末尾
检查是否重复 → 读取 spec/context/experience/index.mdspec/context/knowledge/index.md
更新现有记忆 /exp-write 更新模式

轻量经验引导

当步骤 2.5 判断为轻量经验时,不走 exp-write,而是提示用户:

💡 这条经验比较轻量,建议让 Auto Memory 自动处理:

**经验**:[一句话描述]

Auto Memory 会自动记住这类日常经验,无需手动写入 exp/ 目录。
如果你认为这条经验足够重要需要结构化记录,请告诉我,我会走 exp-write 流程。
Weekly Installs
4
GitHub Stars
110
First Seen
13 days ago
Installed on
trae-cn4
gemini-cli4
claude-code4
github-copilot4
codex4
amp4