mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 13:43:26 +08:00
302 lines
8.9 KiB
Markdown
302 lines
8.9 KiB
Markdown
---
|
||
name: continuous-learning-v2
|
||
description: 基于本能的学习系统,通过钩子观察会话,创建具有置信度评分的原子本能,并将其进化为技能/命令/代理。
|
||
origin: ECC
|
||
version: 2.0.0
|
||
---
|
||
|
||
# 持续学习 v2 - 基于本能的架构
|
||
|
||
一个高级学习系统,通过原子化的“本能”——带有置信度评分的小型习得行为——将你的 Claude Code 会话转化为可重用的知识。
|
||
|
||
部分灵感来源于 humanplane (credit: @humanplane) 的 Homunculus 项目。
|
||
|
||
## 何时激活
|
||
|
||
* 设置从 Claude Code 会话中自动学习时
|
||
* 通过钩子配置基于本能的行为提取时
|
||
* 调整学习行为的置信度阈值时
|
||
* 审查、导出或导入本能库时
|
||
* 将本能进化为完整技能、命令或代理时
|
||
|
||
## v2 的新特性
|
||
|
||
| 特性 | v1 | v2 |
|
||
|---------|----|----|
|
||
| 观察 | 停止钩子(会话结束) | 工具使用前/后(100% 可靠) |
|
||
| 分析 | 主上下文 | 后台代理(Haiku) |
|
||
| 粒度 | 完整技能 | 原子化的“本能” |
|
||
| 置信度 | 无 | 0.3-0.9 加权 |
|
||
| 演进 | 直接到技能 | 本能 → 聚类 → 技能/命令/代理 |
|
||
| 共享 | 无 | 导出/导入本能 |
|
||
|
||
## 本能模型
|
||
|
||
一个本能是一个小型习得行为:
|
||
|
||
```yaml
|
||
---
|
||
id: prefer-functional-style
|
||
trigger: "when writing new functions"
|
||
confidence: 0.7
|
||
domain: "code-style"
|
||
source: "session-observation"
|
||
---
|
||
|
||
# Prefer Functional Style
|
||
|
||
## Action
|
||
Use functional patterns over classes when appropriate.
|
||
|
||
## Evidence
|
||
- Observed 5 instances of functional pattern preference
|
||
- User corrected class-based approach to functional on 2025-01-15
|
||
```
|
||
|
||
**属性:**
|
||
|
||
* **原子性** — 一个触发条件,一个动作
|
||
* **置信度加权** — 0.3 = 尝试性的,0.9 = 近乎确定
|
||
* **领域标记** — 代码风格、测试、git、调试、工作流等
|
||
* **证据支持** — 追踪是哪些观察创建了它
|
||
|
||
## 工作原理
|
||
|
||
```
|
||
Session Activity
|
||
│
|
||
│ Hooks capture prompts + tool use (100% reliable)
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ observations.jsonl │
|
||
│ (prompts, tool calls, outcomes) │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
│ Observer agent reads (background, Haiku)
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ PATTERN DETECTION │
|
||
│ • User corrections → instinct │
|
||
│ • Error resolutions → instinct │
|
||
│ • Repeated workflows → instinct │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
│ Creates/updates
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ instincts/personal/ │
|
||
│ • prefer-functional.md (0.7) │
|
||
│ • always-test-first.md (0.9) │
|
||
│ • use-zod-validation.md (0.6) │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
│ /evolve clusters
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ evolved/ │
|
||
│ • commands/new-feature.md │
|
||
│ • skills/testing-workflow.md │
|
||
│ • agents/refactor-specialist.md │
|
||
└─────────────────────────────────────────┘
|
||
```
|
||
|
||
## 快速开始
|
||
|
||
### 1. 启用观察钩子
|
||
|
||
添加到你的 `~/.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 # Show learned instincts with confidence scores
|
||
/evolve # Cluster related instincts into skills/commands
|
||
/instinct-export # Export instincts for sharing
|
||
/instinct-import # Import instincts from others
|
||
```
|
||
|
||
## 命令
|
||
|
||
| 命令 | 描述 |
|
||
|---------|-------------|
|
||
| `/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 # Your profile, technical level
|
||
├── observations.jsonl # Current session observations
|
||
├── observations.archive/ # Processed observations
|
||
├── instincts/
|
||
│ ├── personal/ # Auto-learned instincts
|
||
│ └── inherited/ # Imported from others
|
||
└── evolved/
|
||
├── agents/ # Generated specialist agents
|
||
├── skills/ # Generated skills
|
||
└── commands/ # Generated commands
|
||
```
|
||
|
||
## 与技能创建器的集成
|
||
|
||
当你使用 [技能创建器 GitHub 应用](https://skill-creator.app) 时,它现在会生成**两者**:
|
||
|
||
* 传统的 SKILL.md 文件(用于向后兼容)
|
||
* 本能集合(用于 v2 学习系统)
|
||
|
||
来自仓库分析的本能带有 `source: "repo-analysis"` 标记,并包含源仓库 URL。
|
||
|
||
## 置信度评分
|
||
|
||
置信度随时间演变:
|
||
|
||
| 分数 | 含义 | 行为 |
|
||
|-------|---------|----------|
|
||
| 0.3 | 尝试性的 | 建议但不强制执行 |
|
||
| 0.5 | 中等的 | 相关时应用 |
|
||
| 0.7 | 强烈的 | 自动批准应用 |
|
||
| 0.9 | 近乎确定的 | 核心行为 |
|
||
|
||
**置信度增加**当:
|
||
|
||
* 模式被反复观察到
|
||
* 用户未纠正建议的行为
|
||
* 来自其他来源的相似本能一致
|
||
|
||
**置信度降低**当:
|
||
|
||
* 用户明确纠正该行为
|
||
* 长时间未观察到该模式
|
||
* 出现矛盾证据
|
||
|
||
## 为什么用钩子而非技能进行观察?
|
||
|
||
> “v1 依赖技能进行观察。技能是概率性的——它们基于 Claude 的判断,大约有 50-80% 的概率触发。”
|
||
|
||
钩子**100% 触发**,是确定性的。这意味着:
|
||
|
||
* 每次工具调用都被观察到
|
||
* 不会错过任何模式
|
||
* 学习是全面的
|
||
|
||
## 向后兼容性
|
||
|
||
v2 与 v1 完全兼容:
|
||
|
||
* 现有的 `~/.claude/skills/learned/` 技能仍然有效
|
||
* 停止钩子仍然运行(但现在也输入到 v2)
|
||
* 渐进式迁移路径:并行运行两者
|
||
|
||
## 隐私
|
||
|
||
* 观察数据**保留在**你的本地机器上
|
||
* 只有**本能**(模式)可以被导出
|
||
* 不会共享实际的代码或对话内容
|
||
* 你控制导出的内容
|
||
|
||
## 相关链接
|
||
|
||
* [技能创建器](https://skill-creator.app) - 从仓库历史生成本能
|
||
* Homunculus - 启发了 v2 基于本能的架构的社区项目(原子观察、置信度评分、本能进化管道)
|
||
* [长篇指南](https://x.com/affaanmustafa/status/2014040193557471352) - 持续学习部分
|
||
|
||
***
|
||
|
||
*基于本能的学习:一次一个观察,教会 Claude 你的模式。*
|