记录学习、错误和纠正,以实现持续改进。使用场景:(1)命令意外失败;(2)用户纠正(‘不,那不对…)
自改进技能是一项面向实际任务的技能,主要用于日志学习和错误来标记下的文件;重要模式被提升到项目内存文件;
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
将所学知识与错误记录到 Markdown 文件中。重要模式将被提升至项目记忆文件。
| 场景 | 操作 |
|---|---|
| 命令/操作失败 | 记录到 .learnings/ERRORS.md |
| 用户纠正你 | 记录到 .learnings/LEARNINGS.md(类别:correction) |
| 用户提出缺失功能需求 | 记录到 .learnings/FEATURE_REQUESTS.md |
| API/外部工具调用失败 | 记录到 .learnings/ERRORS.md |
| 知识已过时 | 记录到 .learnings/LEARNINGS.md(类别:knowledge_gap) |
| 发现更优方法 | 记录到 .learnings/LEARNINGS.md(类别:best_practice) |
| 与已有条目相似 | 使用 **See Also** 建立链接,并提升优先级 |
| 具有广泛适用性的学习项 | 提升至 workspace 文件(见下文) |
当某项学习被证实具有广泛适用性时,应将其提升:
| 学习类型 | 提升至 |
|---|---|
| 行为模式 | SOUL.md |
| 工作流模式 | AGENTS.md |
| 工具陷阱(gotchas) | TOOLS.md |
| 项目事实 | CLAUDE.md 或 workspace prompt 文件 |
## [LRN-YYYYMMDD-XXX] 类别 **Logged**: ISO-8601 时间戳 **Priority**: low | medium | high | critical **Status**: pending | resolved | promoted | in_progress ### Summary 一行简述所学内容 ### Details 完整上下文:发生了什么、哪里出错、正确做法是什么 ### Suggested Action 具体可行的修复或改进方案 ### Metadata - Source: conversation | error | user_feedback - Related Files: path/to/file.ext - Tags: tag1, tag2 - See Also: LRN-YYYYMMDD-XXX(如有关联)
## [ERR-YYYYMMDD-XXX] command_or_tool **Logged**: ISO-8601 时间戳 **Priority**: high **Status**: pending ### Summary 对失败情况的简要描述 ### Error
在此粘贴实际错误输出
### Context - 尝试执行的命令/操作 - 使用的输入或参数 - 环境详情 ### Suggested Fix 若可识别,说明如何解决该问题 ### Metadata - Reproducible: yes | no | unknown - Related Files: path/to/file.ext
## [FEAT-YYYYMMDD-XXX] capability_name **Logged**: ISO-8601 时间戳 **Priority**: medium **Status**: pending ### Requested Capability 用户希望实现的功能 ### User Context 用户为何需要该功能 ### Complexity Estimate simple | medium | complex
TYPE-YYYYMMDD-XXX — 例如 LRN-20250322-001、ERR-20250322-A3F
修复完成后:
resolved 或 promoted### Resolution - **Resolved**: 2025-01-16T09:00:00Z - **Commit/PR**: abc123 或 #42 - **Notes**: 实施的具体内容
何时提升:该学习适用于多个文件、可防止重复出错,或任何协作者都应知晓。
如何提升:提炼为简洁明确的规则,加入对应目标文件,并将原始条目状态设为 promoted。
示例学习项:
项目使用 pnpm workspaces。
npm install因 lock file 为pnpm-lock.yaml而失败。
提升至 CLAUDE.md:
## Build & Dependencies - Package manager: **pnpm** (not npm) — always use `pnpm install`
记录前,请先搜索相关条目:
grep -r "keyword" .learnings/
若存在相似条目:
**See Also**: LRN-... 建立链接Recurrence-Count当某模式满足以下全部条件时,应提升为永久性 prompt 指导:
在不同会话间共享学习成果:
| 工具 | 用途 |
|---|---|
sessions_list |
查看活跃/最近的会话 |
sessions_history(sessionKey, limit) |
读取另一会话的对话记录 |
sessions_send(sessionKey, message) |
向另一会话发送学习项 |
sessions_spawn(task, label, mode) |
启动后台子代理(sub-agent) |
示例:一个会话结束后,将其关键学习项提升至 workspace 文件;
使用 sessions_history 查阅其他会话已发现的内容。
在自然的时间节点检查 .learnings/ 目录:
快速查看状态:
grep -h "Status.*pending" .learnings/*.md | wc -l # 统计 pending 条目数 grep -B3 "Priority.*high" .learnings/*.md | grep "^##" # 列出高优先级条目
一旦察觉以下信号,请立即记录:
| 信号 | → 对应条目 |
|---|---|
| 非零退出码、异常、超时 | ERRORS.md |
| 用户说 “No, that's wrong...”、“Actually...” | LEARNINGS.md(correction) |
| 用户提供你此前未知的信息 | LEARNINGS.md(knowledge_gap) |
| “Can you also...”、“I wish you could...” | FEATURE_REQUESTS.md |
| 任务中途发现更优方法 | LEARNINGS.md(best_practice) |
| 重复犯错(≥2 次) | 提升至 workspace 文件 |
.learnings/ 中See Also 链接机制clawhub install self-improving-agent
手动安装:
git clone https://github.com/pskoett/self-improving-agent.git ~/.openclaw/skills/self-improving-agent
创建日志目录:
mkdir -p ~/.openclaw/workspace/.learnings
完整文档请参阅:
references/openclaw-integration.mdreferences/hooks-setup.mdreferences/examples.mdreferences/skill-extraction.mdreferences/other-agents.md