continuous-learning

continuous-learning

热门

自动从Claude Code会话中提取可重用模式,并将其保存为学习技能供未来使用。

40KStar
5KFork
更新于 2/5/2026
SKILL.md
readonly只读
name
continuous-learning
description

自动从Claude Code会话中提取可重用模式,并将其保存为学习技能供未来使用。

持续学习技能

自动评估 Claude Code 会话的结尾,以提取可重用的模式,这些模式可以保存为学习到的技能。

工作原理

此技能作为 停止钩子 在每个会话结束时运行:

  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"
      }]
    }]
  }
}

为什么使用停止钩子?

  • 轻量级:仅在会话结束时运行一次
  • 非阻塞:不会给每条消息增加延迟
  • 完整上下文:可以访问完整的会话记录

相关

  • 长篇指南 - 关于持续学习的章节
  • /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 增强功能

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

完整规格请参见:/Users/affoon/Documents/tasks/12-continuous-learning-v2.md

You Might Also Like

Related Skills

verify

verify

243K

Use when you want to validate changes before committing, or when you need to check all React contribution requirements.

facebook avatarfacebook
获取
test

test

243K

Use when you need to run tests for React core. Supports source, www, stable, and experimental channels.

facebook avatarfacebook
获取

Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.

facebook avatarfacebook
获取

Use when adding new error messages to React, or seeing "unknown error code" warnings.

facebook avatarfacebook
获取
flow

flow

243K

Use when you need to run Flow type checking, or when seeing Flow type errors in React code.

facebook avatarfacebook
获取
flags

flags

243K

Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.

facebook avatarfacebook
获取