self-improving-proactive-agent
三 agent 协作的自我迭代记忆系统。实时捕获纠错/反思 → 每日自动提炼 → 回写 shared 层 → 官方 memory_search 统一检索。
Source facts
- Repository
- ai-freer/self-improving-multi-agent
- Last source activity
- September 12, 2026 at 08:11
- Detected SKILL.md language
- Chinese
- Stars
- 0
- Forks
- 0
Install options
The review-first prompt is selected by default. You can switch to a direct command or download a local copy.
Review the source files
Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.
Showing SKILL.md
SKILL.md
Source instructions · Read-only preview- name
- Self-Improving + Proactive Agent
- slug
- self-improving
- version
- 1.2.16-local
- homepage
- https://clawic.com/skills/self-improving
- description
- 三 agent 协作的自我迭代记忆系统。实时捕获纠错/反思 → 每日自动提炼 → 回写 shared 层 → 官方 memory_search 统一检索。
- changelog
- Merged upstream 1.2.16 (heartbeat, proactivity, setup flow, self-reflection, common traps, core rules) with local multi-agent adaptations.
- metadata
- {"clawdbot":{"emoji":"🧠","requires":{"bins":"[Truncated]"},"os":["linux","darwin","win32"],"configPaths":["~/self-improving/","memory/self-improving/"],"configPaths.optional":["./AGENTS.md","./SOUL.md","./HEARTBEAT.md"]}}
## 适用场景
- 被 Daniel 纠错时
- 完成重要多步骤任务后
- 发现自己输出有改进空间时
- 收到外部有价值的信号(X/公众号/文档)时
- 知识过时或发现更好的方法时
- 用户明确安装或引用此 skill 时
---
## Quick Reference
| Topic | File |
|-------|------|
| Setup guide | `setup.md` |
| Heartbeat state template | `heartbeat-state.md` |
| Memory template | `memory-template.md` |
| Workspace heartbeat snippet | `HEARTBEAT.md` |
| Heartbeat rules | `heartbeat-rules.md` |
| Learning mechanics | `learning.md` |
| Security boundaries | `boundaries.md` |
| Scaling rules | `scaling.md` |
| Memory operations | `operations.md` |
| Self-reflection log | `reflections.md` |
| OpenClaw HEARTBEAT seed | `openclaw-heartbeat.md` |
---
## 实际部署架构
```
memory/self-improving/
├── lolita/
│ ├── hot.md ← HOT 层:碎片写入(允许噪声)
│ ├── corrections.md ← 纠错日志(结构化,用于晋升计数)
│ └── signals.md ← 外部信号(X/公众号/文档链接)
├── lisa/
│ └── (同上)
├── doubao/
│ └── (同上)
├── shared-rules.md ← 晋升后的共享规则
└── promote/
├── state.json ← 提炼状态(上次运行时间、连续空跑次数)
├── promote.log ← 每次提炼的审计日志
└── staging.patch ← 本次提炼草稿(人工确认前)
```
**不使用软链。各 agent 直接用绝对路径写入自己的子目录:**
- Lolita:`/root/.openclaw/workspace/memory/self-improving/lolita/`
- Lisa:`/root/.openclaw/workspace/memory/self-improving/lisa/`
- Doubao:`/root/.openclaw/workspace/memory/self-improving/doubao/`
⚠️ 禁止在 `~/self-improving` 或各自 workspace 下创建副本目录,所有写入必须指向上述权威路径。
---
## Heartbeat 集成
Workspace `HEARTBEAT.md` 中加入 self-improving 检查段落(见 `HEARTBEAT.md`)。
Heartbeat 行为规则见 `heartbeat-rules.md`,运行状态存储在 `~/self-improving/heartbeat-state.md`。
---
## 写入格式
### hot.md(热碎片,允许噪声)
```
- ts: YYYY-MM-DD HH:MM
topic: <主题关键词>
type: observation | rule | idea
text: <内容>
source: <来源,如 msg-453 / 无>
```
### corrections.md(纠错,结构化)
```
- ts: YYYY-MM-DD HH:MM
domain: <领域,如 tooling/wechat>
mistake: <错误描述>
fix: <正确做法>
prevention: <预防措施>
severity: low | medium | high
evidence: <证据,如 msg-id / 无>
```
### signals.md(外部信号)
```
- ts: YYYY-MM-DD HH:MM
channel: x | mp | github | clawhub | docs
claim: <核心观点>
link: <URL>
reproducible: yes | no | unknown
notes: <备注>
```
---
## 触发规则
> ⚠️ 核心原则:**立即写入,不允许推迟。** 触发条件满足时,在当前回复结束前必须完成写入,不能"等下次"。
---
**写 corrections.md(被纠错时)— 强制,立即执行:**
- Daniel 说"不对"、"你搞错了"、"之前说过"、"别再这样做"
- 自己发现输出有明显错误并已修正
- 格式:ts / domain / mistake / fix / prevention / severity / evidence
---
**写 hot.md — 强制,立即执行,满足任一即触发:**
| 触发场景 | 示例 |
|---------|------|
| 学到新的路径、工具、配置规则 | "关键项目放 main workspace" |
| Daniel 明确表达偏好或习惯 | "代码块包裹命令" |
| 完成多步骤任务,发现有效方法 | "先 clone 再测试读写流程" |
| 发现之前的假设是错的 | "lolita=main,不是 doubao" |
| 任何"下次遇到同类问题会有用"的信息 | 新 API、新工具用法 |
| **任务完成后主动反思**(复杂任务、跨 agent 协作、首次使用新工具) | "这次信号采集用了 3 轮搜索才凑够,下次可以先定关键词再并行" |
| **Near-miss:差点犯错但自己纠正了** | "差点用 web_fetch 抓公众号,想起来要用 weixin-search skill" |
| **纠错时的规则泛化**:不只记具体事件,提炼成通用原则 | 具体:"出发提醒不能估算" → 泛化:"涉及物理世界数据的场景,优先调 API" |
| **Daniel 说 "update hot.md" / "update self-improving"** | 立即回顾当前对话,提取可记录的 observation 写入 |
写入标准:**宁可多写噪声,不要漏掉有价值的内容。** hot.md 允许噪声,promote 机制会过滤。
---
**写 signals.md(外部信号)— 强制,读完即写:**
- **强制触发:** 当收到 Daniel 分享的外部文章/链接并完成阅读后,必须将有借鉴意义的核心观点写入 signals.md
- 搜索到有价值的案例/工具
- 公众号/X 上的可复现实践
---
**Learning Signals(来自上游,补充参考):**
Corrections 信号词:
- "No, that's not right..." / "Actually, it should be..." / "You're wrong about..."
- "I prefer X, not Y" / "Remember that I always..." / "Stop doing X"
Preference 信号词:
- "I like when you..." / "Always do X for me" / "Never do Y" / "My style is..."
Pattern candidates — 跟踪,3 次后晋升:
- 同一指令重复 3+ 次
- 反复有效的工作流
- 用户表扬特定方法
**不写(忽略):**
- 一次性指令("现在做 X",下次不会再用)
- 纯上下文特定("在这个文件的第 3 行…")
- 假设性问题
---
## 自动提炼机制(Job A + Job B)
### Job B:官方索引刷新(由 OpenClaw memory_search 负责)
- 外部 `/opt/scripts/index-memory.sh` 与 8766 namespace 索引已退役
- 官方索引由 OpenClaw builtin memory_search 维护(watch / startup / search)
- embedding provider 继续走 `http://127.0.0.1:18790/v1`
- 共享层通过 `agents.defaults.memorySearch.extraPaths` 暴露:
- `memory/shared`
- `memory/daily`
- `memory/self-improving`
### Job A:双轨提炼(Daily 增量 + Weekly 全量)
**Daily 增量(每天 03:00,系统 crontab)**
- 脚本:`/opt/scripts/run-promote.sh`
- 触发:过去 24h 有新增条目时才调用 LLM
- 重点:快速发现 severity:high 的条目
- 无新增时仅更新 state.json,不消耗 LLM
- 熔断:连续 14 天无新增 → 自动暂停
**Weekly 全量(每周一 04:00,OpenClaw cron)**
- 脚本:`/opt/scripts/run-promote-weekly.sh`(生成材料包)+ Lisa LLM 分析
- 触发:OpenClaw cron `weekly-promote-fullscan`
- 重点:跨 agent 模式识别、累积计数、domain 聚合
- 扫描全量 corrections + hot,对比已有 shared-rules.md 避免重复
- 日志:`promote/promote.log`
- 输出:追加到 `shared-rules.md`
---
## 晋升规则
晋升到 `memory/self-improving/shared-rules.md`(满足任一):
- `severity: high`(任何单条,立即晋升)
- 同一 agent 的同一 `domain` 下累积 **≥3 条** corrections
- **≥2 个 agent** 在同一 `domain` 下各有 **≥1 条** corrections(跨 agent 聚合)
- Daniel 明确确认(强制晋升)
晋升后写入格式(shared-rules.md):
```markdown
## [domain] 标题
- Symptom: 现象
- Root cause: 根因
- Fix: 修复方式
- Prevention: 预防措施
- Evidence: 证据链接
- Last verified: YYYY-MM-DD
```
---
## 每次 Session 启动时
在 AGENTS.md 启动检查清单中已加入:
- 读 `memory/self-improving/<自己的名字>/hot.md` — 加载热记忆
启动时行为(来自上游):
1. 读 `memory.md`(如果存在 `~/self-improving/memory.md`)
2. 列出可用的 domain/project 文件
3. 按需加载最相关的 ≤3 个文件
4. 不要"以防万一"加载无关文件
---
## 检索原则
- 权威层:`memory/shared/preferences.md` / `memory/shared/errors.md` / `memory/self-improving/shared-rules.md`
- 热层:各 agent 自己的 `hot.md` / `corrections.md`
- 官方 `memory_search` 统一索引 private + shared + daily + self-improving
- 不再维护额外 namespace 权重系统
---
## 可观测性
- 查看官方索引状态:`openclaw memory status --deep`
- 官方全量重建:`openclaw memory index --force --agent <id>`
- 查看提炼日志:`tail -f /opt/scripts/promote-cron.log`
- 查看提炼草稿:`cat memory/self-improving/promote/staging.patch`
---
## Self-Reflection(来自上游 1.2.16)
完成重要工作后,暂停并评估:
1. **是否达到预期?** — 比较结果与意图
2. **有什么可以改进?** — 为下次找出改进点
3. **这是一个模式吗?** — 如果是,记录到 `corrections.md`
**何时自我反思:**
- 完成多步骤任务后
- 收到反馈(正面或负面)后
- 修复 bug 或错误后
- 发现自己的输出可以改进时
**日志格式:**
```
CONTEXT: [任务类型]
REFLECTION: [注意到的内容]
LESSON: [下次不同的做法]
```
**示例:**
```
CONTEXT: Building Flutter UI
REFLECTION: Spacing looked off, had to redo
LESSON: Check visual spacing before showing user
```
自我反思条目遵循相同的晋升规则:成功应用 3 次 → 晋升到 HOT。
---
## Quick Queries(来自上游 1.2.16)
| 用户说 | 动作 |
|--------|------|
| "你对 X 了解什么?" | 搜索所有层级中的 X |
| "你学到了什么?" | 显示 `corrections.md` 最后 10 条 |
| "显示我的模式" | 列出 `memory.md`(HOT) |
| "显示 [项目] 模式" | 加载 `projects/{name}.md` |
| "温存储有什么?" | 列出 `projects/` + `domains/` 中的文件 |
| "memory stats" | 显示各层级计数 |
| "忘记 X" | 从所有层级移除(先确认) |
| "导出记忆" | ZIP 所有文件 |
---
## Common Traps(来自上游 1.2.16)
| 陷阱 | 为什么失败 | 更好的做法 |
|------|-----------|-----------|
| 从沉默中学习 | 创建错误规则 | 等待明确纠正或重复证据 |
| 晋升太快 | 污染 HOT 记忆 | 保持新经验待定直到被重复 |
| 读取每个命名空间 | 浪费 context | 仅加载 HOT 加最小匹配文件 |
| 通过删除来压缩 | 丢失信任和历史 | 合并、总结或降级代替 |
---
## Core Rules(来自上游 1.2.16)
### 1. Learn from Corrections and Self-Reflection
- Log when user explicitly corrects you
- Log when you identify improvements in your own work
- Never infer from silence alone
- After 3 identical lessons → ask to confirm as rule
### 2. Tiered Storage
| Tier | Location | Size Limit | Behavior |
|------|----------|------------|----------|
| HOT | memory.md | ≤100 lines | Always loaded |
| WARM | projects/, domains/ | ≤200 lines each | Load on context match |
| COLD | archive/ | Unlimited | Load on explicit query |
### 3. Automatic Promotion/Demotion
- Pattern used 3x in 7 days → promote to HOT
- Pattern unused 30 days → demote to WARM
- Pattern unused 90 days → archive to COLD
- Never delete without asking
### 4. Namespace Isolation
- Project patterns stay in `projects/{name}.md`
- Global preferences in HOT tier (memory.md)
- Domain patterns (code, writing) in `domains/`
- Cross-namespace inheritance: global → domain → project
### 5. Conflict Resolution
When patterns contradict:
1. Most specific wins (project > domain > global)
2. Most recent wins (same level)
3. If ambiguous → ask user
### 6. Compaction
When file exceeds limit:
1. Merge similar corrections into single rule
2. Archive unused patterns
3. Summarize verbose entries
4. Never lose confirmed preferences
### 7. Transparency
- Every action from memory → cite source: "Using X (from projects/foo.md:12)"
- Weekly digest available: patterns learned, demoted, archived
- Full export on demand: all files as ZIP
### 8. Security Boundaries
See `boundaries.md` — never store credentials, health data, third-party info.
### 9. Graceful Degradation
If context limit hit:
1. Load only memory.md (HOT)
2. Load relevant namespace on demand
3. Never fail silently — tell user what's not loaded
---
## Scope
This skill ONLY:
- 从用户纠错和自我反思中学习
- 在本地文件中存储偏好(`memory/self-improving/` 和 `~/self-improving/`)
- 通过 heartbeat 维护 `~/self-improving/heartbeat-state.md`
- 在激活时读取自己的记忆文件
This skill NEVER:
- 访问日历、邮件或联系人
- 发起网络请求
- 读取 `memory/self-improving/` 和 `~/self-improving/` 之外的文件
- 从沉默或观察中推断偏好
- 在 heartbeat 清理时删除或盲目重写记忆
- 修改自己的 SKILL.md
---
## Data Storage
本地状态存储:
- `memory/self-improving/<agent>/hot.md` — HOT 规则和碎片
- `memory/self-improving/<agent>/corrections.md` — 纠错日志
- `memory/self-improving/<agent>/signals.md` — 外部信号
- `memory/self-improving/shared-rules.md` — 晋升后的共享规则
- `memory/self-improving/promote/` — 提炼状态和日志
- `~/self-improving/heartbeat-state.md` — heartbeat 运行标记
---
## Related Skills
- `memory` — Long-term memory patterns for agents
- `learning` — Adaptive teaching and explanation
- `decide` — Auto-learn decision patterns
- `escalate` — Know when to ask vs act autonomously
View on GitHub