8.1 KiB
8.1 KiB
name, description
| name | description |
|---|---|
| problem-distillery | Progressive knowledge distillation system for stubborn problems. Tracks recurring unresolved issues, records solution processes and dead ends, periodically distills refined insights, and auto-promotes validated insights to routine injection. Triggers when the user expresses "还有问题", "没解决", "还是一样", "又出现了", or when the Agent realizes the same problem has been attempted 2+ times without resolution. |
Problem Distillery
从反复出现的顽固问题中,经过"追踪 → 解决 → 蒸馏 → 验证 → 注入"的完整生命周期, 蒸馏出经过实践验证的精炼认知和方法论。
与其他系统的区别:
- pitfall-journal:互补。pitfall 是事后快照(debug 完记一笔),distillery 是过程追踪 + 知识提炼
- dev-changelog:不重叠。changelog 记事实改动,distillery 记问题解决过程和认知沉淀
数据文件
.claude/distillery/
problems.md -- 问题记录(open + resolved),操作 A/B 写入
insights.md -- 蒸馏后的精炼方法论,操作 C 写入
golden-rules.md -- 权重达标后升级的条目,操作 D 管理,新会话自动注入
条目格式
problems.md 条目
### [PD-YYYYMMDD-HHMM] 一句话标题
- **status**: open | resolved
- **fingerprint**: 关键特征词列表(用于匹配同一问题)
- **category**: tech | workflow | decision | other
- **first_seen**: YYYY-MM-DD HH:MM
- **attempts**:
1. [YYYY-MM-DD HH:MM] 尝试了什么 → 结果如何
2. [YYYY-MM-DD HH:MM] 又尝试了什么 → 结果如何
- **resolution**: (解决后填写)最终解决方案
- **dead_ends**: (解决后填写)走过的弯路及其失败原因
- **spark**: (解决后填写)一句话启发——这个问题教会了什么
- **distilled**: (蒸馏后填写)IN-xxx
insights.md 条目
### [IN-YYYYMMDD-NN] 一句话方法论
- **source_problems**: [PD-xxx, PD-yyy]
- **weight**: 0
- **promoted**: false | true | demoted
- **content**: 2-3 句精炼认知
文件尾部保留元数据:
---
last_distill_date: YYYY-MM-DD
golden-rules.md
# Golden Rules
经过实践验证(权重 >= 5)的精炼认知,每次新会话自动注入。
1. [GR-001] 一句话认知(来源: IN-xxx, 累计验证 N 次)
2. [GR-002] ...
硬上限 15 条。超出时按权重排序保留 top-15,被淘汰的条目降回 insights.md(promoted 改为 demoted)。
操作 A:追踪记录(问题进行中)
触发条件
以下任一场景触发:
- 用户明确表达问题未解决:
- "还有问题"、"问题没有解决"、"还是一样"、"又出现了"
- "试了好多次了"、"这个问题反复出现"、"不行"、"没用"
- 以及其他表达"问题反复发生、Agent 没有完全解决"的语义
- Agent 自身意识到同一问题已经尝试了 2 次以上仍未解决
适用范围
不限于技术问题——工作流设计、产品决策等各类反复纠结的问题均适用。
流程
1. 提取当前问题的指纹:
- 技术问题:错误信息关键词、涉及文件/模块、症状描述
- 非技术问题:核心矛盾点、涉及领域、反复出现的决策困境
2. 读取 problems.md,用指纹匹配 status=open 的条目
3. 匹配到已有条目 → 在 attempts 中追加本次尝试记录
4. 无匹配 → 创建新条目:
- 生成 ID:PD-YYYYMMDD-HHMM
- status: open
- 记录首次尝试
5. 告知用户:"已开始追踪这个问题 [PD-xxx]"(首次)
或 "已更新追踪记录 [PD-xxx],这是第 N 次尝试"(后续)
与 pitfall-journal 的衔接
当 pitfall-journal 中某个条目的同一问题反复出现(用户再次报告相同症状), Agent 应意识到这已超出 pitfall 的"一次性记录"范畴,主动触发操作 A 建立追踪。
操作 B:解决记录
触发条件
存在 status=open 的追踪条目,且满足以下任一:
- 用户确认问题已解决:"好了"、"解决了"、"终于可以了"
- Agent 判断问题已解决(测试通过、错误消失等)
流程
1. 填写 resolution:最终的解决方案
2. 填写 dead_ends:走过的弯路及其失败原因(从 attempts 中归纳)
3. 填写 spark:一句话启发——这个问题教会了什么
4. status 改为 resolved
5. 回复末尾附 [顽固问题已解决并记录]
注意
- 如果问题在当前会话中从发现到解决只花了 1-2 次尝试,不需要走 distillery 流程 (那是 pitfall-journal 的范畴)
- 只有经历了"反复尝试"的问题才值得 distillery 追踪
操作 C:定期蒸馏
触发条件
由 distillery-recall Rule 在每次会话开头检查:
- 读取 insights.md 尾部的
last_distill_date - 如果距今超过 7 天,且 problems.md 中有未标记
distilled的 resolved 条目 - 则提醒用户:"你有 N 个已解决的顽固问题尚未总结,要花几分钟蒸馏一下吗?"
- 每次会话最多提醒一次
流程(用户同意后)
1. 读取所有 status=resolved 且无 distilled 标记的条目
2. Agent 分析这些问题的共性,提出归纳建议:
- 哪些问题有共同的根因模式?
- 能提炼出什么通用的认知或方法论?
- 建议的表述(2-3 句精炼认知)
3. 用户确认/修改后:
- 写入 insights.md(ID 格式:IN-YYYYMMDD-NN,NN 为当日序号)
- weight 初始为 0
- promoted: false
4. 更新 insights.md 尾部的 last_distill_date
5. 在对应 problems.md 条目上标记 distilled: IN-xxx
操作 D:验证与升级
被动验证
当操作 A 触发时(遇到新的或再次出现的顽固问题),额外执行:
1. 读取 insights.md,对当前问题做语义匹配
2. 如有相关条目,向用户展示:
"之前总结过一条相关经验 [IN-xxx]: [内容摘要],可能对当前问题有帮助。"
3. 在问题解决流程中,跟踪该经验是否发挥了作用:
- 用户确认"这个提示有用"
- 或 Agent 判断解决方案与该 insight 的方向一致
4. 确认有用 → weight += 1,在 insights.md 中更新
5. 确认无用 → 不扣分(weight 只增不减,避免偶然失误惩罚好经验)
升级为 Golden Rule
1. 当某条 insight 的 weight >= 5:
a. 检查 golden-rules.md 当前条目数
b. 如 < 15 → 直接升级:
- 在 golden-rules.md 中追加条目(ID: GR-NNN,NNN 为递增序号)
- insights.md 中 promoted 改为 true
c. 如 = 15 → 比较权重:
- 新条目权重 > golden-rules.md 中最低权重条目 → 替换
- 被替换的条目降回 insights.md(promoted 改为 demoted)
- 否则不升级
2. 升级后告知用户:
"经验 [IN-xxx] 已累计验证 N 次,升级为 Golden Rule [GR-NNN],后续新会话将自动注入。"
新会话注入
由 distillery-recall Rule 负责:
- 每次会话开头读取
golden-rules.md - 如果非空,将全部条目作为背景知识注入上下文
- 注入方式与
changelog-headlines同级别——轻量、不显式提及来源
容量与性能控制
| 文件 | 策略 | 阈值 |
|---|---|---|
| problems.md | resolved 且已 distilled 的条目超过 50 条时,归档到 problems-archive.md | 50 条 |
| insights.md | 无上限(条目本身是精炼的,每条 3-5 行) | — |
| golden-rules.md | 硬上限,按权重淘汰 | 15 条 |
| 新会话注入成本 | 只读 golden-rules.md(预期 < 30 行) | 极轻量 |
与其他系统的协作
| 系统 | 关系 | 说明 |
|---|---|---|
pitfall-journal |
上游来源 | pitfall 条目反复出现时,升级为 distillery 追踪 |
dev-changelog |
不重叠 | changelog 记事实改动,distillery 记过程和认知 |
distillery-recall Rule |
下游消费者 | 负责 golden-rules 注入和蒸馏提醒 |
epee-orchestrator |
注册 | 在 registry.md 中注册本 Skill |
自迭代日志
本节记录使用本 Skill 过程中发现的必要检查项。
已知必要检查
(暂无)