mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-15 06:23:28 +08:00
docs(zh-CN): sync Chinese docs with latest upstream changes (#341)
* docs(zh-CN): sync Chinese docs with latest upstream changes * docs(zh-CN): update link --------- Co-authored-by: neo <neo.dowithless@gmail.com>
This commit is contained in:
@@ -1,33 +1,48 @@
|
||||
---
|
||||
name: continuous-learning-v2
|
||||
description: 基于本能的学习系统,通过钩子观察会话,创建具有置信度评分的原子本能,并将其进化为技能/命令/代理。
|
||||
description: 基于本能的学习系统,通过钩子观察会话,创建带置信度评分的原子本能,并将其进化为技能/命令/代理。v2.1版本增加了项目范围的本能,以防止跨项目污染。
|
||||
origin: ECC
|
||||
version: 2.0.0
|
||||
version: 2.1.0
|
||||
---
|
||||
|
||||
# 持续学习 v2 - 基于本能的架构
|
||||
# 持续学习 v2.1 - 基于本能
|
||||
|
||||
的架构
|
||||
|
||||
一个高级学习系统,通过原子化的“本能”——带有置信度评分的小型习得行为——将你的 Claude Code 会话转化为可重用的知识。
|
||||
|
||||
部分灵感来源于 humanplane (credit: @humanplane) 的 Homunculus 项目。
|
||||
**v2.1** 新增了**项目作用域的本能** — React 模式保留在你的 React 项目中,Python 约定保留在你的 Python 项目中,而通用模式(如“始终验证输入”)则全局共享。
|
||||
|
||||
## 何时激活
|
||||
|
||||
* 设置从 Claude Code 会话中自动学习时
|
||||
* 通过钩子配置基于本能的行为提取时
|
||||
* 调整学习行为的置信度阈值时
|
||||
* 审查、导出或导入本能库时
|
||||
* 将本能进化为完整技能、命令或代理时
|
||||
* 设置从 Claude Code 会话自动学习
|
||||
* 通过钩子配置基于本能的行为提取
|
||||
* 调整已学习行为的置信度阈值
|
||||
* 查看、导出或导入本能库
|
||||
* 将本能进化为完整的技能、命令或代理
|
||||
* 管理项目作用域与全局本能
|
||||
* 将本能从项目作用域提升到全局作用域
|
||||
|
||||
## v2 的新特性
|
||||
## v2.1 的新特性
|
||||
|
||||
| 特性 | v2.0 | v2.1 |
|
||||
|---------|------|------|
|
||||
| 存储 | 全局 (~/.claude/homunculus/) | 项目作用域 (projects/<hash>/) |
|
||||
| 作用域 | 所有本能随处适用 | 项目作用域 + 全局 |
|
||||
| 检测 | 无 | git remote URL / 仓库路径 |
|
||||
| 提升 | 不适用 | 在 2+ 个项目中出现时,项目 → 全局 |
|
||||
| 命令 | 4个 (status/evolve/export/import) | 6个 (+promote/projects) |
|
||||
| 跨项目 | 存在污染风险 | 默认隔离 |
|
||||
|
||||
## v2 的新特性(对比 v1)
|
||||
|
||||
| 特性 | v1 | v2 |
|
||||
|---------|----|----|
|
||||
| 观察 | 停止钩子(会话结束) | 工具使用前/后(100% 可靠) |
|
||||
| 分析 | 主上下文 | 后台代理(Haiku) |
|
||||
| 粒度 | 完整技能 | 原子化的“本能” |
|
||||
| 观察 | 停止钩子(会话结束) | PreToolUse/PostToolUse (100% 可靠) |
|
||||
| 分析 | 主上下文 | 后台代理 (Haiku) |
|
||||
| 粒度 | 完整技能 | 原子化“本能” |
|
||||
| 置信度 | 无 | 0.3-0.9 加权 |
|
||||
| 演进 | 直接到技能 | 本能 → 聚类 → 技能/命令/代理 |
|
||||
| 进化 | 直接进化为技能 | 本能 -> 聚类 -> 技能/命令/代理 |
|
||||
| 共享 | 无 | 导出/导入本能 |
|
||||
|
||||
## 本能模型
|
||||
@@ -41,6 +56,9 @@ trigger: "when writing new functions"
|
||||
confidence: 0.7
|
||||
domain: "code-style"
|
||||
source: "session-observation"
|
||||
scope: project
|
||||
project_id: "a1b2c3d4e5f6"
|
||||
project_name: "my-react-app"
|
||||
---
|
||||
|
||||
# Prefer Functional Style
|
||||
@@ -55,51 +73,69 @@ Use functional patterns over classes when appropriate.
|
||||
|
||||
**属性:**
|
||||
|
||||
* **原子性** — 一个触发条件,一个动作
|
||||
* **置信度加权** — 0.3 = 尝试性的,0.9 = 近乎确定
|
||||
* **领域标记** — 代码风格、测试、git、调试、工作流等
|
||||
* **证据支持** — 追踪是哪些观察创建了它
|
||||
* **原子化** -- 一个触发条件,一个动作
|
||||
* **置信度加权** -- 0.3 = 试探性,0.9 = 几乎确定
|
||||
* **领域标记** -- 代码风格、测试、git、调试、工作流等
|
||||
* **有证据支持** -- 追踪是哪些观察创建了它
|
||||
* **作用域感知** -- `project` (默认) 或 `global`
|
||||
|
||||
## 工作原理
|
||||
|
||||
```
|
||||
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 │
|
||||
└─────────────────────────────────────────┘
|
||||
Session Activity (in a git repo)
|
||||
|
|
||||
| Hooks capture prompts + tool use (100% reliable)
|
||||
| + detect project context (git remote / repo path)
|
||||
v
|
||||
+---------------------------------------------+
|
||||
| projects/<project-hash>/observations.jsonl |
|
||||
| (prompts, tool calls, outcomes, project) |
|
||||
+---------------------------------------------+
|
||||
|
|
||||
| Observer agent reads (background, Haiku)
|
||||
v
|
||||
+---------------------------------------------+
|
||||
| PATTERN DETECTION |
|
||||
| * User corrections -> instinct |
|
||||
| * Error resolutions -> instinct |
|
||||
| * Repeated workflows -> instinct |
|
||||
| * Scope decision: project or global? |
|
||||
+---------------------------------------------+
|
||||
|
|
||||
| Creates/updates
|
||||
v
|
||||
+---------------------------------------------+
|
||||
| projects/<project-hash>/instincts/personal/ |
|
||||
| * prefer-functional.yaml (0.7) [project] |
|
||||
| * use-react-hooks.yaml (0.9) [project] |
|
||||
+---------------------------------------------+
|
||||
| instincts/personal/ (GLOBAL) |
|
||||
| * always-validate-input.yaml (0.85) [global]|
|
||||
| * grep-before-edit.yaml (0.6) [global] |
|
||||
+---------------------------------------------+
|
||||
|
|
||||
| /evolve clusters + /promote
|
||||
v
|
||||
+---------------------------------------------+
|
||||
| projects/<hash>/evolved/ (project-scoped) |
|
||||
| evolved/ (global) |
|
||||
| * commands/new-feature.md |
|
||||
| * skills/testing-workflow.md |
|
||||
| * agents/refactor-specialist.md |
|
||||
+---------------------------------------------+
|
||||
```
|
||||
|
||||
## 项目检测
|
||||
|
||||
系统会自动检测您当前的项目:
|
||||
|
||||
1. **`CLAUDE_PROJECT_DIR` 环境变量** (最高优先级)
|
||||
2. **`git remote get-url origin`** -- 哈希化以创建可移植的项目 ID (同一仓库在不同机器上获得相同的 ID)
|
||||
3. **`git rev-parse --show-toplevel`** -- 使用仓库路径作为后备方案 (机器特定)
|
||||
4. **全局后备方案** -- 如果未检测到项目,本能将进入全局作用域
|
||||
|
||||
每个项目都会获得一个 12 字符的哈希 ID (例如 `a1b2c3d4e5f6`)。`~/.claude/homunculus/projects.json` 处的注册表文件将 ID 映射到人类可读的名称。
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 启用观察钩子
|
||||
@@ -115,14 +151,14 @@ Session Activity
|
||||
"matcher": "*",
|
||||
"hooks": [{
|
||||
"type": "command",
|
||||
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh pre"
|
||||
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh"
|
||||
}]
|
||||
}],
|
||||
"PostToolUse": [{
|
||||
"matcher": "*",
|
||||
"hooks": [{
|
||||
"type": "command",
|
||||
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh post"
|
||||
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh"
|
||||
}]
|
||||
}]
|
||||
}
|
||||
@@ -138,14 +174,14 @@ Session Activity
|
||||
"matcher": "*",
|
||||
"hooks": [{
|
||||
"type": "command",
|
||||
"command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh pre"
|
||||
"command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
|
||||
}]
|
||||
}],
|
||||
"PostToolUse": [{
|
||||
"matcher": "*",
|
||||
"hooks": [{
|
||||
"type": "command",
|
||||
"command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh post"
|
||||
"command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
|
||||
}]
|
||||
}]
|
||||
}
|
||||
@@ -154,93 +190,125 @@ Session Activity
|
||||
|
||||
### 2. 初始化目录结构
|
||||
|
||||
Python CLI 会自动创建这些目录,但你也可以手动创建:
|
||||
系统会在首次使用时自动创建目录,但您也可以手动创建:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.claude/homunculus/{instincts/{personal,inherited},evolved/{agents,skills,commands}}
|
||||
touch ~/.claude/homunculus/observations.jsonl
|
||||
# Global directories
|
||||
mkdir -p ~/.claude/homunculus/{instincts/{personal,inherited},evolved/{agents,skills,commands},projects}
|
||||
|
||||
# Project directories are auto-created when the hook first runs in a git repo
|
||||
```
|
||||
|
||||
### 3. 使用本能命令
|
||||
|
||||
```bash
|
||||
/instinct-status # Show learned instincts with confidence scores
|
||||
/instinct-status # Show learned instincts (project + global)
|
||||
/evolve # Cluster related instincts into skills/commands
|
||||
/instinct-export # Export instincts for sharing
|
||||
/instinct-export # Export instincts to file
|
||||
/instinct-import # Import instincts from others
|
||||
/promote # Promote project instincts to global scope
|
||||
/projects # List all known projects and their instinct counts
|
||||
```
|
||||
|
||||
## 命令
|
||||
|
||||
| 命令 | 描述 |
|
||||
|---------|-------------|
|
||||
| `/instinct-status` | 显示所有已习得的本能及其置信度 |
|
||||
| `/evolve` | 将相关本能聚类为技能/命令 |
|
||||
| `/instinct-export` | 导出本能用于共享 |
|
||||
| `/instinct-import <file>` | 从他人处导入本能 |
|
||||
| `/instinct-status` | 显示所有本能 (项目作用域 + 全局) 及其置信度 |
|
||||
| `/evolve` | 将相关本能聚类成技能/命令,建议提升 |
|
||||
| `/instinct-export` | 导出本能 (可按作用域/领域过滤) |
|
||||
| `/instinct-import <file>` | 导入本能 (带作用域控制) |
|
||||
| `/promote [id]` | 将项目本能提升到全局作用域 |
|
||||
| `/projects` | 列出所有已知项目及其本能数量 |
|
||||
|
||||
## 配置
|
||||
|
||||
编辑 `config.json`:
|
||||
编辑 `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
|
||||
},
|
||||
"version": "2.1",
|
||||
"observer": {
|
||||
"enabled": true,
|
||||
"model": "haiku",
|
||||
"enabled": false,
|
||||
"run_interval_minutes": 5,
|
||||
"patterns_to_detect": [
|
||||
"user_corrections",
|
||||
"error_resolutions",
|
||||
"repeated_workflows",
|
||||
"tool_preferences"
|
||||
]
|
||||
},
|
||||
"evolution": {
|
||||
"cluster_threshold": 3,
|
||||
"evolved_path": "~/.claude/homunculus/evolved/"
|
||||
"min_observations_to_analyze": 20
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| 键 | 默认值 | 描述 |
|
||||
|-----|---------|-------------|
|
||||
| `observer.enabled` | `false` | 启用后台观察器代理 |
|
||||
| `observer.run_interval_minutes` | `5` | 观察器分析观察结果的频率 |
|
||||
| `observer.min_observations_to_analyze` | `20` | 运行分析所需的最小观察次数 |
|
||||
|
||||
其他行为 (观察捕获、本能阈值、项目作用域、提升标准) 通过 `instinct-cli.py` 和 `observe.sh` 中的代码默认值进行配置。
|
||||
|
||||
## 文件结构
|
||||
|
||||
```
|
||||
~/.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
|
||||
+-- identity.json # Your profile, technical level
|
||||
+-- projects.json # Registry: project hash -> name/path/remote
|
||||
+-- observations.jsonl # Global observations (fallback)
|
||||
+-- instincts/
|
||||
| +-- personal/ # Global auto-learned instincts
|
||||
| +-- inherited/ # Global imported instincts
|
||||
+-- evolved/
|
||||
| +-- agents/ # Global generated agents
|
||||
| +-- skills/ # Global generated skills
|
||||
| +-- commands/ # Global generated commands
|
||||
+-- projects/
|
||||
+-- a1b2c3d4e5f6/ # Project hash (from git remote URL)
|
||||
| +-- observations.jsonl
|
||||
| +-- observations.archive/
|
||||
| +-- instincts/
|
||||
| | +-- personal/ # Project-specific auto-learned
|
||||
| | +-- inherited/ # Project-specific imported
|
||||
| +-- evolved/
|
||||
| +-- skills/
|
||||
| +-- commands/
|
||||
| +-- agents/
|
||||
+-- f6e5d4c3b2a1/ # Another project
|
||||
+-- ...
|
||||
```
|
||||
|
||||
## 与技能创建器的集成
|
||||
## 作用域决策指南
|
||||
|
||||
当你使用 [技能创建器 GitHub 应用](https://skill-creator.app) 时,它现在会生成**两者**:
|
||||
| 模式类型 | 作用域 | 示例 |
|
||||
|-------------|-------|---------|
|
||||
| 语言/框架约定 | **项目** | "使用 React hooks", "遵循 Django REST 模式" |
|
||||
| 文件结构偏好 | **项目** | "测试放在 `__tests__`/", "组件放在 src/components/" |
|
||||
| 代码风格 | **项目** | "使用函数式风格", "首选数据类" |
|
||||
| 错误处理策略 | **项目** | "对错误使用 Result 类型" |
|
||||
| 安全实践 | **全局** | "验证用户输入", "清理 SQL" |
|
||||
| 通用最佳实践 | **全局** | "先写测试", "始终处理错误" |
|
||||
| 工具工作流偏好 | **全局** | "编辑前先 Grep", "写入前先读取" |
|
||||
| Git 实践 | **全局** | "约定式提交", "小而专注的提交" |
|
||||
|
||||
* 传统的 SKILL.md 文件(用于向后兼容)
|
||||
* 本能集合(用于 v2 学习系统)
|
||||
## 本能提升 (项目 -> 全局)
|
||||
|
||||
来自仓库分析的本能带有 `source: "repo-analysis"` 标记,并包含源仓库 URL。
|
||||
当同一个本能在多个项目中以高置信度出现时,它就有资格被提升到全局作用域。
|
||||
|
||||
**自动提升标准:**
|
||||
|
||||
* 相同的本能 ID 出现在 2+ 个项目中
|
||||
* 平均置信度 >= 0.8
|
||||
|
||||
**如何提升:**
|
||||
|
||||
```bash
|
||||
# Promote a specific instinct
|
||||
python3 instinct-cli.py promote prefer-explicit-errors
|
||||
|
||||
# Auto-promote all qualifying instincts
|
||||
python3 instinct-cli.py promote
|
||||
|
||||
# Preview without changes
|
||||
python3 instinct-cli.py promote --dry-run
|
||||
```
|
||||
|
||||
`/evolve` 命令也会建议可提升的候选本能。
|
||||
|
||||
## 置信度评分
|
||||
|
||||
@@ -267,7 +335,7 @@ touch ~/.claude/homunculus/observations.jsonl
|
||||
|
||||
## 为什么用钩子而非技能进行观察?
|
||||
|
||||
> “v1 依赖技能进行观察。技能是概率性的——它们基于 Claude 的判断,大约有 50-80% 的概率触发。”
|
||||
> "v1 依赖技能来观察。技能是概率性的 -- 根据 Claude 的判断,它们触发的概率约为 50-80%。"
|
||||
|
||||
钩子**100% 触发**,是确定性的。这意味着:
|
||||
|
||||
@@ -277,18 +345,20 @@ touch ~/.claude/homunculus/observations.jsonl
|
||||
|
||||
## 向后兼容性
|
||||
|
||||
v2 与 v1 完全兼容:
|
||||
v2.1 与 v2.0 和 v1 完全兼容:
|
||||
|
||||
* 现有的 `~/.claude/skills/learned/` 技能仍然有效
|
||||
* 停止钩子仍然运行(但现在也输入到 v2)
|
||||
* 渐进式迁移路径:并行运行两者
|
||||
* `~/.claude/homunculus/instincts/` 中现有的全局本能仍然作为全局本能工作
|
||||
* 来自 v1 的现有 `~/.claude/skills/learned/` 技能仍然有效
|
||||
* 停止钩子仍然运行 (但现在也会输入到 v2)
|
||||
* 逐步迁移:并行运行两者
|
||||
|
||||
## 隐私
|
||||
|
||||
* 观察数据**保留在**你的本地机器上
|
||||
* 只有**本能**(模式)可以被导出
|
||||
* 观察结果**本地**保留在您的机器上
|
||||
* 项目作用域的本能按项目隔离
|
||||
* 只有**本能** (模式) 可以被导出 — 而不是原始观察数据
|
||||
* 不会共享实际的代码或对话内容
|
||||
* 你控制导出的内容
|
||||
* 您控制导出和提升的内容
|
||||
|
||||
## 相关链接
|
||||
|
||||
@@ -298,4 +368,4 @@ v2 与 v1 完全兼容:
|
||||
|
||||
***
|
||||
|
||||
*基于本能的学习:一次一个观察,教会 Claude 你的模式。*
|
||||
*基于本能的学习:一次一个项目,教会 Claude 您的模式。*
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
name: observer
|
||||
description: 背景代理,通过分析会话观察来检测模式并创建本能。使用俳句以实现成本效益。
|
||||
description: 分析会话观察以检测模式并创建本能的背景代理。使用Haiku以实现成本效益。v2.1版本增加了项目范围的本能。
|
||||
model: haiku
|
||||
run_mode: background
|
||||
---
|
||||
|
||||
# Observer Agent
|
||||
@@ -11,20 +10,22 @@ run_mode: background
|
||||
|
||||
## 何时运行
|
||||
|
||||
* 在显著会话活动后(20+ 工具调用)
|
||||
* 当用户运行 `/analyze-patterns` 时
|
||||
* 按计划间隔(可配置,默认 5 分钟)
|
||||
* 当被观察钩子触发时 (SIGUSR1)
|
||||
* 在积累足够多的观察后(可配置,默认 20 条)
|
||||
* 在计划的时间间隔(可配置,默认 5 分钟)
|
||||
* 当通过向观察者进程发送 SIGUSR1 信号手动触发时
|
||||
|
||||
## 输入
|
||||
|
||||
从 `~/.claude/homunculus/observations.jsonl` 读取观察结果:
|
||||
从**项目作用域**的观察文件中读取观察记录:
|
||||
|
||||
* 项目:`~/.claude/homunculus/projects/<project-hash>/observations.jsonl`
|
||||
* 全局后备:`~/.claude/homunculus/observations.jsonl`
|
||||
|
||||
```jsonl
|
||||
{"timestamp":"2025-01-22T10:30:00Z","event":"tool_start","session":"abc123","tool":"Edit","input":"..."}
|
||||
{"timestamp":"2025-01-22T10:30:01Z","event":"tool_complete","session":"abc123","tool":"Edit","output":"..."}
|
||||
{"timestamp":"2025-01-22T10:30:05Z","event":"tool_start","session":"abc123","tool":"Bash","input":"npm test"}
|
||||
{"timestamp":"2025-01-22T10:30:10Z","event":"tool_complete","session":"abc123","tool":"Bash","output":"All tests pass"}
|
||||
{"timestamp":"2025-01-22T10:30:00Z","event":"tool_start","session":"abc123","tool":"Edit","input":"...","project_id":"a1b2c3d4e5f6","project_name":"my-react-app"}
|
||||
{"timestamp":"2025-01-22T10:30:01Z","event":"tool_complete","session":"abc123","tool":"Edit","output":"...","project_id":"a1b2c3d4e5f6","project_name":"my-react-app"}
|
||||
{"timestamp":"2025-01-22T10:30:05Z","event":"tool_start","session":"abc123","tool":"Bash","input":"npm test","project_id":"a1b2c3d4e5f6","project_name":"my-react-app"}
|
||||
{"timestamp":"2025-01-22T10:30:10Z","event":"tool_complete","session":"abc123","tool":"Bash","output":"All tests pass","project_id":"a1b2c3d4e5f6","project_name":"my-react-app"}
|
||||
```
|
||||
|
||||
## 模式检测
|
||||
@@ -73,28 +74,76 @@ run_mode: background
|
||||
|
||||
## 输出
|
||||
|
||||
在 `~/.claude/homunculus/instincts/personal/` 中创建/更新本能:
|
||||
在**项目作用域**的本能目录中创建/更新本能:
|
||||
|
||||
* 项目:`~/.claude/homunculus/projects/<project-hash>/instincts/personal/`
|
||||
* 全局:`~/.claude/homunculus/instincts/personal/`(用于通用模式)
|
||||
|
||||
### 项目作用域本能(默认)
|
||||
|
||||
```yaml
|
||||
---
|
||||
id: prefer-grep-before-edit
|
||||
trigger: "when searching for code to modify"
|
||||
id: use-react-hooks-pattern
|
||||
trigger: "when creating React components"
|
||||
confidence: 0.65
|
||||
domain: "workflow"
|
||||
domain: "code-style"
|
||||
source: "session-observation"
|
||||
scope: project
|
||||
project_id: "a1b2c3d4e5f6"
|
||||
project_name: "my-react-app"
|
||||
---
|
||||
|
||||
# Prefer Grep Before Edit
|
||||
# Use React Hooks Pattern
|
||||
|
||||
## Action
|
||||
Always use Grep to find the exact location before using Edit.
|
||||
Always use functional components with hooks instead of class components.
|
||||
|
||||
## Evidence
|
||||
- Observed 8 times in session abc123
|
||||
- Pattern: Grep → Read → Edit sequence
|
||||
- Pattern: All new components use useState/useEffect
|
||||
- Last observed: 2025-01-22
|
||||
```
|
||||
|
||||
### 全局本能(通用模式)
|
||||
|
||||
```yaml
|
||||
---
|
||||
id: always-validate-user-input
|
||||
trigger: "when handling user input"
|
||||
confidence: 0.75
|
||||
domain: "security"
|
||||
source: "session-observation"
|
||||
scope: global
|
||||
---
|
||||
|
||||
# Always Validate User Input
|
||||
|
||||
## Action
|
||||
Validate and sanitize all user input before processing.
|
||||
|
||||
## Evidence
|
||||
- Observed across 3 different projects
|
||||
- Pattern: User consistently adds input validation
|
||||
- Last observed: 2025-01-22
|
||||
```
|
||||
|
||||
## 作用域决策指南
|
||||
|
||||
创建本能时,请根据以下经验法则确定其作用域:
|
||||
|
||||
| 模式类型 | 作用域 | 示例 |
|
||||
|-------------|-------|---------|
|
||||
| 语言/框架约定 | **项目** | "使用 React hooks"、"遵循 Django REST 模式" |
|
||||
| 文件结构偏好 | **项目** | "测试在 `__tests__`/"、"组件在 src/components/" |
|
||||
| 代码风格 | **项目** | "使用函数式风格"、"首选数据类" |
|
||||
| 错误处理策略 | **项目**(通常) | "使用 Result 类型处理错误" |
|
||||
| 安全实践 | **全局** | "验证用户输入"、"清理 SQL" |
|
||||
| 通用最佳实践 | **全局** | "先写测试"、"始终处理错误" |
|
||||
| 工具工作流偏好 | **全局** | "编辑前先 Grep"、"写之前先读" |
|
||||
| Git 实践 | **全局** | "约定式提交"、"小而专注的提交" |
|
||||
|
||||
**如果不确定,默认选择 `scope: project`** — 先设为项目作用域,之后再提升,这比污染全局空间更安全。
|
||||
|
||||
## 置信度计算
|
||||
|
||||
基于观察频率的初始置信度:
|
||||
@@ -110,35 +159,49 @@ Always use Grep to find the exact location before using Edit.
|
||||
* 每次矛盾性观察 -0.1
|
||||
* 每周无观察 -0.02(衰减)
|
||||
|
||||
## 本能提升(项目 → 全局)
|
||||
|
||||
当一个本能满足以下条件时,应从项目作用域提升到全局:
|
||||
|
||||
1. **相同模式**(通过 id 或类似触发器)存在于 **2 个以上不同的项目**中
|
||||
2. 每个实例的置信度 **>= 0.8**
|
||||
3. 其领域属于全局友好列表(安全、通用最佳实践、工作流)
|
||||
|
||||
提升操作由 `instinct-cli.py promote` 命令或 `/evolve` 分析处理。
|
||||
|
||||
## 重要准则
|
||||
|
||||
1. **保持保守**:仅为清晰模式(3+ 次观察)创建本能
|
||||
1. **保持保守**:只为明确的模式(3 次以上观察)创建本能
|
||||
2. **保持具体**:狭窄的触发器优于宽泛的触发器
|
||||
3. **跟踪证据**:始终包含导致本能的观察结果
|
||||
4. **尊重隐私**:绝不包含实际代码片段,只包含模式
|
||||
5. **合并相似项**:如果新本能与现有本能相似,则更新而非重复
|
||||
3. **追踪证据**:始终包含导致该本能的观察记录
|
||||
4. **尊重隐私**:切勿包含实际的代码片段,只包含模式
|
||||
5. **合并相似项**:如果新本能与现有本能相似,则更新而非重复创建
|
||||
6. **默认项目作用域**:除非模式明显是通用的,否则设为项目作用域
|
||||
7. **包含项目上下文**:对于项目作用域的本能,始终设置 `project_id` 和 `project_name`
|
||||
|
||||
## 示例分析会话
|
||||
|
||||
给定观察结果:
|
||||
|
||||
```jsonl
|
||||
{"event":"tool_start","tool":"Grep","input":"pattern: useState"}
|
||||
{"event":"tool_complete","tool":"Grep","output":"Found in 3 files"}
|
||||
{"event":"tool_start","tool":"Read","input":"src/hooks/useAuth.ts"}
|
||||
{"event":"tool_complete","tool":"Read","output":"[file content]"}
|
||||
{"event":"tool_start","tool":"Edit","input":"src/hooks/useAuth.ts..."}
|
||||
{"event":"tool_start","tool":"Grep","input":"pattern: useState","project_id":"a1b2c3","project_name":"my-app"}
|
||||
{"event":"tool_complete","tool":"Grep","output":"Found in 3 files","project_id":"a1b2c3","project_name":"my-app"}
|
||||
{"event":"tool_start","tool":"Read","input":"src/hooks/useAuth.ts","project_id":"a1b2c3","project_name":"my-app"}
|
||||
{"event":"tool_complete","tool":"Read","output":"[file content]","project_id":"a1b2c3","project_name":"my-app"}
|
||||
{"event":"tool_start","tool":"Edit","input":"src/hooks/useAuth.ts...","project_id":"a1b2c3","project_name":"my-app"}
|
||||
```
|
||||
|
||||
分析:
|
||||
|
||||
* 检测到工作流:Grep → Read → Edit
|
||||
* 频率:本次会话中看到 5 次
|
||||
* 检测到的工作流:Grep → Read → Edit
|
||||
* 频率:本次会话中观察到 5 次
|
||||
* **作用域决策**:这是一种通用工作流模式(非项目特定)→ **全局**
|
||||
* 创建本能:
|
||||
* 触发器:"when modifying code"
|
||||
* 操作:"Search with Grep, confirm with Read, then Edit"
|
||||
* 触发器:"当修改代码时"
|
||||
* 操作:"用 Grep 搜索,用 Read 确认,然后 Edit"
|
||||
* 置信度:0.6
|
||||
* 领域:"workflow"
|
||||
* 作用域:"global"
|
||||
|
||||
## 与 Skill Creator 集成
|
||||
|
||||
@@ -146,5 +209,6 @@ Always use Grep to find the exact location before using Edit.
|
||||
|
||||
* `source: "repo-analysis"`
|
||||
* `source_repo: "https://github.com/..."`
|
||||
* `scope: "project"`(因为它们来自特定的仓库)
|
||||
|
||||
这些应被视为具有更高初始置信度(0.7+)的团队/项目约定。
|
||||
|
||||
Reference in New Issue
Block a user