name: continuous-learning description: 自动从Claude Code会话中提取可复用的模式,并将其保存为学习到的技能以供将来使用。
持续学习技能
自动在会话结束时评估Claude Code会话,提取可复用的模式并保存为学习到的技能。
工作原理
此技能作为停止钩子在每次会话结束时运行:
- 会话评估:检查会话是否有足够多的消息(默认: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"
}]
}]
}
}
为何使用停止钩子?
- 轻量级:仅在会话结束时运行一次
- 非阻塞:不会给每条消息增加延迟
- 完整上下文:可以访问完整的会话记录
相关
- 长篇指南 - 关于持续学习的章节
/learn命令 - 会话中手动提取模式
对比说明(研究:2025年1月)
与 Homunculus (github.com/humanplane/homunculus) 对比
Homunculus v2 采用了更复杂的方法:
| 特性 | 我们的方法 | Homunculus v2 |
|---|---|---|
| 观察方式 | 停止钩子(会话结束时) | PreToolUse/PostToolUse 钩子(100% 可靠) |
| 分析方式 | 主上下文 | 后台代理(Haiku) |
| 粒度 | 完整技能 | 原子化的“本能” |
| 置信度 | 无 | 0.3-0.9 加权 |
| 演化路径 | 直接转为技能 | 本能 → 聚类 → 技能/命令/代理 |
| 共享 | 无 | 导出/导入本能 |
来自 homunculus 的关键见解:
“v1 依赖技能进行观察。技能是概率性的——它们大约有 50-80% 的时间会被触发。v2 使用钩子进行观察(100% 可靠),并将本能作为学习行为的基本单位。”
潜在的 v2 增强功能
- 基于本能的学习 - 更小、原子化的行为,带有置信度评分
- 后台观察器 - Haiku 代理并行分析
- 置信度衰减 - 如果被否定,本能会失去置信度
- 领域标记 - 代码风格、测试、Git、调试等
- 演化路径 - 将相关的本能聚类成技能/命令
完整规范请参见:/Users/affoon/Documents/tasks/12-continuous-learning-v2.md。