--- 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 ` | 從他人處匯入本能 | ## 配置說明 編輯 `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 您的模式。*