前言
作为AI Agent开发者,你是否遇到过这样的困扰:OpenClaw在执行复杂任务时,明明踩过的坑、解决过的问题,下次遇到还是要从头试错?API调用失败、参数配置出错、工具适配异常,这些"踩坑→解决"的宝贵经验,往往随着会话结束就彻底消失,既浪费时间,也无法实现Agent的持续优化。
今天给大家推荐一款OpenClaw专属技能------Experience Distiller(经验提炼器),它能自动从会话中捕捉"遇错→自愈→成功"的核心路径,建立可复用的成功经验库,让你的AI Agent越用越聪明,真正实现"吃一堑,长一智"。
一、核心定位:不记失败,只存成功
Experience Distiller的核心逻辑特别简单:过滤失败噪声,只提炼可复用的成功路径。它不是传统的事后复盘工具,而是一套嵌入OpenClaw会话流程的"元认知系统",能在合适的时机自动介入,把Agent的"试错经验"转化为"可复用技能"。
举个通俗的例子:Agent第一次获取A股数据时,试过akshare失败、yfinance限流,最后用tushare成功。Experience Distiller不会记录"akshare为什么失败""yfinance怎么限流",只会精准记录"VPS环境下,用tushare获取A股数据的具体步骤",下次再遇到同类需求,直接复用,跳过所有试错环节。
适用场景(精准匹配OpenClaw常用场景)
-
长期运行的OpenClaw Agent,需要跨会话积累操作经验(比如日常运维、自动化任务);
-
频繁调用外部API、工具的场景(如数据抓取、第三方服务集成),容易因环境差异出问题;
-
团队共享Agent,希望一个人踩过的坑,其他人(或Agent)无需重复踩;
-
追求"零接触运维",让Agent自主优化执行效率,减少人工干预。
二、触发方式:手动+自动,灵活不添负担
Experience Distiller支持两种触发模式,既能手动主动提炼,也能自动后台运行,完全适配不同使用习惯,不会增加额外操作成本。
1. 手动触发(简单直接)
只要在会话中输入关键词,就能立即触发经验提炼,适合任务完成后主动留存经验:
-
中文关键词:总结经验、提炼经验、成功经验、经验库、查一下之前有没有类似经验;
-
英文关键词:experience、记录这次的解决方案。
2. 自动触发(无感高效)
通过OpenClaw的Hook机制,在特定事件发生时自动触发,无需手动干预:
-
session:compact:after:会话压缩完成后,自动注入经验提炼提示(压缩后的会话已过滤冗余,提炼更精准);
-
command:new / command:reset:会话切换、新建会话前,自动检查当前会话是否有可提炼的经验。
触发示例(一看就会)
用户:"总结一下这次会话的成功经验" AI:扫描会话历史,发现在配置数据源时经历了 akshare 失败 → yfinance 限流 → tushare 成功的过程。提炼经验写入 success/data-source-selection-20260411.md,更新索引。
用户:"我要做一个新的数据抓取任务" AI:(自动查询经验库)发现历史经验「A股数据获取:VPS 环境下数据源选型」,直接推荐 tushare 方案,跳过 akshare/yfinance 的试错。
三、工作流程:4步实现经验沉淀与复用
Experience Distiller的工作流程清晰易懂,从触发到复用,全程自动化,核心分为4个步骤,配合流程图更直观:
1. 整体流程可视化

2. 步骤详解(附关键代码/规则)
Step 1:事件触发(Hook监听)
Hook会自动监听3个核心事件,同时过滤子代理会话(避免噪声),关键代码片段如下(可直接参考):
// 会话压缩完成 → 注入提炼提示
if (event.type === 'session' && event.action === 'compact:after') {
event.messages.push(COMPACT_REMINDER);
}
// 会话切换 → 注入提炼提示
if (event.type === 'command' && (event.action === 'new' || event.action === 'reset')) {
event.messages.push(SESSION_END_REMINDER);
}
// 子代理会话不触发,避免噪声
if (sessionKey.includes(':subagent:')) return;
Step 2:识别成功模式(精准过滤)
Agent会自动扫描会话内容(或压缩摘要),识别"遇错自愈"的模式,分为强信号(值得记录)和弱信号(无需记录),具体规则如下:
| 信号强度 | 模式描述 | 示例 |
|---|---|---|
| 强信号 | 方案A失败 → 切换方案B成功 | akshare不可用 → 改用tushare |
| 强信号 | 遇到错误 → 调整配置 → 解决 | Token未加载 → 修改.env配置 → 正常 |
| 强信号 | 工具不可用 → 找到替代方案 | Yahoo Finance限流 → 切换国内数据源 |
| 弱信号 | 一次性环境问题 | 网络抖动导致超时(不值得记录) |
Step 3:生成经验记录(结构化易复用)
每条经验都会生成一个Markdown文件,格式统一、信息完整,既精简又能直接复用,模板如下(可直接复制使用):
# {主题:一句话概括}
- **日期**: YYYY-MM-DD
- **场景**: 遇到什么问题/需求
- **失败尝试**: 哪些方案不行(一句话带过)
- **成功路径**: 最终生效的步骤(详细但精简)
- **关键决策**: 为什么选这个方案
- **复用条件**: 什么情况下可以直接用
Step 4:更新索引(便于检索)
所有经验会同步写入 `success/index.xlsx` 索引文件,记录关键信息,方便后续快速查询、统计复用次数,索引表格格式如下:
| 序号 | 主题 | 场景关键词 | 文件名 | 日期 | 复用次数 | 状态 |
|---|---|---|---|---|---|---|
| 1 | A股数据源选型 | 数据获取, VPS, tushare | data-source-selection-20260411.md | 2026-04-11 | 0 | 活跃 |
| 2 | 技能安装与Hook启用 | skill, hook, 安装 | skill-hook-installation-20260411.md | 2026-04-11 | 0 | 活跃 |
四、配置部署:3步搞定,无需复杂操作
Experience Distiller依赖OpenClaw平台,部署过程简单,无需额外API Key,跟着步骤来就能快速启用。
4.1 环境依赖
-
运行环境:OpenClaw(Linux / macOS);
-
依赖技能:`excel-xlsx`(用于生成和维护索引文件,直接在OpenClaw中安装即可);
-
无其他外部依赖,无需额外配置API Key。
4.2 Hook安装(关键步骤)
技能安装后,需将Hook部署到OpenClaw的managed hooks目录,执行以下命令即可(复制粘贴直接运行):
# 1. 将hook文件复制到managed hooks目录
cp -r skills/experience-distiller/hooks/openclaw/ ~/.openclaw/hooks/experience-distiller/
# 2. 启用hook
openclaw hooks enable experience-distiller
# 3. 验证状态(确认启用成功)
openclaw hooks list
# 成功提示:experience-distiller: ready
⚠️ 注意:Hook必须放在 `~/.openclaw/hooks/` 目录下,放在workspace的hooks目录下默认不会生效。
4.3 目录初始化
首次使用前,需手动创建两个目录(用于存储经验和索引),执行以下命令:
mkdir -p workspace/success/
mkdir -p workspace/import/
- 说明:`index.xlsx` 和 `important-records.xlsx` 会在首次记录经验时自动创建,无需手动新建。
五、实战示例:3个场景,一看就会用
结合OpenClaw常用场景,给大家分享3个实战示例,覆盖自动提炼、经验复用、防御性经验沉淀,直接参考就能落地。
示例1:自动提炼 --- 数据源切换经验
背景
在腾讯云VPS上开发量化交易技能,需要获取A股历史数据,多次尝试不同数据源后成功。
执行过程
-
尝试akshare(东方财富API)→ 连接被拒;
-
尝试yfinance(Yahoo Finance)→ 限流无法使用;
-
切换tushare → 配置token → 数据获取成功;
-
会话压缩触发 → Hook自动注入经验提炼提示;
-
Agent识别到"遇错自愈"模式,自动生成经验记录。
生成的经验记录(可直接复用)
# A股数据获取:VPS 环境下数据源选型
- **日期**: 2026-04-11
- **场景**: 腾讯云 VPS 上需要获取 A 股历史行情数据
- **失败尝试**: akshare(连接被拒)、yfinance(限流)
- **成功路径**:
1. 安装 tushare:`pip install tushare`
2. 注册 tushare.pro 获取免费 token
3. Token 写入 `~/.openclaw/.env`(变量名 TUSHARE_TOKEN)
4. 使用 `tushare.pro_api(token).daily()` 获取日线数据
- **关键决策**: tushare 是国内稳定数据源,对 VPS 友好,无需代理
- **复用条件**: 服务器在国内 + 需要 A 股/港股数据 + 无代理环境
示例2:经验复用 --- 跳过试错,提升效率
背景
一周后,用户要求Agent抓取另一批A股数据,此时经验库已存在相关记录。
执行过程
-
Agent识别到"数据获取"相关任务;
-
自动查询 `success/index.xlsx`,命中「A股数据源选型」经验;
-
直接使用tushare方案,跳过akshare/yfinance的试错环节;
-
任务几秒内完成,原本需要十几分钟的排错过程被完全省略。
示例3:防御性经验 --- 解决上下文爆炸问题
背景
使用skill-blog-writer写技术博客,读取8+个文件后,上下文膨胀至~50K tokens,导致LLM超时被杀。
生成的经验记录(防御性方案,可复用)
# 上下文爆炸与 LLM Idle Timeout 防御
- **日期**: 2026-04-11
- **场景**: 写博客时读取过多文件,thinking 阶段超过 60s 被杀
- **成功路径**:
1. 分段生成:先输出大纲,再逐节填充
2. 精简上下文:只读 SKILL.md + 1-2 关键参考文件
3. 子 agent 委派:主 agent 调研,子 agent 生成
4. 上下文预算:<20K 直接干,20-40K 分段,>40K 委派
- **关键决策**: 分治法是唯一可靠策略
- **复用条件**: 任何需要读取多文件 + 生成长内容的任务
六、注意事项:避坑指南
为了保证经验库的实用性和整洁性,使用过程中需注意以下5点:
-
控制经验粒度:一条经验只解决一个问题,不要把多个不相关的经验塞进同一个文件,避免检索混乱;
-
避免过度记录:一次性环境问题(如网络抖动、临时权限不足)不值得记录,只记录可复用的通用模式;
-
同步更新索引:每次新增经验必须同步更新 `index.xlsx`,否则查询时会遗漏经验;
-
过滤子代理会话:Hook会自动跳过子代理会话(sessionKey包含`:subagent:`),避免生成无效噪声经验;
-
定期清理过期经验:随着环境变化,部分经验可能过期(如某个API恢复可用),定期将其状态标记为"已过期",避免误导Agent。
七、总结:让AI实现自我进化的关键一步
Experience Distiller看似简单,实则解决了AI Agent"不会积累经验"的核心痛点。它不追求记录所有发生过的事,而是精准捕捉"遇到问题→解决问题"的成功路径,让Agent从"每次从零试错"变为"先查经验、再做执行"。
从技术层面看,它巧妙利用了OpenClaw的Hook机制和会话压缩功能,既无需额外开发复杂逻辑,又能实现无感集成;从实用层面看,它能显著提升Agent的执行效率,减少人工干预,尤其适合长期运行、频繁交互的Agent场景。
当经验库积累到一定规模,你会发现:你的OpenClaw Agent不再是"机械执行指令",而是能"自主优化、自我进化"的得力助手------这正是AI Agent的核心价值所在。
相关资源(快速查询)
-
技能目录:`skills/experience-distiller/`
-
经验库存储路径:`success/`
-
依赖技能:`excel-xlsx`(用于索引管理)
-
触发Hook事件:`session:compact:after`、`command:new`、`command:reset`
如果你也在使用OpenClaw开发AI Agent,赶紧试试Experience Distiller,让你的Agent学会"从错误中成长",越用越高效!
技能安装命令
skillhub install openclaw-experience-distiller