| name | retry-lesson-capture |
| description | 当任务首次失败但重试其他方案成功时,将可复用经验沉淀到 workspace/MEMORY.md 和当前 SKILL.md 中。适用于 API 失败切换备用、命令失败改用其他命令、解析失败改用其他流程等场景。 |
目标
把"失败后恢复成功"的经验沉淀为下次可直接复用的提示,而不是只停留在当前会话里。
触发条件
以下条件同时满足时才执行:
- 首次方案失败,且失败信息明确。
- 尝试了第二种方案/参数/工具。
- 第二种方案成功,且能提炼出稳定经验。
偶发失败但没有更优方案时,不要更新。
执行步骤
1. 确认失败路径和成功路径
记录:首次用了什么、报了什么错、后来改成什么后成功。
2. 确定当前 Skill
- 如果本轮读取并依赖了某个
skills/*/SKILL.md,就把它视为"当前技能"。
- 如果没有使用任何具体技能,只更新
workspace/MEMORY.md。
3. 读取目标文件
- 当前技能文件(如有)
workspace/MEMORY.md
4. 提炼经验
只保留可复用信息:
- 哪种信号说明首选方案不可靠
- 哪个替代方案更稳定
- 下次遇到同类问题时应优先怎么做
5. 更新当前技能文件
在最相关的位置补充"经验教训"段落。写可执行规则,不写事故复盘。
格式:
## 经验教训
- [YYYY-MM-DD] 当 `<首选方案>` 出现 `<错误信号>` 时,优先切换到 `<备用方案>`。
6. 更新 workspace/MEMORY.md
在对应分类下追加条目:
经验教训(跨任务可复用):
### YYYY-MM-DD:<主题>
- 问题:<失败的稳定特征>
- 有效方案:<成功的替代方案>
- 下次提示:<以后应优先怎么做>
用户偏好(用户表达了稳定倾向):
- [YYYY-MM-DD] <偏好描述>
系统行为(环境相关的稳定特征):
- [YYYY-MM-DD] <环境特征描述>
7. 避免重复
同一条经验已存在时更新原条目,不追加重复内容。
写入原则
| 写入位置 | 内容类型 |
|---|
| 当前 SKILL.md | 任务级、流程级经验:首选/备用方案优先级、常见失败信号、稳定参数 |
| workspace/MEMORY.md | 跨任务经验:用户偏好、环境特征、哪类方案在本项目更可靠 |
禁止事项
- 不把一次性网络抖动写成长期规则
- 不把具体用户输入、密钥、敏感信息写入
- 不同时修改多个无关技能
- 不把"这次做了什么"原样搬运成冗长日志
完成标准
- 当前技能里出现了更稳妥的执行规则(如有)。
workspace/MEMORY.md 里出现了对应的长期经验。
- 下次处理同类任务时,只看技能和记忆就能避开失败路径。