自学习
自学习会将纠正和成功的工作转化为可复用技能。技能是持久单元:它们保存未来会话可以发现并遵循的流程。Skill Workshop 管理代理已学习的技能。
默认模式为 auto。后台学习使用常规代理文件工具来维护 Workshop 目录,例如每周集合审查。选择 propose 可改为暂存草稿以供审查,或选择 off 以禁用自主学习。
即时修复¶
当前台代理发现其使用的某个技能有误或不完整时,它会读取当前实时技能,并在同一轮次中通过 Skill Workshop 起草一个针对性补丁。如果完整技能不符合所选模型的读取预算,prepare_patch 可以授权一个非空的唯一精确片段,并返回有界的周围上下文。下一个 patch 必须引用同一片段,且该授权在一次尝试或任何目标变更后过期。在活跃授权被消耗或失效之前,针对该技能的第二次 prepare_patch 会被拒绝。运行时使用回执会阻止前台修复本次运行未使用的技能。自主模式控制结果:off 禁用修复,propose 使其保持待处理状态,等待显式审查和应用,auto 会立即扫描并应用。修复仍会经过提案存储、哈希绑定、安全扫描器和回滚捕获。
即时修复会更改新会话使用的实时技能。它不会重写已加载到运行中会话的技能快照。延迟的经验复盘仍然是前台代理未自行修复的持久学习的回退机制。
经验复盘¶
每个学习决策都来自模型对真实证据的审查,而不是模板或模式匹配路径。对话和技能文件是证据,而不是恢复任务或执行正在审查的流程的许可。
在大量工作之后,OpenClaw 可以运行一次分离的后台复盘,以找到可复用的恢复技术或稳定流程,从而减少至少两次未来的模型或工具往返。用户中断的深层轮次也符合条件:错误路径及其纠正正是值得保留的证据。审查者会被告知某个轮次何时被中断,并且只捕获在停止之前明显有效的流程。以提供商或提示错误结束的轮次永远不会安排复盘。该故障是瞬时的环境噪声,使用同一模型进行复盘很可能再次遇到它。
经验复盘仅在满足以下所有条件时启动:
- 前台轮次已完成或被中断,但未以提供商或提示错误结束。
- 当前轮次至少使用了 10 次模型迭代。
- 该运行是符合条件的前台对话,而不是 Incognito、cron、heartbeat、memory、overflow、hook、subagent 或 review 工作。
- 运行时已报告解析后的提供商、模型以及
skill_workshop的实际可用性。 - 系统已静默 30 秒。
- 没有代理或回复运行仍处于活动状态。
同一会话中稍后的前台完成会重新开始静默期。除非该轮次也符合复盘条件,否则它不会替换已保存的证据。待处理复盘同时属于某个代理和会话,因此使用 global 的代理会保留独立的候选项。经验复盘在共享后台工作预算中使用一个 Workshop 槽位。前台回复永远不会等待模型的复盘。
OpenClaw 会记录已完成轮次的结束位置,然后在静默期后异步读取其完整模型上下文。审查者会将该保留对话中较早的要求和纠正与观察到的结果联系起来,即使最新轮次是常规操作。后续消息会被排除。如果已保存的轮次被重写或删除,复盘会记录失败,而不是使用不同证据。复盘在私有分离会话身份下运行。其消息永远不会进入前台转录或会话记录。复盘保留前台会话的沙箱策略。
在 auto 模式下,审查者会在源会话权限下使用常规目录、文件、补丁和 shell 工具。它可以检查完整技能和支持文件,纠正多个关联文件,并验证结果。其文件工具以 Workshop 目录为根。Shell 命令保留操作者现有的审批策略。启用的沙箱必须提供对该目录的可写访问权限。该运行使用正常配置的代理超时。
审查者遵循每周集合的维护说明:编辑前审计,为每个流程提供一个归属位置,保留不同任务,并验证生成的文件。新学习应替换误导性规则或强化现有规则,而不是再追加一份副本。已覆盖的经验无需编辑。运行时回执会标识前台轮次中实际使用的技能。常规目录读取可以发现当前集合,无需单独的裁剪清单。
在 propose 模式下,只有 skill_workshop 会执行。审查者可以在暂存一个 create、patch、update 或 revision 之前进行检查和读取。现有提案的读取/哈希/大小验证仍然有效。即使操作者在该复盘期间启用自动学习,草稿仍保持待处理状态。
每次复盘只有一次尝试。失败会被记录,而不是重试。当代理运行成功时,自动维护会记录 completed。该状态并不表示文件已更改。已完成的文件编辑会在后续失败或取消后保留,未来会话会收到刷新后的技能快照。源会话删除、替换或权限模式变更会隔离保留的工具。
好的候选项包括:
- 在反复的工具或模型故障后可靠的恢复方法。
- 持久的用户纠正或常设指令(“从现在开始”、“始终”、“绝不”、“停止做 X”),作为流程步骤嵌入到管理该工作的技能中。
- 一个不明显但能防止重复错误的顺序约束。
- 一个需要反复发现才能完成的稳定多步工作流。
- 一个可复用的预检,可避免未来多次调用。
审查者应在以下情况下不介入:
- 常规成功任务或一次性请求。
- 个人事实和简单偏好。
- 临时性的环境或服务故障。
- 没有具体支持证据的泛泛建议。
- 缺乏依据的负面断言。
- 密钥和凭据材料。
模式策略¶
| 模式 | 捕获行为 |
|---|---|
off |
不创建经验审查捕获。 |
propose |
创建或修订待处理提案。不会自动应用任何内容。 |
auto |
使用常规代理文件工具维护 Workshop 技能。这是默认值。 |
使用 CLI 设置模式:
openclaw config set skills.workshop.autonomous.mode auto
openclaw config set skills.workshop.autonomous.mode propose
openclaw config set skills.workshop.autonomous.mode off
或编辑 ~/.openclaw/openclaw.json:
更改模式不会更改现有提案或已应用技能。手动学习会话、/learn 以及显式 Workshop 请求在三种模式下均可用。
为什么 auto 可以安全地作为默认¶
自动后台学习遵循与每周收集维护相同的常规文件编辑语义:
- Workshop 所有权: 文件工具保留在
<state-dir>/agents/<agentId>/agent/workshop-skills>中。其他技能根目录仍位于 维护任务之外。 - 现有权限: 运行会保留源会话的权限模式、工具限制和 shell 审批策略。对话证据不会 授予额外访问权限。
- 独立生命周期: 前台工作不会等待审查。Gateway 排空和源失效会关闭审查权限。
- 编辑判断: 代理会读取完整的相关文件,保留有用含义,并检查其更改,而不是以大小或数量为目标。
直接维护不会创建提案、运行回合后扫描器或记录自动回滚快照。对于不需要的直接编辑,请使用备份进行恢复。显式提案和即时前台修复保留其现有扫描器、哈希绑定、大小验证和回滚元数据。
使用一条命令拒绝待处理的误捕获:
提案捕获仍可在 openclaw skills workshop list 中查看。直接维护更改会显示在已安装的 Workshop 技能中,而不是作为提案记录。每周审查结果保留在自动化历史中。保留的旧版备份仍保留其恢复路径。
仍存在残余风险:代理可能进行错误编辑。请在 Workshop 中检查已安装技能,或在每次捕获都需要人工审查时选择 propose。
运行时支持¶
延迟经验审查要求运行时报告其已解析模型和实际的 skill_workshop 可用性。嵌入式运行器和 Codex app-server 测试框架会报告这些事实。Codex 还会报告其精确的模型迭代次数。其他基于 CLI 的运行时在提供相同运行时事实之前会失败关闭。/learn 不依赖延迟审查,并继续在这些运行时上工作。
成本与隐私¶
经验审查只会在一次实质性回合之后,在已配置的提供商上增加一次模型运行,而不是在每条消息之后。审查在检查、编辑和验证技能时可能会发出多个请求。
审查会创建前台模型上下文的分离视图,并追加一条小型用户消息。仅存储的原生提示负载保留在原始转录中,审查不会更改其存储字节。它使用私有的分离会话身份,同时保留前台提供商、模型、身份验证配置、引导上下文、工具架构和提示缓存亲和性。移除不可用的技能指导会更改提示,因此只能重用兼容的前缀。审查永远不会成为前台会话的一部分。
审查者复用前台提供商、模型和可用身份验证身份,并禁用模型回退。提供商定价和数据处理条款适用于额外运行。
每周收集审查使用代理配置的模型和常规 cron 调度。技能正文仍是审查材料,而不是活动指令。已完成的编辑会持久化。没有整个集合的事务或自动回滚。
Workshop 中的从过去对话中学习会打开一个带有学习指令的常规代理会话。代理使用其配置的模型、允许的工具、现有技能和可访问的对话历史。它自行选择要读取的内容。没有单独的扫描阈值、转录包或批处理游标。
该会话遵循当前 Workshop 模式:auto 允许直接改进技能,而 propose 会留下建议以供审批。你可以在聊天中监视、引导或停止运行。启动它不会启用自动学习或更改设置。与其他会话一样,它共享代理的常规容量。
Warning
经验审查和手动学习会话可能会将对话内容(包括工具输入和结果)发送到已配置的模型提供商。 请选择与工作区隐私和数据处理要求相匹配的提供商和模式。
审查与回滚学习¶
列出并检查每个待处理、已应用、已拒绝、已隔离或过期的捕获:
阻止待处理捕获变为活动状态,或将其隔离以进行安全审查:
openclaw skills workshop reject <proposal-id> --reason "Too specific"
openclaw skills workshop quarantine <proposal-id> --reason "Needs security review"
当你希望从当前对话或指定来源获得显式提案时,请使用 /learn:
/learn 会先修订匹配的待处理提案,或更新匹配的已生效技能。只有当没有技能负责该流程时,它才会创建新的待处理提案,并且绝不会自动应用结果。
要从旧工作中学习,请打开 插件 -> Workshop 并选择 从过去的对话中学习。新聊天会遵循你当前的 Workshop 模式,并显示代理的工作和结果。
配置参考¶
| 设置 | 默认值 | 效果 |
|---|---|---|
skills.workshop.autonomous.mode |
"auto" |
选择捕获行为;auto 还会启用每周集合审查。 |
skills.workshop.approvalPolicy |
"auto" |
控制普通代理发起的生命周期调用的 Prompt。它绝不会扩大隔离审查者的工具范围。 |
skills.workshop.maxPending |
50 |
限制每个代理的待处理和隔离提案数量。 |
skills.workshop.maxSkillBytes |
40000 |
以字节为单位限制提案正文大小。 |
有关取值范围和完整的 skills.* 架构,请参阅 技能配置。
故障排查¶
未出现捕获¶
检查以下内容:
- 在活动的 Gateway 配置中,
skills.workshop.autonomous.mode为propose或auto。 - 该轮次至少达到 10 次模型迭代,且未以提供方或 Prompt 错误结束。
- 该对话属于符合条件的前台工作。
- 运行时已报告解析后的模型和实际的
skill_workshop可用性。 - 工具策略允许 Workshop。自动维护还需要常规文件访问权限。已启用的沙箱必须将其 Workshop 目录暴露为可写。
- Gateway 在整个 30 秒静默期内保持运行且空闲。
符合条件的经验审查仍可能弃权。当证据未达到可复用流程标准时,不生成提案是预期结果。
使用 openclaw skills curator status 检查经验审查结果和已生效技能使用情况。当前每周集合结果位于自动化运行历史中。
该 CLI 仅保留较早的集合记录。它不会按存在时间归档或使技能过期。curator pin、unpin 和 restore 命令会返回错误,说明每周集合审查负责管理技能集合。
Doctor 报告 Workshop 已隐藏¶
在 propose 和 auto 模式下,openclaw doctor 会检查默认代理工具策略是否允许 skill_workshop。应用所报告的 tools.allow 或 tools.alsoAllow 更改,或将自主模式设置为 off。
提案在 auto 模式下仍保持待处理¶
自动应用只运行一次。检查提案及其扫描器状态:
普通写入失败会使其保持待处理,以便人工审查。严重扫描器结果会将其移至隔离区。修复原因后手动应用。不要围绕自动捕获构建重试循环。
出现过多低价值捕获¶
切换到 propose 以审查每次捕获,或切换到 off 以禁用自主捕获:
openclaw config set skills.workshop.autonomous.mode propose
openclaw config set skills.workshop.autonomous.mode off
模式更改后,现有提案和已应用技能仍会保持可见。
相关¶
- Skill Workshop:用于提案生命周期和存储
- 创建技能:用于手工编写的技能
- 技能配置:用于所有
skills.*设置 - 技能 CLI:用于 Workshop 命令
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw