293 lines
9.4 KiB
Markdown
293 lines
9.4 KiB
Markdown
---
|
||
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 您的模式。*
|