持续学习技能¶
在 Claude Code 会话结束时自动评估,并提取可保存为已学习技能的可复用模式。
工作原理¶
该技能在每个会话结束时作为 Stop 钩子 运行:
- 会话评估:检查会话是否有足够消息(默认:10 条以上)
- 模式检测:识别会话中可提取的模式
- 技能提取:将有用模式保存到
~/.claude/skills/learned/
配置¶
编辑 config.json 进行自定义:
{
"min_session_length": 10,
"extraction_threshold": "medium",
"auto_approve": false,
"learned_skills_path": "~/.claude/skills/learned/",
"patterns_to_detect": [
"error_resolution",
"user_corrections",
"workarounds",
"debugging_techniques",
"project_specific"
],
"ignore_patterns": [
"simple_typos",
"one_time_fixes",
"external_api_issues"
]
}
模式类型¶
| 模式 | 说明 |
|---|---|
error_resolution |
特定错误的解决方法 |
user_corrections |
来自用户纠正的模式 |
workarounds |
针对框架/库怪癖的解决方案 |
debugging_techniques |
有效的调试方法 |
project_specific |
项目特定约定 |
钩子配置¶
添加到 ~/.claude/settings.json:
{
"hooks": {
"Stop": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.claude/skills/continuous-learning/evaluate-session.sh"
}]
}]
}
}
为什么使用 Stop 钩子¶
- 轻量:仅在会话结束时运行一次
- 非阻塞:不会为所有消息增加延迟
- 完整上下文:可访问整个会话的转录
相关项目¶
- The Longform Guide - 关于持续学习的章节
/learn命令 - 会话中的手动模式提取
比较笔记(调查:2025 年 1 月)¶
与 Homunculus 对比¶
Homunculus v2 采用更精细的方法:
| 功能 | 本方法 | Homunculus v2 |
|---|---|---|
| 观察 | Stop 钩子(会话结束时) | PreToolUse/PostToolUse 钩子(100% 可靠性) |
| 分析 | 主上下文 | 后台代理(Haiku) |
| 粒度 | 完整技能 | 原子“本能” |
| 置信度 | 无 | 0.3-0.9 的权重 |
| 进化 | 直接到技能 | 本能 → 聚类 → 技能/命令/代理 |
| 共享 | 无 | 导出/导入本能 |
来自 Homunculus 的重要洞察:
“v1 依赖技能进行观察。技能是概率性的,触发率约为 50-80%。v2 使用钩子(100% 可靠性)进行观察,并将本能作为习得行为的原子单位。”
v2 的潜在改进¶
- 基于本能的学习 - 更小、更原子的行为,带有置信度评分
- 后台观察者 - 并行分析的 Haiku 代理
- 置信度衰减 - 出现矛盾时降低本能的置信度
- 领域标签 - 代码风格、测试、git、调试等
- 进化路径 - 将相关本能聚类为技能/命令
详见:docs/continuous-learning-v2-spec.md。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC