OOpenClaw.NET中文文档

学习提案

源文件 docs/zh-CN/LEARNING.md

OpenClaw.NET 使用学习提案将重复的运维行为转化为可审查的建议。学习循环有意采用"先审查"的方式:它可以创建提案、元数据、预览和审计反馈,但持久化行为更改仅在运维人员批准后生效。

学习提案专为以下场景设计:

  • 运维人员审查重复的工作模式
  • 维护者安全地改进运行时行为
  • 贡献者添加学习功能而不进行静默自我修改
  • CI 和发布检查,必须保留提案序列化和审查语义
  • 未来的 Harness 演进和计划-执行-验证工作流

它们帮助回答:

  • 运行时观察到了什么重复行为?
  • 该建议是可操作的,还是仅为一个弱学习信号?
  • 如果运维人员批准它,会发生什么变化?
  • 哪些证据支持该建议?
  • 运维人员应首先审查哪些质量或安全问题?
  • 运维人员通过批准、编辑或拒绝提供了什么反馈?

提案类型#

学习队列可以包含几种提案类型:

类型 目的 批准行为
profile_update 建议稳定的用户配置文件事实、偏好或项目上下文。 应用审查后的配置文件更新。
skill_draft 从重复的成功工作中建议托管的 SKILL.md 草稿。 验证后安装托管的学习技能。
automation_suggestion 建议禁用的自动化草稿或记录仅学习性质的自动化想法。 仅保存可审查的禁用草稿;低质量信号保持为仅学习性质。
harness_change 建议对 Harness 行为的先审查改进。 仅手动批准;不会静默地改变 Harness 配置。

通用审查流程是:

  1. 观察重复的行为或显式的 Harness 信号。
  2. 创建一个待处理的提案,附带证据、验证状态、风险和警告。
  3. 让运维人员在管理学习队列中检查提案。
  4. 记录批准、拒绝、回滚或后续编辑反馈。
  5. 保留足够的元数据以供未来评估和回归测试。

自动化建议质量管道#

automation_suggestion 提案使用额外的质量管道,因为重复的提示不自动意味着一个安全的定时自动化。运行时应该避免创建误导性草稿,例如名称和提示都是"比较当前对话并给出总体评估"的每日自动化。

管道是确定性的和保守的:

  1. 意图提取 识别可能的自动化意图、目标对象、预期结果、节奏提示、触发证据和模糊之处。
  2. 精炼 将公认的高价值意图转化为稳定的禁用草稿候选。例如,模糊的对话审查请求变为对过去 24 小时的每日审查,带有明确的输出部分。
  3. 质量把关 对候选进行评分,涵盖意图清晰度、输入范围、输出清晰度、时间表匹配度、安全性、噪音风险、用户价值和重复风险。
  4. 预览构建 记录提案存在的原因、原始提示、精炼后的提示、警告、预期输出部分和质量决策。
  5. 反馈记录 捕获接受、拒绝和批准后编辑信号,以便未来的学习可以区分有用的建议和噪音。

质量把关可以返回以下决策:

决策 含义
ready_draft 建议足够清晰,可以创建禁用的自动化草稿供审查。
needs_review_draft 建议可用但应在批准前仔细审查。
learning_only 信号值得保留,但运行时不创建自动化草稿。
suppressed 信号太弱或太嘈杂,无法作为自动化提案呈现。

硬性阻止使提案不进入草稿形式。包括缺少名称、提示、时间表或交付渠道;相同的规范化名称和提示;不稳定的定时输入范围;不清晰的输出格式;没有显式确认的外部副作用;以及重复的自动化。

对话审查示例#

一个重复的请求,例如:

比较当前对话并给出总体评估。

作为定时自动化是模糊的,因为"当前对话"在每日运行时没有稳定含义,比较基线缺失,并且输出格式未指定。

改进后的自动化建议路径保留原始提示作为证据,提取 daily_conversation_review 意图,并将候选精炼为类似以下的禁用草稿:

每天审查过去 24 小时的对话。仅输出:1) 未完成项目;2) 用户明确要求记住的偏好;3) 需要跟进的的风险;4) 推荐的后续操作。不要提供通用摘要,不要评估用户,不要重复已完成的项目。如果没有值得跟进的内容,输出今天没有跟进项目。

预览解释了 当前 被替换为 过去 24 小时,以便定时任务有稳定的输入范围。预期输出部分被记录为机器可读元数据,如 unfinishedItems、rememberedPreferences、risks 和 nextActions。

反馈事件#

自动化建议通过 LearningProposalFeedbackEvent 条目记录审查反馈:

操作 何时记录
accepted_without_edits 运维人员按提案批准自动化建议。
edited_then_accepted 保留用于在批准前编辑草稿后接受提案的流程。
rejected 运维人员拒绝建议。
edited_after_approval 学习自动化在批准后被更改。

反馈事件包括更改的字段、已知前后的质量分数、摘要和时间戳。这使学习循环保持可检查,而不将每个重复的提示视为可靠的自动化模板。

与 Harness 测试的关系#

学习提案由正常的单元和网关测试覆盖,它们以三种方式连接到更广泛的 Harness 模型:

  • 序列化保证: 学习提案元数据、自动化质量结果、预览、反馈事件和 Harness 演进负载必须通过源生成的 JSON 上下文和文件存储进行往返。
  • 先审查行为: 批准和拒绝测试验证提案记录运维人员决策而不绕过所需的审查语义。
  • 回归意图: Harness 演进提案可以推荐证伪测试和回归类别,而自动化建议质量测试验证模糊提示保持为仅学习性质,精炼提示变为禁用草稿。

在信任学习行为的更改之前,运行正常的测试套件和相关的 Harness 检查:

dotnet test
openclaw harness test --category harness
openclaw harness test --category memory

从源代码,将 openclaw ... 替换为:

dotnet run --project src/OpenClaw.Cli -c Release -- harness test --category harness
dotnet run --project src/OpenClaw.Cli -c Release -- harness test --category memory

在发布前或当学习更改涉及序列化、审批策略、记忆检索、提供商形状、MCP/OpenAI 兼容路由或其他 Harness 拥有的合约时,使用完整的 Harness 回归套件。

不做的事情#

  • 不会自动启用生成的自动化。
  • 不会将每个重复的提示转化为自动化草稿。
  • 不会绕过运维人员对技能、配置文件、自动化或 Harness 更改的审查。
  • 不保证提案是正确的。
  • 不替代单元测试、Harness 回归检查或发布冒烟测试。
  • 提案批准后不会自动运行回归测试。
本页由 docs/zh-CN/LEARNING.md 静态生成 · 快照 2026-10-03
站内以 虚线 标注的链接指向未包含在本中文站点内的源文件。