Continuous Learning v2 - 基于 Instinct 的架构¶
通过带置信度评分的小型已学习行为——「Instinct」——将 Claude Code 会话转化为可复用知识的高级学习系统。
v2 的新功能¶
| 功能 | v1 | v2 |
|---|---|---|
| 观察 | Stop 钩子(会话结束) | PreToolUse/PostToolUse(100% 可靠性) |
| 分析 | 主上下文 | 后台智能体(Haiku) |
| 粒度 | 完整技能 | 原子化「Instinct」 |
| 置信度 | 无 | 0.3-0.9 加权 |
| 进化 | 直接变为技能 | Instinct → 聚类 → 技能/命令/智能体 |
| 共享 | 无 | Instinct 的导出/导入 |
Instinct 模型¶
Instinct 是小型已学习行为:
---
id: prefer-functional-style
trigger: "when writing new functions"
confidence: 0.7
domain: "code-style"
source: "session-observation"
---
# 関数型スタイルを優先
## Action
適切な場合はクラスよりも関数型パターンを使用します。
## Evidence
- 関数型パターンの優先が5回観察されました
- ユーザーが2025-01-15にクラスベースのアプローチを関数型に修正しました
属性: - 原子化 — 一个触发器、一个动作 - 置信度加权 — 0.3 = 暂定,0.9 = 几乎确定 - 带领域标签 — code-style、testing、git、debugging、workflow 等 - 基于证据 — 追踪创建它的观察
工作原理¶
セッションアクティビティ
│
│ フックがプロンプト + ツール使用をキャプチャ(100%信頼性)
▼
┌─────────────────────────────────────────┐
│ observations.jsonl │
│ (プロンプト、ツール呼び出し、結果) │
└─────────────────────────────────────────┘
│
│ Observerエージェントが読み取り(バックグラウンド、Haiku)
▼
┌─────────────────────────────────────────┐
│ パターン検出 │
│ • ユーザー修正 → インスティンクト │
│ • エラー解決 → インスティンクト │
│ • 繰り返しワークフロー → インスティンクト │
└─────────────────────────────────────────┘
│
│ 作成/更新
▼
┌─────────────────────────────────────────┐
│ instincts/personal/ │
│ • prefer-functional.md (0.7) │
│ • always-test-first.md (0.9) │
│ • use-zod-validation.md (0.6) │
└─────────────────────────────────────────┘
│
│ /evolveクラスター
▼
┌─────────────────────────────────────────┐
│ evolved/ │
│ • commands/new-feature.md │
│ • skills/testing-workflow.md │
│ • agents/refactor-specialist.md │
└─────────────────────────────────────────┘
快速开始¶
1. 启用观察钩子¶
将以下内容添加到 ~/.claude/settings.json。
如果作为插件安装(推荐):
插件的 `hooks/hooks.json` 会在 Claude Code v2.1+ 中自动加载,因此无需在 `~/.claude/settings.json` 中添加额外的 hook 配置。`observe.sh` 已经在那里注册。
如果之前已将 `observe.sh` 复制到 `~/.claude/settings.json`,请删除重复的 `PreToolUse` / `PostToolUse` 块。重复注册会导致双重执行和 `${CLAUDE_PLUGIN_ROOT}` 解析错误。该变量仅在插件管理的 `hooks/hooks.json` 中才会展开。
如果手动安装到 ~/.claude/skills:
{
"hooks": {
"PreToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
}]
}],
"PostToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
}]
}]
}
}
2. 初始化目录结构¶
Python CLI 会自动创建,但也可以手动创建:
mkdir -p ~/.claude/homunculus/{instincts/{personal,inherited},evolved/{agents,skills,commands}}
touch ~/.claude/homunculus/observations.jsonl
3. 使用 Instinct 命令¶
/instinct-status # 信頼度スコア付きの学習済みインスティンクトを表示
/evolve # 関連するインスティンクトをスキル/コマンドにクラスター化
/instinct-export # 共有のためにインスティンクトをエクスポート
/instinct-import # 他の人からインスティンクトをインポート
命令¶
| 命令 | 说明 |
|---|---|
/instinct-status |
显示所有已学习的 Instinct 及其置信度 |
/evolve |
将相关 Instinct 聚类为技能/命令 |
/instinct-export |
导出 Instinct 以供共享 |
/instinct-import <file> |
从他人处导入 Instinct |
配置¶
编辑 config.json:
{
"version": "2.0",
"observation": {
"enabled": true,
"store_path": "~/.claude/homunculus/observations.jsonl",
"max_file_size_mb": 10,
"archive_after_days": 7
},
"instincts": {
"personal_path": "~/.claude/homunculus/instincts/personal/",
"inherited_path": "~/.claude/homunculus/instincts/inherited/",
"min_confidence": 0.3,
"auto_approve_threshold": 0.7,
"confidence_decay_rate": 0.05
},
"observer": {
"enabled": true,
"model": "haiku",
"run_interval_minutes": 5,
"patterns_to_detect": [
"user_corrections",
"error_resolutions",
"repeated_workflows",
"tool_preferences"
]
},
"evolution": {
"cluster_threshold": 3,
"evolved_path": "~/.claude/homunculus/evolved/"
}
}
文件结构¶
~/.claude/homunculus/
├── identity.json # プロフィール、技術レベル
├── observations.jsonl # 現在のセッション観察
├── observations.archive/ # 処理済み観察
├── instincts/
│ ├── personal/ # 自動学習されたインスティンクト
│ └── inherited/ # 他の人からインポート
└── evolved/
├── agents/ # 生成された専門エージェント
├── skills/ # 生成されたスキル
└── commands/ # 生成されたコマンド
与 Skill Creator 的集成¶
使用 Skill Creator GitHub App 时,会生成两者: - 传统的 SKILL.md 文件(用于向后兼容) - Instinct 集合(用于 v2 学习系统)
来自仓库分析的 Instinct 带有 source: "repo-analysis",并包含源仓库 URL。
置信度评分¶
置信度会随时间演化:
| 分数 | 含义 | 行为 |
|---|---|---|
| 0.3 | 暂定 | 提出建议但不强制 |
| 0.5 | 中等 | 相关时应用 |
| 0.7 | 强 | 应用自动获批 |
| 0.9 | 几乎确定 | 核心行为 |
置信度上升的情况: - 模式被反复观察到 - 用户没有纠正建议的行为 - 来自其他来源的类似 Instinct 相互一致
置信度下降的情况: - 用户明确纠正该行为 - 模式在长时间内未被观察到 - 出现矛盾的证据
为什么使用钩子而非技能进行观察?¶
「v1 依赖技能进行观察。技能是概率性的,基于 Claude 的判断,约有 50-80% 的概率触发。」
钩子以100% 的概率确定性触发。这意味着: - 所有工具调用都会被观察 - 模式不会被遗漏 - 学习是全面的
向后兼容性¶
v2 与 v1 完全兼容:
- 现有的 ~/.claude/skills/learned/ 技能仍然可用
- Stop 钩子仍会运行(但也会提供给 v2)
- 渐进式迁移路径:两者并行运行
隐私¶
- 观察数据保存在机器本地
- 只有 Instinct(模式)可以导出
- 不会共享实际代码或会话内容
- 您可以控制导出的内容
相关链接¶
- Skill Creator - 从仓库历史生成 Instinct
- Homunculus - v2 架构的灵感来源(原子化观察、置信度评分、Instinct 进化流水线)
- The Longform Guide - 持续学习章节
基于 Instinct 的学习:一次一个观察,教会 Claude 你的模式。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC