记录经验、错误与修正,持续改进。触发场景:命令失败 | 操作出错 | 用户纠正(不对、实际上、你错了) | 功能请求(能不能、我希望、有没有办法) | API或工具失败 | 知识过时 | 发现更优做法 | 重复模式 | 非显而易见的问题。执行重大任务前先回顾历史经验。会话开始时回顾,会话结束时总结。
自我改进技能
功能概述
自我改进技能是一项面向实际任务的技能,主要用于将经验与错误记录到 .learnings/ 目录,形成持续改进闭环;高价值经验沉淀到项目记忆;
核心要点
- 安装/配置/Hook/多代理适配 → 见 references/ 目录;
- 命令/操作失败;
- 记录到 ERRORS.md;
使用与执行
用户纠正你;记录到 LEARNINGS.md ,分类 correction;用户提出新需求;记录到 FEATURE_REQUESTS.md;API/外部工具失败。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
结果检查与注意事项
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
自我改进技能
将经验与错误记录到 .learnings/ 目录,形成持续改进闭环。高价值经验沉淀到项目记忆。
安装/配置/Hook/多代理适配 → 见
references/目录
快速参考
| 场景 | 操作 |
|---|---|
| 命令/操作失败 | 记录到 ERRORS.md |
| 用户纠正你 | 记录到 LEARNINGS.md,分类 correction |
| 用户提出新需求 | 记录到 FEATURE_REQUESTS.md |
| API/外部工具失败 | 记录到 ERRORS.md,补充集成细节 |
| 知识已过时 | 记录到 LEARNINGS.md,分类 knowledge_gap |
| 发现更好做法 | 记录到 LEARNINGS.md,分类 best_practice |
| 重复模式(simplify-and-harden) | 记录或更新 LEARNINGS.md,设 Pattern-Key |
| 与已有条目相似 | 用 See Also 关联,必要时提高优先级 |
| 可广泛复用的经验 | 提升到 CLAUDE.md / AGENTS.md |
| 工作流/工具/行为类 | 提升到 AGENTS.md / TOOLS.md / SOUL.md(OpenClaw 工作区) |
所有日志文件位于 .learnings/ 目录(项目级或 ~/.openclaw/workspace/.learnings/)。
会话开始:自动回顾
每次会话开始或执行重大任务前,执行以下回顾流程:
- 检查待处理条目:
grep -c "Status**: pending" .learnings/*.md 2>/dev/null
- 扫描高优先级问题:
grep -B3 "Priority**: high|Priority**: critical" .learnings/*.md | grep "^## ["
- 检查与当前任务相关的历史经验:根据任务涉及的 Area 和关键词搜索
- 加载最近条目(最近 7 天内创建的):快速浏览最新 3-5 条记录
- 输出回顾摘要(内部执行,不打扰用户):待处理数 / 高优数 / 相关经验
如果
.learnings/不存在或为空,跳过回顾,正常工作。
会话结束:经验总结
在会话即将结束时(用户明确结束、任务完成、长时间无新指令),执行:
- 回顾本次会话:检查是否有未记录的错误、纠正或新发现
- 补录遗漏条目:将本次会话中遗漏的经验补充记录
- 更新已解决条目:本次修复的问题,将状态改为
resolved - 输出会话经验摘要(简短告知用户):
- 本次新增条目数 / 关闭条目数
- 建议提升的高价值经验(如有)
- 触发归档检查:如果条目总数超过阈值,执行归档流程
自动合并与归档
触发条件(满足任一即执行)
- 单个文件超过 50 条 pending 条目
- 存在超过 90 天未更新的 pending 条目
- 会话结束总结时检测到条目膨胀
归档流程
- 合并重复条目:相同
Pattern-Key或高度相似 Summary → 合并为一条,累加Recurrence-Count,保留最新Last-Seen,用See Also记录被合并的原始 ID - 归档已关闭条目:
resolved/wont_fix/promoted超过 30 天 → 移动到.learnings/archive/YYYY-MM.md - 清理低价值条目:
low优先级 +pending超过 60 天 → 标记stale;stale超过 30 天 → 归档
检测触发器
观察到以下信号时立即记录:
| 类型 | 信号 | 记录到 |
|---|---|---|
| 纠正 | "不对" "实际上应该" "你这里错了" "已经过时了" | LEARNINGS.md 分类 correction |
| 功能请求 | "你还能不能" "我希望你可以" "有没有办法" "为什么你不能" | FEATURE_REQUESTS.md |
| 知识缺口 | 用户提供你不知道的信息、文档过时、API 行为不一致 | LEARNINGS.md 分类 knowledge_gap |
| 错误 | 非零退出码、异常堆栈、输出异常、超时、连接失败 | ERRORS.md |
| 更优做法 | 发现比当前方案更好的实现 | LEARNINGS.md 分类 best_practice |
记录格式
Learning 条目(追加到 LEARNINGS.md)
## [LRN-YYYYMMDD-XXX] category **Logged**: ISO-8601 timestamp **Priority**: low | medium | high | critical **Status**: pending **Area**: frontend | backend | infra | tests | docs | config ### Summary 一行描述学到了什么 ### Details 完整上下文:发生了什么、哪里错了、正确做法是什么 ### Suggested Action 可执行的修复或改进建议 ### Metadata - Source: conversation | error | user_feedback | simplify-and-harden - Related Files: path/to/file.ext - Tags: tag1, tag2 - See Also: LRN-20250110-001 - Pattern-Key: simplify.dead_code(可选) - Recurrence-Count: 1(可选) - First-Seen / Last-Seen: 2025-01-15(可选) ---
Error 条目(追加到 ERRORS.md)
## [ERR-YYYYMMDD-XXX] skill_or_command_name **Logged**: ISO-8601 timestamp **Priority**: high **Status**: pending **Area**: frontend | backend | infra | tests | docs | config ### Summary 失败情况简述 ### Error 实际错误信息或输出 ### Context - 尝试执行的命令/操作 - 使用的输入或参数 ### Suggested Fix 潜在修复方式 ### Metadata - Reproducible: yes | no | unknown - Related Files: path/to/file.ext - See Also: ERR-20250110-001 ---
Feature Request 条目(追加到 FEATURE_REQUESTS.md)
## [FEAT-YYYYMMDD-XXX] capability_name **Logged**: ISO-8601 timestamp **Priority**: medium **Status**: pending **Area**: frontend | backend | infra | tests | docs | config ### Requested Capability 用户希望实现的能力 ### User Context 用户为什么需要它 ### Complexity Estimate simple | medium | complex ### Suggested Implementation 可行实现思路 ### Metadata - Frequency: first_time | recurring - Related Features: existing_feature_name ---
ID 与状态
ID 格式:TYPE-YYYYMMDD-XXX(TYPE: LRN/ERR/FEAT,XXX: 顺序号或随机 3 位)
状态流转:
pending→in_progress→resolved(附 Resolution 块)pending→wont_fix(附原因)pending/resolved→promoted(已提升到项目记忆)pending→promoted_to_skill(已抽取为独立 skill)pending→stale→ 归档
关闭条目时,在 Metadata 后添加:
### Resolution - **Resolved**: ISO-8601 timestamp - **Commit/PR**: abc123 or #42 - **Notes**: 简述
重复模式检测
记录前先搜索已有条目:
grep -r "关键词" .learnings/- 若已有相似条目:添加
See Also关联,增加Recurrence-Count - 重复 3 次以上 → 提高优先级,考虑系统性修复
- 系统性修复方向:文档缺失 → 提升到 CLAUDE.md;自动化缺失 → 写入 AGENTS.md;架构问题 → 创建技术债任务
Simplify & Harden 吸收
- 从任务摘要读取
simplify_and_harden.learning_loop.candidates - 以
pattern_key去重,搜索LEARNINGS.md - 已存在 → 增加
Recurrence-Count,更新Last-Seen - 不存在 → 新建条目,设
Source: simplify-and-harden
提升到项目记忆
何时提升
- 经验适用于多个文件/功能
- 任何贡献者都应知晓
- 能避免重复犯错
- 重复模式满足:
Recurrence-Count >= 3+ 涉及 2+ 任务 + 30 天窗口内
提升目标
| 经验类型 | 提升到 |
|---|---|
| 项目事实、通用约定 | CLAUDE.md |
| 工作流、自动化规则 | AGENTS.md |
| 行为准则、沟通风格 | SOUL.md(OpenClaw) |
| 工具能力、集成坑点 | TOOLS.md(OpenClaw) |
如何提升
- 提炼为简洁预防规则(编码前/编码中该做什么),而非事故复盘
- 写入目标文件对应章节
- 更新原条目状态为
promoted,添加Promoted: <目标文件>
Skill 抽取
当经验满足以下任一条件时,可抽取为独立 skill:
- 通过
See Also关联到 2+ 相似问题 - 状态为
resolved且修复已验证 - 非项目特定,可跨代码库复用
- 用户明确要求"保存成 skill"
抽取流程与模板 → 见 references/skill-extraction.md
优先级与 Area
| 优先级 | 适用场景 |
|---|---|
critical |
阻塞核心功能、数据丢失风险、安全问题 |
high |
影响显著、常用流程、重复出现 |
medium |
影响中等、有可行绕过方案 |
low |
轻微不便、边缘场景 |
| Area | 范围 |
|---|---|
frontend |
UI、组件、客户端 |
backend |
API、服务端 |
infra |
CI/CD、部署、Docker |
tests |
测试文件、覆盖率 |
docs |
文档、README |
config |
配置、环境、参数 |
最佳实践
- 立即记录 — 问题刚发生时上下文最完整
- 具体明确 — 便于后续代理快速理解
- 包含复现步骤 — 尤其是错误类条目
- 关联相关文件 — 提高修复效率
- 给出可执行建议 — 避免仅写"需要调查"
- 记录前先搜索 — 避免重复,优先关联已有条目
- 积极提升 — 有疑问时优先沉淀到项目记忆
- 定期归档 — 保持日志文件精简高效
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
