claude-code/claude-zh/skills/continuous-learning-v2/SKILL.md

293 lines
9.4 KiB
Markdown
Raw Permalink Normal View History

2026-02-27 13:45:37 +00:00
---
name: continuous-learning-v2
description: 基於本能的學習系統,透過鉤子 (Hooks) 觀察會話,建立帶有信心評分的原子級本能,並將其演進為技能、指令或 Agent。
version: 2.0.0
---
# 持續學習 v2 - 基於本能的架構 (Instinct-Based Architecture)
這是一個進階的學習系統,透過原子級的「本能 (Instincts)」——具備信心評分的小型學習行為——將您的 Claude Code 會話轉化為可重用的知識。
## 何時啟用
- 設定從 Claude Code 會話中自動學習。
- 配置透過鉤子進行基於本能的行為萃取。
- 微調已學習行為的信心門檻。
- 審查、匯出或匯入本能庫。
- 將本能演進為完整的技能 (Skills)、指令 (Commands) 或 Agent。
## v2 的新增功能
| 特性 | v1 | v2 |
|---------|----|----|
| 觀察方式 | Stop 鉤子 (會話結束時) | PreToolUse/PostToolUse (100% 可靠) |
| 分析方式 | 主上下文 (Main context) | 背景 Agent (Haiku) |
| 粒度大小 | 完整的技能 (Full skills) | 原子級「本能 (Instincts)」 |
| 信心評分 | 無 | 0.3-0.9 加權評分 |
| 演進路徑 | 直接轉為技能 | 本能 → 聚類 → 技能/指令/Agent |
| 共享機制 | 無 | 匯出/匯入本能 |
## 本能模型 (The Instinct Model)
「本能」是一種小型的學習行為:
```yaml
---
id: prefer-functional-style
trigger: "當撰寫新的函式時"
confidence: 0.7
domain: "code-style"
source: "session-observation"
---
# 偏好函式庫風格 (Prefer Functional Style)
## 動作
在適當的情況下,優先使用函式模式而非類別 (Classes)。
## 證據
- 觀察到 5 次偏好函式模式的情況。
- 使用者於 2025-01-15 將類別方法修正為函式模式。
```
**屬性:**
- **原子級 (Atomic)** — 一個觸發條件,一個動作。
- **信心加權 (Confidence-weighted)** — 0.3 = 暫定0.9 = 幾乎確定。
- **領域標籤 (Domain-tagged)** — code-style, testing, git, debugging, workflow 等。
- **證據支持 (Evidence-backed)** — 追蹤是由哪些觀察所建立的。
## 運作方式
```
會話活動
│ 鉤子擷取提示詞 + 工具使用 (100% 可靠)
┌─────────────────────────────────────────┐
│ observations.jsonl │
│ (提示詞, 工具呼叫, 結果) │
└─────────────────────────────────────────┘
│ 觀察者 Agent 讀取 (背景執行, Haiku)
┌─────────────────────────────────────────┐
│ 模式檢測 (PATTERN DETECTION) │
│ • 使用者修正 → 本能 │
│ • 錯誤解決 → 本能 │
│ • 重複的工作流 → 本能 │
└─────────────────────────────────────────┘
│ 建立/更新
┌─────────────────────────────────────────┐
│ 本能目錄 (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. 啟用觀察鉤子 (Observation Hooks)
將以下內容新增至您的 `~/.claude/settings.json`
**若是以外掛程式安裝** (建議方式)
```json
{
"hooks": {
"PreToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh pre"
}]
}],
"PostToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh post"
}]
}]
}
}
```
**若是手動安裝** 到 `~/.claude/skills`
```json
{
"hooks": {
"PreToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/claude/skills/continuous-learning-v2/hooks/observe.sh pre"
}]
}],
"PostToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/claude/skills/continuous-learning-v2/hooks/observe.sh post"
}]
}]
}
}
```
### 2. 初始化目錄結構
Python CLI 會自動建立這些目錄,但您也可以手動建立:
```bash
mkdir -p ~/claude/homunculus/{instincts/{personal,inherited},evolved/{agents,skills,commands}}
touch ~/claude/homunculus/observations.jsonl
```
### 3. 使用本能指令
```bash
/instinct-status # 顯示已學習的本能及其信心評分
/evolve # 將相關的本能聚類成技能或指令
/instinct-export # 匯出本能以便共享
/instinct-import # 從他人處匯入本能
```
## 指令清單
| 指令 | 描述 |
|---------|-------------|
| `/instinct-status` | 顯示所有已學習的本能與信心分數 |
| `/evolve` | 將相關的本能聚類成技能或指令 |
| `/instinct-export` | 匯入本能以便共享 |
| `/instinct-import <file>` | 從他人處匯入本能 |
## 配置說明
編輯 `config.json`
```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/ # 生成的專家 Agent
├── skills/ # 生成的技能 (Skills)
└── commands/ # 生成的指令 (Commands)
```
## 與 Skill Creator 整合
當您使用 [Skill Creator GitHub App](https://skill-creator.app) 時,它現在會同時完成以下兩項:
- 傳統的 SKILL.md 檔案(為了向下相容)。
- 本能集合 (Instinct collections)(針對 v2 學習系統)。
來自儲存庫分析的本能會標註 `source: "repo-analysis"` 並包含來源儲存庫的 URL。
## 信心評分機制
信心分數隨時間演進:
| 分數 | 意義 | 行為 |
|-------|---------|----------|
| 0.3 | 暫定 (Tentative) | 會建議但不會強制執行 |
| 0.5 | 中度 (Moderate) | 在相關情況下會套用 |
| 0.7 | 強烈 (Strong) | 自動核准並套用 |
| 0.9 | 幾乎確定 | 核心行為 |
**信心增加** 的情況:
- 模式被重複觀察到。
- 使用者未指正建議的行為。
- 來自其他來源的類似本能達成一致。
**信心降低** 的情況:
- 使用者明確指正行為。
- 在長時間內未觀察到該模式。
- 出現相左的證據。
## 為什麼觀察要用「鉤子」而非「技能」?
> 「v1 依賴技能來觀察。技能是機率性的——根據 Claude 的判斷,觸發機率約在 50-80% 之間。」
鉤子則是 **100% 觸發**,具備確定性。這意味著:
- 每次工具呼叫都會被觀察。
- 不會遺漏任何模式。
- 學習是全面的。
## 向下相容性
v2 與 v1 完全相容:
- 現有的 `~/.claude/skills/learned/` 技能仍然有效。
- Stop 鉤子仍會執行(但現在也會作為 v2 的輸入內容)。
- 漸進式遷移路徑:可以讓兩者平行執行。
## 隱私權
- 觀察記錄會 **保留在本機** 電腦上。
- 僅有 **本能** (模式) 可以被匯出。
- 不會共享實際的程式碼或對話內容。
- 您可以控制哪些內容會被匯出。
## 相關資源
- [Skill Creator](https://skill-creator.app) - 從儲存庫歷史中生成本能
- Homunculus - 啟發 v2 基於本能架構的社群專案(原子觀察、信心評分、本能演進流水線)
- [The Longform Guide](https://x.com/affaanmustafa/status/2014040193557471352) - 持續學習章節
---
*基於本能的學習:透過一次又一次的觀察,教會 Claude 您的模式。*