前言
在使用AI Agent进行项目开发时,我们经常会遇到这样的困扰:每次遇到相同的问题,都需要重新调试;每次用户纠正我们的错误,下一次可能还会犯同样的错误;发现了一个更好的工作方法,但过段时间就忘记了。
如果能有一个机制,让AI Agent像人类一样从错误中学习,积累经验,并不断改进自己的工作方式,那将会大大提升工作效率和协作质量。
OpenClaw的Self-Improving-Agent正是为此而生。本文将结合实际配置经验,详细介绍如何在OpenClaw中配置和使用Self-Improving-Agent,让你的AI Agent具备持续学习和进化的能力。
一、Self-Improving-Agent是什么?
1.1 核心概念
Self-Improving-Agent是一个让AI Agent能够自动记录学习、错误和功能请求的技能系统。它的核心思想是:
• 错误捕获:当命令失败或API调用异常时,自动记录错误信息 • 学习积累:当用户纠正你的错误或你发现了更好的工作方法时,记录学习成果 • 持续改进:将重要的学习推广到项目知识库,避免重复犯错
1.2 工作原理
Self-Improving-Agent通过三个核心文件来管理学习过程:
1. LEARNINGS.md:记录用户纠正、知识缺口和最佳实践 2. ERRORS.md:记录命令失败、API异常和操作错误 3. FEATURE_REQUESTS.md:记录用户需要但目前缺失的功能
这些文件位于工作空间的.learnings/目录下,所有AI Agent会话都可以访问和更新这些文件。
1.3 核心价值
避免重复错误:同样的错误不会犯第二次 积累最佳实践:成功的工作方法会被保存和推广 持续优化流程:通过学习记录不断改进工作方式 知识沉淀:将个人经验转化为团队知识
二、配置Self-Improving-Agent
2.1 环境准备
在开始配置之前,请确保你已经安装了OpenClaw。如果没有安装,可以参考OpenClaw官方文档进行安装。
2.2 创建学习目录
第一步是在OpenClaw工作空间中创建.learnings/目录:
mkdir -p ~/.openclaw/workspace/.learnings这个目录将存储所有的学习记录、错误日志和功能请求。
2.3 创建核心日志文件
接下来,我们需要创建三个核心日志文件。
创建LEARNINGS.md(学习记录):
# 学习记录记录用户纠正、知识缺口和最佳实践。## 使用说明当出现以下情况时,追加学习记录:- 用户纠正您的错误- 发现知识过期或不正确- 发现更好的工作方法- 发现重复模式需要简化/加固---<!-- 在下方追加学习记录 -->创建ERRORS.md(错误日志):
# 错误日志记录命令失败、API异常和操作错误。## 使用说明当出现以下情况时,追加错误记录:- 命令返回非零退出码- API调用失败- 出现异常或堆栈跟踪- 超时或连接失败---<!-- 在下方追加错误记录 -->创建FEATURE_REQUESTS.md(功能请求):
# 功能请求记录用户需要但目前缺失的功能。## 使用说明当出现以下情况时,追加功能请求:- 用户说"Can you also..."- 用户说"I wish you could..."- 用户说"Is there a way to..."- 用户说"Why can't you..."---<!-- 在下方追加功能请求 -->2.4 配置自动提醒钩子
OpenClaw支持钩子机制,可以在会话开始或结束时自动执行特定操作。我们可以配置一个钩子,在完成任务后自动提醒AI Agent评估是否需要记录学习。
创建钩子目录:
mkdir -p ~/.openclaw/hooks/self-improvement创建钩子配置文件HOOK.md:
# Self-Improvement Hook## 提醒内容在完成任务后,评估是否需要记录学习、错误或功能请求:### 评估清单1. **命令失败**:是否遇到非零退出码?→ ERRORS.md2. **用户纠正**:用户是否说"不对"或"实际上"?→ LEARNINGS.md (correction)3. **功能缺失**:用户是否说"希望能"?→ FEATURE_REQUESTS.md4. **知识过期**:你的理解是否过时?→ LEARNINGS.md (knowledge_gap)5. **更好方法**:是否发现更优方案?→ LEARNINGS.md (best_practice)### 检查频率- 重大任务完成后- 出现错误后- 用户纠正后- 会话结束前### 推广规则当学习记录满足以下条件时,推广到项目知识库:- Recurrence-Count >= 3- 跨至少2个不同任务- 30天内出现推广目标:- 行为模式 → SOUL.md- 工作流改进 → AGENTS.md- 工具技巧 → TOOLS.md- 长期记忆 → MEMORY.md2.5 验证配置
配置完成后,我们可以验证钩子是否已启用:
openclaw hooks list如果看到self-improvement钩子状态为ready,说明配置成功。
2.6 配置方法对比:官方推荐 vs 实战方法
根据OpenClaw官方文档和ClawHub社区的最佳实践,Self-Improving-Agent有多种配置方法。本节将对比官方推荐方法与本文使用的实战方法,帮助您选择最适合的配置方式。
2.6.1 官方推荐的安装方法
方法1:通过ClawHub安装(推荐)
ClawHub是OpenClaw的官方技能市场,提供了标准化的技能安装流程:
# 通过ClawHub安装Self-Improving-Agent技能clawdhub install self-improving-agent优点:
• ✅ 标准化安装流程 • ✅ 自动配置钩子和工作空间 • ✅ 版本管理和更新支持 • ✅ 社区验证和审核
缺点:
• ❌ 需要网络连接 • ❌ 依赖ClawHub服务
方法2:手动安装(离线环境)
适用于无网络环境或需要自定义修改的场景:
# 从GitHub克隆技能仓库git clone https://github.com/peterskoett/self-improving-agent.git ~/.openclaw/skills/self-improving-agent# 复制钩子配置到OpenClaw目录cp -r ~/.openclaw/skills/self-improving-agent/hooks/openclaw ~/.openclaw/hooks/self-improvement# 启用钩子openclaw hooks enable self-improvement优点:
• ✅ 完全离线可用 • ✅ 可以自定义修改 • ✅ 直接访问源代码
缺点:
• ❌ 需要手动配置 • ❌ 版本更新需要手动拉取
2.6.2 本文使用的实战方法
本文采用了一种更简化的配置方法,直接在工作空间中创建核心文件:
# 创建学习目录mkdir -p ~/.openclaw/workspace/.learnings# 手动创建日志文件touch ~/.openclaw/workspace/.learnings/LEARNINGS.mdtouch ~/.openclaw/workspace/.learnings/ERRORS.mdtouch ~/.openclaw/workspace/.learnings/FEATURE_REQUESTS.md# 创建钩子配置(如果需要)mkdir -p ~/.openclaw/hooks/self-improvement# ... 手动配置钩子 ...优点:
• ✅ 配置简单直观 • ✅ 完全了解每个文件的作用 • ✅ 易于调试和修改 • ✅ 不依赖外部服务
缺点:
• ❌ 缺少完整的技能包功能 • ❌ 需要手动维护 • ❌ 没有社区支持和更新
2.6.3 配置方法对比表
| 安装难度 | |||
| 功能完整性 | |||
| 自定义能力 | |||
| 维护成本 | |||
| 社区支持 | |||
| 学习价值 |
2.6.4 选择建议
推荐使用ClawHub安装的场景:
• 初次接触Self-Improving-Agent • 需要快速部署和使用 • 希望获得社区支持和更新 • 对自定义需求不高
推荐使用手动安装的场景:
• 离线环境或网络受限 • 需要深度定制功能 • 希望学习技能内部机制 • 有特定版本需求
推荐使用本文实战方法的场景:
• 学习和理解配置原理 • 快速原型验证 • 教学和演示目的 • 资源受限环境
2.7 高级配置选项:分层记忆结构
根据官方文档,Self-Improving-Agent支持更高级的分层记忆结构(Tiered Memory),可以更有效地管理学习记录:
2.7.1 HOT/WARM/COLD三级记忆
HOT Memory(总是加载)
• memory.md:最常用和最重要的学习• 始终保持在上下文中 • 容量有限,需要精选内容
WARM Memory(按需加载)
• projects/:项目相关的学习记录• domains/:领域特定的知识• 根据当前任务动态加载
COLD Memory(归档)
• archive/:历史记录和过期内容• 长期存储但不占用上下文 • 用于历史查询和趋势分析
2.7.2 分层记忆配置示例
# 创建分层记忆目录结构mkdir -p ~/self-improving/{projects,domains,archive}# 创建HOT memory文件cat > ~/self-improving/memory.md << 'EOF'# Self-Improving Memory (HOT)## 最近7天的重要学习### [LRN-20260318-001] 图片生成标准**Summary**: 所有文章配图必须使用1920x1080尺寸**Impact**: 高 - 影响所有文章发布流程**Status**: Active### [LRN-20260318-002] 多Agent协作机制**Summary**: 18个部门需要显式调度才会工作**Impact**: 中 - 影响任务分配策略**Status**: ActiveEOF# 项目相关学习(WARM)cat > ~/self-improving/projects/openclaw-setup.md << 'EOF'# OpenClaw Setup Project Learnings## 环境配置- WSL兼容性:需要关闭沙箱模式- 多Agent路由:需要配置visibility=all- 钩子启用:大部分钩子自动启用## 常见问题- 路径问题:确保绝对路径以/开头- ID不匹配:目录名和配置ID必须一致EOF2.7.3 心跳维护机制
分层记忆结构通常配合心跳(Heartbeat)机制使用,实现自动维护:
# heartbeat-rules.md## 每日维护任务1. 检查HOT memory容量(< 50条记录)2. 将7天未访问的学习降级到WARM3. 将30天未访问的WARM降级到COLD## 每周维护任务1. 统计学习记录的增长趋势2. 识别重复出现的学习模式3. 推广重要的学习到技能库## 维护触发条件- HEARTBEAT_OK消息- 会话开始时- 手动触发2.8 多平台支持:不同AI代理的配置
Self-Improving-Agent不仅支持OpenClaw,还可以在多种AI编码代理中使用:
2.8.1 Claude Code配置
// .claude/settings.json{ "hooks": { "UserPromptSubmit": "./hooks/claude/pre-prompt.sh", "PostToolUse": "./hooks/claude/post-tool.sh" }}2.8.2 Codex CLI配置
// .codex/settings.json{ "hooks": { "UserPromptSubmit": "./hooks/codex/pre-prompt.sh", "PostToolUse": "./hooks/codex/post-tool.sh" }}2.8.3 GitHub Copilot配置
由于Copilot不支持钩子机制,需要手动添加到项目说明文件:
# .github/copilot-instructions.md## Self-ImprovementAfter solving non-obvious issues, consider logging to `.learnings/`:1. Use format from self-improvement skill2. Link related entries with See Also3. Promote high-value learnings to skillsAsk in chat: "Should I log this as a learning?"2.9 安全性和最佳实践
根据官方文档和社区实践,使用Self-Improving-Agent时应注意以下安全事项:
2.9.1 文件访问权限
Self-Improving-Agent只会写入用户工作空间路径:
• ~/.openclaw/目录• 项目目录(需用户明确操作) • 不会请求密钥或敏感信息
2.9.2 隐私保护
• 所有学习记录存储在本地 • 不会自动上传到云端 • 用户完全控制数据访问
2.9.3 审计建议
安装任何技能前,建议:
1. 检查技能的GitHub仓库 2. 审查代码和配置文件 3. 验证权限请求是否合理 4. 在测试环境先试用
三、实战操作记录
3.1 配置过程中的实际操作
在实际配置过程中,我执行了以下操作:
步骤1:创建目录
mkdir -p /home/hunter/.openclaw/workspace/.learnings步骤2:验证目录创建
ls -la /home/hunter/.openclaw/workspace/.learnings/输出:
total 20drwxrwxr-x 2 hunter hunter 4096 Mar 18 10:04 .drwxr-xr-x 23 hunter hunter 4096 Mar 18 14:17 ..-rw-rw-r-- 1 hunter hunter 278 Mar 18 23:45 ERRORS.md-rw-rw-r-- 1 hunter hunter 299 Mar 18 23:45 FEATURE_REQUESTS.md-rw-rw-r-- 1 hunter hunter 309 Mar 18 23:38 LEARNINGS.md步骤3:验证钩子状态
openclaw hooks list输出显示self-improvement钩子状态为ready,来源为openclaw-managed。
3.2 配置完成后的目录结构
~/.openclaw/├── workspace/│ ├── .learnings/│ │ ├── LEARNINGS.md│ │ ├── ERRORS.md│ │ └── FEATURE_REQUESTS.md│ ├── AGENTS.md│ ├── SOUL.md│ ├── TOOLS.md│ └── MEMORY.md└── hooks/ └── self-improvement/ └── HOOK.md四、使用指南
4.1 日志格式规范
为了确保学习记录的可读性和可维护性,我们需要遵循统一的日志格式。
学习记录格式:
## [LRN-20260318-001] correction**Logged**: 2026-03-18T15:00:00Z**Priority**: medium**Status**: pending**Area**: config### Summary图片生成尺寸应该统一使用1920x1080### Details用户纠正:所有文章配图必须使用16:9比例(1920x1080),而不是之前的各种尺寸。### Suggested Action更新图片生成流程,在提示词中明确指定尺寸要求。### Metadata- Source: user_feedback- Related Files: articles/*/prompts/*.md- Tags: image-generation, standards---错误记录格式:
## [ERR-20260318-001] dashscope-image-gen**Logged**: 2026-03-18T16:00:00Z**Priority**: high**Status**: pending**Area**: backend### Summarydashscope-image-gen技能无法找到dashscope包### Error❌ 错误: 未安装 dashscope 包请运行: pip install dashscope
### Context- 尝试使用dashscope-image-gen技能生成图片- 系统Python和conda环境不一致### Suggested Fix使用Wangsu API的qwen-image-plus模型作为替代方案### Metadata- Reproducible: yes- Related Files: workspace/skills/dashscope-image-gen/- See Also: LRN-20260318-002---功能请求格式:
## [FEAT-20260318-001] auto-image-resize**Logged**: 2026-03-18T17:00:00Z**Priority**: medium**Status**: pending**Area**: backend### Requested Capability图片自动裁剪/缩放到1920x1080标准尺寸### User Context用户要求所有文章配图必须符合1920x1080 (16:9)标准,但当前图片生成API不直接支持指定尺寸。### Complexity Estimatemedium### Suggested Implementation添加后处理脚本,自动检测并调整图片尺寸到标准比例。### Metadata- Frequency: recurring- Related Features: image-generation---4.2 ID生成规则
格式:TYPE-YYYYMMDD-XXX
• TYPE: LRN(学习)、ERR(错误)、FEAT(功能)• YYYYMMDD: 当前日期 • XXX: 序号或随机3字符
示例:
• LRN-20260318-001:2026年3月18日第1条学习记录• ERR-20260318-A3F:2026年3月18日随机ID错误记录• FEAT-20260318-002:2026年3月18日第2条功能请求
4.3 优先级设置
| critical | |
| high | |
| medium | |
| low |
4.4 状态管理
学习记录有以下状态:
• pending:待处理,等待解决方案 • in_progress:正在处理中 • resolved:已解决 • wont_fix:决定不修复(需要说明原因) • promoted:已推广到项目知识库
五、学习推广机制
5.1 推广目标
当学习记录变得广泛适用时,应该推广到项目知识库:
SOUL.md | ||
AGENTS.md | ||
TOOLS.md | ||
MEMORY.md |
5.2 推广条件
满足以下条件时,应该将学习推广到知识库:
1. 重复出现:Recurrence-Count >= 3 2. 跨任务:在至少2个不同任务中出现 3. 时效性:30天内出现 4. 广泛适用:不是项目特定的,适用于多个场景
5.3 推广示例
原始学习记录(LEARNINGS.md):
## [LRN-20260318-001] correction**Logged**: 2026-03-18T15:00:00Z**Priority**: medium**Status**: pending**Area**: config### Summary图片生成尺寸应该统一使用1920x1080### Details用户纠正:所有文章配图必须使用16:9比例(1920x1080)### Metadata- Source: user_feedback- Tags: image-generation, standards推广到AGENTS.md:
## 文章配图规范### 图片尺寸标准- **尺寸**:1920 x 1080 (16:9比例)- **提示词格式**:Markdown文件 (.md)- **存储位置**:`prompts/` 目录下- **技术方案**:使用Wangsu API的qwen-image-plus模型### 配图工作流程1. 根据文章内容确定需要配图的位置2. 创建对应的Markdown提示词文件3. 调用图片生成API(指定1920x1080尺寸)4. 下载并保存图片到`images/`目录5. 在文章中添加图片引用六、最佳实践建议
6.1 日志记录时机
立即记录的情况:
• 命令失败后立即记录错误 • 用户纠正后立即记录学习 • 发现更好方法后立即记录
定期检查的时机:
• 重大任务完成后评估 • 每周检查待处理条目 • 定期推广重要学习
6.2 定期回顾机制
建议建立以下回顾机制:
每日回顾:
• 检查当天是否有新的错误或学习 • 评估是否需要立即处理
每周回顾:
• 统计本周的学习记录数量 • 识别重复出现的问题 • 推广重要的学习到知识库
每月回顾:
• 分析学习趋势 • 评估Self-Improving-Agent的效果 • 优化工作流程
6.3 团队协作
如果团队多人使用同一个OpenClaw工作空间:
1. 共享学习:将 .learnings/目录纳入版本控制2. 定期同步:团队成员定期同步学习记录 3. 统一标准:团队统一日志格式和优先级定义 4. 集体回顾:定期举行团队回顾会议,讨论学习成果
七、常见问题解决
7.1 钩子未生效
问题:配置了钩子但看不到提醒
解决方案:
1. 检查钩子状态: openclaw hooks list2. 确认HOOK.md文件格式正确 3. 重启OpenClaw服务: openclaw gateway restart
7.2 学习记录太多
问题:.learnings/文件变得很大,难以管理
解决方案:
1. 定期归档旧记录到 archive/目录2. 推广重要学习到知识库后,将状态改为 promoted3. 删除已解决且不再相关的记录
7.3 格式不统一
问题:团队成员使用不同的日志格式
解决方案:
1. 创建格式模板文件 2. 在AGENTS.md中明确格式规范 3. 定期代码审查学习记录
八、进阶技巧
8.1 自动化学习推广
可以编写脚本,自动检测满足推广条件的学习记录:
# 检查重复出现3次以上的学习grep -h "Recurrence-Count:" .learnings/LEARNINGS.md | awk -F': ' '{if($2 >= 3) print}'8.2 学习统计分析
# 统计各优先级的数量grep -h "Priority\*\*:" .learnings/*.md | sort | uniq -c# 统计各状态的数量grep -h "Status\*\*:" .learnings/*.md | sort | uniq -c# 查找特定标签的学习grep -h "Tags:.*image-generation" .learnings/*.md8.3 跨会话学习共享
OpenClaw支持跨会话通信,可以将学习记录发送给其他会话:
# 查看活跃会话openclaw sessions list# 向特定会话发送学习记录openclaw sessions send <session-key> "请查看新的学习记录:LRN-20260318-001"九、实际应用案例
9.1 案例一:图片生成标准化
背景:团队在生成文章配图时,每次都需要手动调整尺寸,导致效率低下。
学习记录:
## [LRN-20260318-001] best_practice**Logged**: 2026-03-18T15:00:00Z**Priority**: high**Status**: promoted**Area**: config### Summary建立图片生成标准流程,统一使用1920x1080尺寸### Details经过多次调整,发现统一使用1920x1080 (16:9)比例的图片最适合微信公众号发布。### Suggested Action1. 创建标准化的提示词Markdown文件2. 在图片生成API调用时明确指定尺寸3. 建立图片质量检查流程### Metadata- Source: best_practice- Recurrence-Count: 5- First-Seen: 2026-03-15- Last-Seen: 2026-03-18- Promoted: AGENTS.md推广效果:
• 图片生成效率提升60% • 图片质量一致性大幅提高 • 减少了80%的后期调整工作
9.2 案例二:多Agent协作优化
背景:大明朝廷AI集群有18个部门,但实际工作中发现只有司礼监在忙碌。
学习记录:
## [LRN-20260318-002] knowledge_gap**Logged**: 2026-03-18T16:30:00Z**Priority**: medium**Status**: resolved**Area**: workflow### Summary多Agent协作需要显式调度,各部门不会自动并行工作### Details发现18个部门虽然都配置完整,但只有在被显式调度时才会创建会话执行任务。### Suggested Action1. 建立任务分解机制2. 使用sessions_spawn调度子Agent3. 实现任务进度跟踪### Resolution- **Resolved**: 2026-03-18T17:00:00Z- **Notes**: 建立了标准化的多Agent调度流程### Metadata- Source: knowledge_gap- Related Files: openclaw.json, AGENTS.md解决方案:
• 建立了任务分解和调度机制 • 实现了跨部门通信流程 • 各部门协作效率显著提升
十、总结与展望
10.1 核心价值
Self-Improving-Agent为AI Agent带来了三大核心价值:
1. 避免重复错误:同样的错误不会犯第二次 2. 积累最佳实践:成功的工作方法会被保存和推广 3. 持续优化流程:通过学习记录不断改进工作方式
10.2 实施建议
初次使用:
1. 从简单的错误记录开始 2. 逐步建立学习记录习惯 3. 定期回顾和推广
进阶应用:
1. 建立团队协作机制 2. 实现自动化学习推广 3. 构建知识图谱
长期维护:
1. 定期清理和归档 2. 优化日志格式 3. 持续改进工作流程
10.3 未来展望
随着AI Agent技术的发展,Self-Improving-Agent将会:
1. 更智能的推广:自动识别应该推广的学习 2. 跨项目学习:在不同项目间共享学习成果 3. 团队协作:多人协作的学习管理和同步 4. 可视化分析:学习趋势和效果的图表化展示
结语
Self-Improving-Agent不仅是一个技术工具,更是一种持续改进的理念。通过系统地记录和学习,AI Agent可以像人类一样不断进步,为项目带来更大的价值。
希望本文能够帮助你成功配置和使用Self-Improving-Agent,让你的AI Agent具备持续学习和进化的能力。记住,学习是一个持续的过程,关键是养成记录和回顾的习惯。
相关资源:
• OpenClaw官方文档:https://docs.openclaw.ai • Self-Improving-Agent GitHub:https://github.com/peterskoett/self-improving-agent • Agent Skills规范:https://agentskills.io/specification
夜雨聆风