Install
openclaw skills install @thcjp/evolution-engine面向 AI Agent 的自我进化引擎,直击"重复犯错、从沉默误学、记忆压缩丢失、进化无法衡量"四大痛点。 通过自反思机制、纠错学习、模式晋升机制,让 Agent 从每次交互中积累可复用经验,而非每次会话从零开始。 核心差异化:反污染防线(3 次确认加不从沉默推断)避免误学、压缩合并而非删除保留确认偏好、 进化指标让"是否变好"可量化、命名空间隔离避免跨项目污染、心跳自动维护。 分层记忆架构(热层≤100 行始终加载、温层≤200 行按需加载、冷层归档、纠错层最近 50 条)降低 token 消耗。 适用于 AI 编程助手避免重复犯错、长期项目经验沉淀、多项目模式复用、需要可衡量进化的团队。 不适用于需要 100% 确定性的关键决策场景。
openclaw skills install @thcjp/evolution-engine让 Agent 越用越好,而非每次从零开始。 直击四大自我进化顽疾:重复犯错、从沉默误学、记忆压缩丢失、进化无法衡量。通过自反思、纠错学习、反污染防线,让每次交互都积累可复用经验。
纠错学习机制:用户明确纠正时记录到 corrections.md,评估是否晋升 memory.md。参数:纠错信号(直接否定"不对,那不是..."、修正"其实应该是..."、指出错误"你错了关于..."、偏好表达"我喜欢 X 不是 Y"、提醒曾告知"我记得告诉过你..."、要求停止"别再做 X"、质疑重复"你为什么一直...")。输出:带"待观察"标记的纠错记录,召回时优先注入。最近 50 条纠错始终可查。
反污染防线(3 次确认晋升):三级防线避免误学虚假规则。参数:第 1 级沉默不记录(永不从沉默推断"做对了")、第 2 级单次纠错不晋升(避免单点误判成永久规则)、第 3 级 3 次一致才确认(7 天内同类信号 3 次才晋升热层)。输出:晋升流程为"纠错→待观察→模式候选(第 2 次)→询问用户确认(第 3 次)→晋升 memory.md 或归档 archive/"。用户否认则归档标记"误判"。
自反思机制:完成重要工作后暂停评估,将反思转化为行动。参数:反思三问(是否达到预期、哪里可以更好、这是模式吗)。输出:反思日志格式"情境:[任务类型] / 反思:[我注意到了什么] / 经验:[下次如何不同]"。触发时机:完成多步任务后、收到反馈后(正/负)、修复 bug 后、发现输出可改进时。反思写入 corrections.md,第 2 次类似纠错时追踪模式。
进化指标度量:让"Agent 是否变好了"可量化。参数:5 项核心指标。输出:metrics.md 统计报告。指标包括:纠错频率(每周被纠正次数,健康趋势下降)、晋升率(模式成功晋升数/候选数,健康趋势稳定)、复用率(热层规则被引用次数,健康趋势上升)、重复犯错率(同类错误再次发生比例,健康趋势下降)、反思转化率(反思→实际行动的比例,健康趋势上升)。每周自动生成趋势分析与待改进建议。
分层记忆与命名空间隔离:分层存储降低 token 消耗,命名空间隔离避免跨项目污染。参数:热层 memory.md(≤100 行,始终加载,确认规则与核心偏好)、温层 projects/ domains/(≤200 行/文件,按项目/领域匹配加载)、冷层 archive/(无限制,显式查询加载)、纠错 corrections.md(最近 50 条,回顾时加载)。命名空间三级:全局偏好→memory.md、领域模式→domains/{code,writing,comms}.md、项目模式→projects/{name}.md。跨命名空间继承:全局→领域→项目。
压缩不删除策略:文件超限时合并而非删除,保留确认偏好。参数:压缩步骤(合并相似纠错为单条规则、归档未用模式到 archive/、摘要冗长条目、永不丢失已确认偏好、保留 corrections.md 最近 50 条)。输出:精简的热层与完整归档的冷层。压缩操作包括合并(相似条目合并为一条,保留规则内容)、摘要(冗长描述精简,保留核心经验)、归档(未用模式移入冷层,保留完整记录)、删除(仅用户明确要求时执行)。
自动晋升降级与冲突解决:模式按使用频率自动调整层级。参数:晋升(模式 7 天内用 3 次→提升到热层)、降级(模式 30 天未用→降到温层)、归档(模式 90 天未用→移入冷层)、删除(永不自动删除,仅用户明确要求)。输出:自动维护的记忆层级。冲突解决规则:最具体优先(项目>领域>全局)、最近优先(同级)、歧义时问用户。
透明度与安全边界:每次基于记忆的行动引用来源,安全边界明确。参数:来源引用格式"使用 X(来自 projects/foo.md:12)"。输出:每周摘要(学到的模式、降级、归档)与按需导出(所有文件 ZIP)。安全边界:永不存储凭证、健康数据、第三方信息;永不从沉默推断偏好;永不自动删除记忆(仅降级/归档)。
执行纠错学习机制操作,处理用户输入并返回结果。
输入: 用户提供纠错学习机制所需的参数和指令。
输出: 返回纠错学习机制的处理结果。
纠错学习机制操作,处理输入数据并返回结果纠错学习机制相关配置参数进行设置执行反污染防线(3 次确认晋升)操作,处理用户输入并返回结果。
输入: 用户提供反污染防线(3 次确认晋升)所需的参数和指令。
输出: 返回反污染防线(3 次确认晋升)的处理结果。
反污染防线(3 次确认晋升)操作,处理输入数据并返回结果反污染防线(3 次确认晋升)相关配置参数进行设置执行自反思机制操作,处理用户输入并返回结果。
输入: 用户提供自反思机制所需的参数和指令。
输出: 返回自反思机制的处理结果。
自反思机制操作,处理输入数据并返回结果自反思机制相关配置参数进行设置| 组件 | 说明 | 关键参数 |
|---|---|---|
parser | 解析输入指令 | format, encoding |
processor | 执行核心处理逻辑 | mode, timeout |
output | 格式化输出结果 | format, encoding |
本skill还覆盖以下能力场景: 自我进化引擎、反思纠错加反污染、防线与压缩不删、避免重复犯错与误、的自我进化引擎、从沉默误学、记忆压缩丢失、进化无法衡量、四大痛点、通过自反思机制、模式晋升机制、从每次交互中积累、可复用经验、而非每次会话从零、核心差异化、次确认加不从沉默、压缩合并而非删除、进化指标让、心跳自动维护、分层记忆架构、行始终加载、行按需加载、冷层归档、纠错层最近、适用于、编程助手避免重复、长期项目经验沉淀、多项目模式复用、需要可衡量进化的、不适用于需要、确定性的关键决策。这些能力在上述核心功能中均有对应处理逻辑。
第一步:初始化记忆架构。在 ~/evolution-engine/ 创建分层目录结构:memory.md(热层,≤100 行)、index.md(主题索引含行数)、heartbeat-state.md(心跳状态)、metrics.md(进化指标)、projects/(按项目隔离)、domains/(按领域隔离:code.md/writing.md/comms.md)、archive/(冷层)、corrections.md(最近 50 条纠错)。
第二步:识别学习信号。区分四类信号:纠错信号(直接否定、修正、指出错误等→写入 corrections.md 标记"待观察")、偏好信号(喜欢、总是要求、永不要求、风格声明、项目特定→显式时写入 memory.md)、模式候选(相同指令重复 3+ 次、工作流反复有效、用户赞扬特定方法→追踪观察)、忽略信号(一次性指令、上下文特定、假设性、沉默、第三方偏好→不记录)。
第三步:执行反污染防线。用户纠正时写入 corrections.md 标记"待观察";同类信号第 2 次标记"模式候选";同类信号第 3 次(7 天内)询问用户确认;用户确认则晋升 memory.md 标记"已确认",用户否认则归档 archive/ 标记"误判"。永不从沉默推断偏好,单次纠错不晋升热层。
第四步:自反思与指标追踪。完成重要工作后执行反思三问(是否达到预期、哪里可以更好、这是模式吗),写入 corrections.md。每周更新 metrics.md:记录纠错次数、晋升成功数、重复犯错次数、热层规则引用次数、反思转化率,生成趋势分析与待改进建议。
第五步:定期维护与压缩。执行分层加载策略(热层始终加载+温层按需匹配+冷层显式查询)。文件超限时执行压缩:合并相似纠错、归档未用模式、摘要冗长条目、保留确认偏好。模式 7 天用 3 次晋升热层,30 天未用降级温层,90 天未用归档冷层。永不自动删除。
结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,参考错误处理章节获取恢复步骤。
| 错误类型 | 原因 | 处理方式 |
|---|---|---|
| 重复犯同类错误 | corrections.md 无记录或召回时未注入纠错教训 | 确认纠错已写入 corrections.md;检查召回流程是否优先注入纠错记录;验证 corrections.md 未超过 50 条限制导致旧记录被挤出的情况 |
| 误学虚假规则入热层 | 未走 3 次确认流程,单次纠错直接晋升 memory.md | 检查 memory.md 中该规则来源是否标记"已确认";若为误判执行降级到 archive/ 标记"误判";强化 3 次确认流程 |
| 热层膨胀超 100 行 | 晋升频率过高,未执行压缩 | 执行压缩:合并相似规则、归档未用模式到 archive/、摘要冗长条目;提高晋升门槛(如 7 天内 3 次改为 5 次) |
| 跨项目偏好污染 | 项目 A 的模式错误晋升到全局 memory.md | 检查命名空间隔离是否生效;确认项目模式写入 projects/{name}.md 而非 memory.md;将误晋升的规则降级回 projects/ |
| 进化指标不改善 | 反思未落地为行动,反思转化率低 | 检查反思是否写入 corrections.md;确保反思后立即记录经验;追踪反思转化率指标,低于 60% 时强化反思→记录闭环 |
| 沉默被误推断为偏好 | 违反反污染防线第 1 级规则 | 立即删除从沉默推断的记录;确认反污染防线规则在 Agent 指令中明确;永不从"用户没纠正"推断"做对了" |
| 压缩时丢失确认偏好 | 压缩策略执行了删除而非合并/归档 | 检查 archive/ 是否有完整备份;恢复误删的确认偏好;强化"压缩不删除"规则,仅合并/摘要/归档 |
| 上下文超限加载失败 | 加载了所有命名空间而非分层按需加载 | 仅加载 memory.md 热层+最小匹配的 projects/ 或 domains/ 文件;告知用户未加载内容;执行归档清理旧记录 |
输入:
会话 A:
代理生成代码未加类型注解
用户纠正:"加上类型注解,我们用 TypeScript 严格模式"
执行与输出:
→ 写入 corrections.md:
ID: corr_001
信号类型:直接纠正
内容:TypeScript 项目必须加类型注解
标记:待观察
时间:2026-07-15
会话 B(3 天后):
又生成无类型注解代码
用户再次纠正:"我说过要加类型注解"
→ 第 2 次信号,标记"模式候选"
→ corrections.md 更新 corr_001 标记为"模式候选"
会话 C(5 天后):
生成代码加了类型注解
用户未纠正(沉默不记录)
但代理主动检查发现:同类项目都应加
→ 第 3 次确认(7 天内),询问用户:
"是否所有 TypeScript 项目都要求类型注解?"
→ 用户确认"是的"
→ 晋升到 memory.md(标记"已确认"):
规则:TypeScript 项目必须加类型注解
来源:corrections.md corr_001,3 次确认
晋升时间:2026-07-20
会话 D(新项目):
代理在 TypeScript 项目中自动加类型注解
→ 引用来源:"使用 TypeScript 类型注解规则(来自 memory.md:8)"
→ 复用率+1
输入:
memory.md 超过 100 行限制(当前 115 行)
检查发现 3 条类似规则:
- "用户喜欢简洁代码"(line 12)
- "用户偏好短函数"(line 45)
- "用户要删除冗余注释"(line 78)
压缩执行与输出:
压缩步骤:
1. 识别相似条目:3 条均为代码风格偏好
2. 合并为一条:
"用户偏好简洁代码风格:短函数、无冗余注释、避免过度抽象"
→ 写入 memory.md(替换原 3 条,占 1 行)
3. 原始 3 条归档到 archive/:
archive/compression-20260720.md:
- [原] 用户喜欢简洁代码(来源 memory.md:12,归档时间 2026-07-20)
- [原] 用户偏好短函数(来源 memory.md:45,归档时间 2026-07-20)
- [原] 用户要删除冗余注释(来源 memory.md:78,归档时间 2026-07-20)
4. memory.md 行数从 115 降至 113(减少 2 行)
结果:
- 热层精简,token 消耗降低
- 偏好未丢失(合并后保留所有核心信息)
- 历史可追溯(archive/ 保留完整原始记录)
- 已确认偏好永不删除
Q1:3 次确认会不会太慢影响效率? 不会。大多数纠错是即时记录到 corrections.md,立即可查可用。仅晋升到热层 memory.md 需 3 次一致确认,这是为了防止单点误判污染核心规则。纠错记录在 corrections.md 中即可被召回注入,不依赖晋升。
Q2:沉默真的完全不记录任何信息吗? 是的。用户没纠正可能是没注意、懒得说、或确实满意——无法区分。从沉默推断会制造虚假规则,风险大于收益。反污染防线第 1 级明确:永不从沉默推断"做对了"。只有用户明确表达(纠正、偏好、赞扬)才记录。
Q3:压缩后还能找回原始记录吗? 能。原始条目归档到 archive/ 目录,完整保留。热层 memory.md 是精简版(合并/摘要后),冷层 archive/ 是完整历史。通过 archive/ 可追溯任何规则的原始来源与演变过程。压缩永不删除,仅合并/摘要/归档。
Q4:进化指标怎么用?有什么实际价值? 每周查看 metrics.md。纠错频率下降说明学习有效;重复犯错率下降说明经验沉淀生效;复用率上升说明热层规则有价值;反思转化率反映反思落地程度。若指标不改善,说明反思未落地或召回未注入,需检查反思→corrections.md→召回闭环。指标让"Agent 是否变好"从主观感受变为客观数据。
Q5:能和其他记忆系统共用吗? 能。本系统专注"从纠错学习与经验沉淀",可与长期记忆系统互补。建议进化引擎管"经验/教训/模式"(corrections.md + memory.md 规则),长期记忆系统管"事实/偏好/决策"(MEMORY.md + 向量搜索)。两者通过文件系统共存,互不干扰。
Q6:命名空间隔离具体怎么工作? 三级命名空间:全局偏好→memory.md(如"用户偏好简洁代码")、领域模式→domains/code.md(如"TypeScript 项目加类型注解")、项目模式→projects/ecommerce.md(如"电商项目错误日志用 JSON 格式")。跨命名空间继承:全局→领域→项目。冲突时最具体优先(项目>领域>全局),同级最近优先,歧义时问用户。
LLM 依赖:由 Agent 内置 LLM 提供自然语言理解、纠错识别、反思推理与模式匹配能力,必需。
API Key 配置:本 Skill 无需任何 API Key,纯 Markdown 指令驱动,所有记忆存储在本地 ~/evolution-engine/ 目录,不做任何网络请求。
运行环境:
可用性分类:MD(纯 Markdown 指令,无需 exec 命令行能力)。所有记忆通过文件读写管理,通过自然语言指令驱动 Agent 执行自我进化任务。
反思依赖 Agent 主动执行:自反思机制需 Agent 在完成重要工作后主动暂停评估,若 Agent 未触发反思则经验无法沉淀。反思质量取决于 Agent 的自我评估能力。
晋升需 3 次确认有延迟:模式晋升到热层需 3 次一致确认(7 天内),初始使用阶段热层为空,规则匹配仅靠温层。这是为防止误判的设计权衡,纠错记录在 corrections.md 中立即可查。
进化指标需人工解读:metrics.md 提供客观数据,但趋势分析与改进建议需用户或 Agent 解读。指标本身不自动优化 Agent 行为,需配合反思→记录→召回闭环。
当前设计面向单 Agent:不支持多 Agent 协作进化与共享经验库。多 Agent 场景需手动分目录管理,跨 Agent 经验共享不支持。
不适用于 100% 确定性场景:本系统基于模式识别与概率匹配,纠错学习与反思机制不保证 100% 正确性。关键决策、医疗诊断、法律裁决等需绝对确定性的场景不适用,仍需人工判断。