Skip to main content

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