跳转至

持续学习技能

在 Claude Code 会话结束时自动评估,并提取可保存为已学习技能的可复用模式。

工作原理

该技能在每个会话结束时作为 Stop 钩子 运行:

  1. 会话评估:检查会话是否有足够消息(默认:10 条以上)
  2. 模式检测:识别会话中可提取的模式
  3. 技能提取:将有用模式保存到 ~/.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 的潜在改进

  1. 基于本能的学习 - 更小、更原子的行为,带有置信度评分
  2. 后台观察者 - 并行分析的 Haiku 代理
  3. 置信度衰减 - 出现矛盾时降低本能的置信度
  4. 领域标签 - 代码风格、测试、git、调试等
  5. 进化路径 - 将相关本能聚类为技能/命令

详见:docs/continuous-learning-v2-spec.md。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC