Error Experience Library 使用指南
概述
Error Experience Library(错误经验库)是一个持续学习的机制,用于:
- 沉淀错误根因和解决方案
- 避免重复踩坑
- 加速问题排查
数据存储
~/.claude/memory/error_experience/
├── patterns/ # 错误模式库
│ ├── build_error_*.json
│ ├── runtime_error_*.json
│ └── ...
└── decisions/ # 决策快照
└── decision_*.json使用场景
场景 1:遇到错误时查询
用户:npm run build 失败了,报错 Cannot find module 'lodash'
Agent:
1. 调用 search_error_patterns(query="Cannot find module")
2. 返回匹配的已知模式,按成功率排序
3. 如果有高成功率匹配,直接提供解决方案
4. 如果没有匹配,记录新问题并在解决后沉淀场景 2:解决错误后记录
用户:修复了上述错误(需要安装 lodash)
Agent:
1. 调用 save_error_pattern() 记录:
{
"error_type": "module_not_found",
"error_message_snippet": "Cannot find module",
"root_cause": "missing dependency in package.json",
"solution": "npm install lodash",
"language": "typescript",
"framework": "node",
"tags": ["dependency", "npm"]
}
2. 返回保存确认场景 3:验证后反馈
Agent:尝试了解决方案,成功!
Agent 调用 record_pattern_feedback(pattern_id="xxx", success=true)
→ success_count +1
Agent:尝试了解决方案,失败了
Agent 调用 record_pattern_feedback(pattern_id="xxx", success=false)
→ failure_count +1命令行工具
查询错误模式
bash
python3 -c "
from scripts.lib.memory_store import search_error_patterns
patterns = search_error_patterns('Cannot find module')
for p in patterns:
print(f'[{p.success_count - p.failure_count:+d}] {p.error_type}: {p.root_cause}')
"查看所有模式
bash
ls ~/.claude/memory/error_experience/patterns/查看模式详情
bash
cat ~/.claude/memory/error_experience/patterns/<pattern_id>.json与其他模块的配合
与 build-error-resolver 配合
build-error-resolver 解决错误后,应自动调用 save_error_pattern()。
与 systematic-debugging 配合
s Systematic-debugging 定位根因后,应自动调用 save_error_pattern()。
与验证循环配合
验证成功后,应自动记录反馈到经验库。
最佳实践
- 具体性:错误信息片段要具体,便于匹配
- 根因分析:不要只写"代码有 bug",要分析具体原因
- 可操作性:解决方案要具体,包含实际命令或代码改动
- 及时反馈:验证后立即提供反馈,更新成功率
- 标签准确:标签要准确完整,便于按领域检索
持续优化机制
- 成功率 = success_count / (success_count + failure_count)
- 按 (success_count - failure_count) 排序,优先推荐高置信度模式
- failure_count 高的模式会被标记为警示