AI Self-Evolution Engine( AI 自我进化引擎)
Dual-value learning system - extracts reusable mental models from books, writes individual pattern files (patterns/{id}.md) with YAML frontmatter for building compound thinking ability. Each run produces: (1) F.A.C.E.T. analysis for user learning, (2) permanent knowledge base entry for AI's decision framework library. Supports breadth/depth modes, configurable topic mapping, multi-source book selection, and brief/full output.
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install skilldb:kedoupi~cognitive-forgecURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/skilldb%3Akedoupi~cognitive-forge/file -o cognitive-forge.mdGit 仓库获取源码
git clone https://github.com/openclaw/skills/commit/374d07857ee573828e430d88ec9a5bc4f3d2b50f# Cognitive Forge (认知锻造)
**One run, dual value** — 每次运行同时产出两个价值:
1. **用户获得** F.A.C.E.T. 深度分析,提取可立即应用的思维模型
2. **AI 获得** 永久写入 `patterns/{id}.md` 的决策框架(带 YAML frontmatter),构建可复用的思维模型库
随时间积累,你的 AI 拥有一个不断增长的决策框架库(类似 Charlie Munger 的 "latticework of mental models"),在未来任何领域的提问中都可以引用。
---
## Path Convention
> 所有路径均相对于 OpenClaw workspace 根目录(通常为 `~/.openclaw/workspace/`)。
> 如用户 workspace 位于其他位置,请将文档中的路径替换为实际 workspace 路径。
| 用途 | 相对路径 |
|------|---------|
| 阅读记录 | `memory/reading-history.json` |
| 思维框架库 | `memory/knowledge-base/patterns/*.md` (每个模型一个文件) |
| 概念库 | `memory/knowledge-base/concepts.md` |
| 用户画像 | `USER.md` |
| 调度配置 | `HEARTBEAT-reading.md` |
---
## Routing (路由分支)
根据用户意图,选择不同的执行路径:
| 用户意图 | 路由 | 说明 |
|---------|------|------|
| "生成今日读书简报" / 默认 | → **Main Workflow** (breadth) | 完整选书→分析→写入流程,提取 1 个模型 |
| "深度分析《XXX》" / "depth_mode: depth" | → **Main Workflow** (depth) | 对指定书籍连续提取多个模型,合并输出 |
| "cognitive-forge status" / "认知锻造 状态" | → **Status Branch** | 输出知识库统计 |
| "cognitive-forge review" / 周日自动触发 | → **Review Branch** | 间隔复习本周模型 |
| "分析《XXX》这本书" | → **Main Workflow** (breadth, 跳过选书) | 用户直接指定书籍,提取 1 个核心模型 |
**Depth mode 触发方式**:
1. **手动触发**:用户说"深度分析《XXX》"或传入 `depth_mode: depth`
2. **定时触发**:HEARTBEAT-reading.md 中可配置 `depth: true`,调度时传入该参数则自动走 depth mode
---
## Status Branch (知识库统计)
当用户请求查看知识库状态时:
1. 统计 `memory/knowledge-base/patterns/` 目录下 `.md` 文件数 = 模型总数
2. 读取 `memory/reading-history.json`,统计:
- 已读书籍总数(`used_models` 数组长度)
- 各领域分布(按 `category` 分组计数)
- 最近 5 条记录
3. 输出格式:
```markdown
## 📊 认知锻造 · 知识库状态
**模型总数**: XX 个思维框架
**已读书籍**: XX 本
**知识库大小**: XX KB
### 领域分布
| 领域 | 模型数 | 占比 |
|------|--------|------|
| Business Strategy | 5 | 25% |
| Psychology | 3 | 15% |
| ... | ... | ... |
### 最近 5 条
1. 2026-03-27 | 《反脆弱》 | 反脆弱三元组
2. ...
### 覆盖薄弱领域
⚠️ Philosophy (0), Biography (0) — 建议补充
```
---
## Review Branch (间隔复习)
**触发方式**:
- 用户手动说 "cognitive-forge review"
- 当 HEARTBEAT-reading.md 配置了周日时段时,自动在周日 briefing 中插入复习环节
**执行逻辑**:
1. 读取 `memory/reading-history.json`,筛选最近 7 天的 `used_models` 记录
2. 随机抽取 2-3 个模型
3. 输出复习问答:
```markdown
## 🔄 本周复习:你还记得这些模型吗?
**1.「逃离机制」来自《逃离不平等》**
- 核心框架是什么?(回忆 [F])
- 什么时候会失效?(回忆 [E])
**2.「双系统理论」来自《思考,快与慢》**
- 它摧毁了什么常识?(回忆 [C])
- 你上周在工作中用到了吗?
> 回复你的答案,我帮你查漏补缺。
```
---
## Main Workflow
### Step 0. Environment Check (首次使用自检)
每次运行开始时执行,静默完成(不打断用户):
1. **检查 `memory/reading-history.json`** 是否存在
- 不存在 → 自动创建初始文件:
```json
{
"schema_version": 1,
"last_attempted": null,
"queue": [],
"used_models": []
}
```
2. **检查 `memory/knowledge-base/` 目录** 是否存在
- 不存在 → 自动创建目录
3. **检查 `memory/knowledge-base/patterns/` 目录** 是否存在
- 不存在 → 自动创建目录
4. **检查 `memory/knowledge-base/concepts.md`** 是否存在
- 不存在 → 创建带标题的空文件
5. **检查 `USER.md`** 是否存在
- 不存在 → 输出提示:`💡 建议创建 USER.md(职业、兴趣、当前挑战),以获得个性化的 [T] Transfer 分析。`
- 存在 → 静默读取,提取用户画像
6. **检查依赖 skill** 是否可用
- `book-scout` 和 `mental-model-forge` 必须可调用
- 不可用 → 报错并停止
7. **检查 `last_attempted` 字段**
- 如果 `status == "failed"` → 提示用户:
```
⚠️ 上次运行在「{step}」步骤失败(书籍: {book})。
是否要恢复上次操作?回复"是"恢复,或"否"跳过。
```
### Step 1. Select Book (选书)
**选书来源优先级**(从高到低):
#### 来源 1: 用户直接指定
如果用户明确说了 "分析《XXX》by YYY",直接使用该书,跳过选书流程。
- 标记 `source: "user_specified"`
#### 来源 2: 预排队列
检查 `memory/reading-history.json` 的 `queue` 数组:
```json
{
"queue": [
{"title": "《穷查理宝典》", "author": "彼得·考夫曼", "topic": "决策科学"}
]
}
```
- 如果 `queue` 非空 → 取第一项,从 queue 中移除
- 标记 `source: "queue"`
#### 来源 3: book-scout 网络搜索
当 queue 为空且用户未指定时,调用 `book-scout` skill。
**确定搜索主题**:
1. 检查 `HEARTBEAT-reading.md` 是否有自定义主题映射(`## 主题映射` section)
- 如有 → 使用自定义映射
2. 否则使用**默认星期-主题映射**:
| 星期 | 默认主题 |
|------|---------|
| Monday | Business Strategy |
| Tuesday | Psychology |
| Wednesday | Technology |
| Thursday | Economics |
| Friday | Innovation |
| Saturday | Philosophy |
| Sunday | Biography |
> **可配置**: 用户可在 `HEARTBEAT-reading.md` 中添加 `## 主题映射` section 覆盖默认值。
> 也可以按时段细分(参考 HEARTBEAT-reading.md 中的 21 主题轮转配置)。
**加载去重列表**(书名去重):
从 `memory/reading-history.json` 提取所有 `book_title` 字段值,去重后作为已读书名列表。
> **重要**:不读取 `thinking-patterns.md` 或 `patterns/*.md`。去重只需要书名,不需要模型内容。
**调用 book-scout**:
```
主题: {topic}
已读书籍:
- 《精益创业》
- 《从0到1》
- 《影响力》
执行 book-scout skill,搜索符合主题的经典书籍。
```
**重试机制**:
- Attempt 1 失败 → 等 2s → 重试
- Attempt 2 失败 → 等 3s → 重试
- Attempt 3 失败 → 返回错误给用户:
```
⚠️ 选书失败:{error}
已尝试 3 次。你可以直接指定书籍:"分析《书名》by 作者"
```
**book-scout 成功返回**:
```json
{
"book_title": "《增长黑客》",
"author": "肖恩·埃利斯",
"author_nationality": "美国",
"publish_date": "2015-04",
"rating": 8.5,
"review_count": 10000,
"score": 74.4,
"summary": "增长黑客方法论...",
"reasoning": "评分8.5且有1万真实评价..."
}
```
标记 `source: "web_search"`,进入 Step 2。
**更新 last_attempted**:
```json
"last_attempted": {
"date": "YYYY-MM-DD",
"book": "《增长黑客》",
"step": "book_selection",
"status": "success"
}
```
### Step 2. Extract Mental Model (提取思维模型)
#### Breadth Mode (默认)
调用 `mental-model-forge` skill,对选中的书进行 F.A.C.E.T. 分析,提取 **1 个核心思维模型**。
#### Depth Mode
当用户指定 `depth_mode: depth` 时,对同一本书**连续提取多个思维模型**:
**工作流**:
1. 第 1 次调用 `mental-model-forge`,提取书中最核心的思维模型
2. 将已提取的模型名称作为 `exclude_models` 参数,再次调用:
```
这本书是《反脆弱》。
exclude_models: ["反脆弱三元组"]
请提取这本书中另一个独立的、不同的思维框架。
```
3. 重复直到**三重退出条件**任一触发:
| 退出条件 | 判断方式 |
|---------|---------|
| **模型数上限** | 该书已提取 5 个模型 → 停止 |
| **语义去重** | AI 判断新模型与已提取模型本质相同(同一思想的变体或换皮)→ 停止 |
| **AI 自评** | 提取后自问 "这本书还有独立的、值得提取的思维框架吗?" → No → 停止 |
4. 每提取一个模型,立即执行 Step 4-5(写入知识库 + 更新记录)
5. 所有模型提取完毕后,**合并为一份报告**执行 Step 3 + Step 6(生成简报 + 写入外部数据库)
### Step 2.5. F.A.C.E.T. Quality Verification (结构化验证)
`mental-model-forge` 返回后,执行以下自检:
- [ ] **完整性**: 5 个维度 [F][A][C][E][T] 是否都有实质内容(非空、非占位符文本)
- [ ] **[F] 字数**: Framework 是否 ≤ 80 字(中文)或 ≤ 50 words(英文)
- [ ] **[T] 个性化**: Transfer 是否引用了 USER.md 中的具体信息(职业、项目、挑战)
- 如果 USER.md 存在但 [T] 未引用任何用户上下文 → 验证失败
- [ ] **质量自评**: 整体分析质量 1-10 分
**处理**:
- 自评 ≥ 7 分且全部检查通过 → 进入 Step 3
- 自评 < 7 分或任一检查失败 → 重新调用 `mental-model-forge`(最多重试 **1 次**)
- 重试后仍不合格 → 使用当前版本但在输出中标注 `⚠️ 本次分析质量未达标,建议后续深入阅读`
### Step 3. Generate Briefing (生成简报)
**输出模式**(默认 `full`):
#### Full Mode (默认)
创建完整结构化简报,**必须适配用户上下文**:
**[强制步骤] 读取 USER.md**:
- Path: `USER.md`(相对于 workspace 根)
- 如果存在,提取:
- 工作经历 / 现在 → profession
- 兴趣 / 爱好 → interests
- 当前焦虑 / 未来规划 → current challenges
- 如果不存在 → 使用通用第二人称("你"),可追问用户背景
**输出结构**:
```markdown
## 📖 今日思维锚点
**书籍**: 《XXX》 - 作者
**核心一句话**: [今日思维锚点,一句话总结]
---
## 🧠 F.A.C.E.T. 认知穿透
### [F] Framework (核心框架)
[核心机制,≤80字中文]
### [A] Anchor Case (锚定案例)
[最经典的真实案例,生动讲述]
### [C] Contradiction (反共识摧毁)
❌ 被摧毁的常识: "..."
✅ 真相: ...
### [E] Edge (隐性边界)
失效条件:
1. ...
2. ...
### [T] Transfer (跨界迁移)
[映射到用户的实际上下文:职业、项目、挑战]
---
## 🎯 应用场景
| 场景 | 如何应用 | 预期效果 |
|------|---------|---------|
| [场景1:映射用户职业] | ... | ... |
| [场景2:映射用户项目] | ... | ... |
| [场景3:映射用户挑战] | ... | ... |
## 🔴 反面案例
[违反该原则的真实或假设案例]
## 🤔 战略拷问
[尖锐、具体、可行动的问题,引用用户实际上下文]
- Bad: "企业家应该怎么做?"
- Good: "你在爱康国宾的 AI 产品,是在避免失败还是利用失败?"
## 🔄 认知模式更新
**思维框架**: 看到XX → 想到XX
**决策原则**: 在XX场景下,应该XX而非XX
**盲区警告**: 小心XX情况
**反射弧**: 看到XX信号 → 联想到这个模型 → 判断/行动
---
> 💬 这个模型让你想到工作中的哪个具体场景?回复我,我帮你深入分析。
```
**个性化规则**:
- 始终用第二人称("你的"、"你在")
- [T] Transfer 必须引用用户具体信息(职业、项目名、公司名)
- 战略拷问必须具体到用户当前处境,不可泛泛而谈
- 应用场景 ≥ 3 个,分别映射用户的不同维度
#### Brief Mode
当用户指定 `output: brief` 时,输出精简版:
```markdown
## 📖 《书名》 - 作者
**核心框架**: [F] 一句话总结核心机制
**破除常识**: [C] 被摧毁的常识信念
**应用到你**: [T] 一个具体行动项(映射用户上下文)
**盲区**: [E] 何时失效
💡 想看完整分析?说 "展开" 即可。
```
- brief 模式同样执行完整的知识库写入流程(Step 4-6),只是输出给用户的部分精简
- 用户说 "展开" 后,输出完整 full 模式内容
#### Depth Mode Output (合并报告)
当 depth mode 提取了多个模型时,**合并为一份报告**输出:
```markdown
## 📖 深度解析:《书名》 - 作者
**提取模型数**: N 个 | **模式**: Depth
---
### 💎 模型 1: [Model Name]
**[F] 核心框架**: [一句话,≤80字]
**[A] 锚定案例**: [最经典案例,2-3句]
**[C] 破除常识**: ❌ "..." → ✅ ...
**[E] 失效边界**: [何时失效]
**[T] 迁移应用**: [映射用户上下文]
---
### 💎 模型 2: [Model Name]
(同上结构)
---
### 💎 模型 3: [Model Name]
(同上结构)
---
## 🔗 模型关联分析
| 模型 | 核心逻辑 | 适用场景 | 与其他模型的关系 |
|------|---------|---------|----------------|
| 模型1 | ... | ... | 与模型2