Community编程与开发github.com

Harness² — 循环任务固化工具

在任务已被完成并接受,用户希望重复执行或固化流程时使用——适用于周期性交付、周报、多源调研或当前依赖个人记忆步骤的工作流。

Harness² — 循环任务固化工具 是什么?

Harness²(递归代理固化工具)是一款面向AI代理(如Claude Code、Cursor、Codex等平台)的专业技能,用于将一次性成功任务转化为可重复、可维系的流程。其核心理念是:一次成功不等于可复现。该技能通过“冻结基线→提出候选→探测回放→组合验证→固化产出”五步循环,系统性地优化下一次执行的过程而非本次交付物。它支持系统提示、工具引导、技能模块、护栏、记忆、脚本、子代理和插件等八个可编辑组件,最终输出harness/、SOP.md和REGRESSION.md三类工件。该技能特别适用于用户明确表示“以后每周都要做”或“把这个流程固定下来”的场景,但必须确保至少有一次被接受的执行记录作为基线。其证据等级体系中,用户编辑差异的可靠性最高,而单纯文本更流畅或用户未投诉等均不构成有效证据。建议默认设置一次候选加一次回放,将固化成本分摊到每次循环执行中。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add wptoux/harness2

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Harness² — 循环任务固化工具 是做什么的?

改编自 Harness²: 面向开放世界的递归代理固化方法, 聚焦于一次执行已被接受、目标是重复执行的场景。

概述

成功一次并不等于可重复。已接受的运行是你唯一可信的参考点:它包含真实的交付物、真实的执行轨迹以及用户亲自编辑过的位置。

优化的对象是下一次执行的过程,而非本次执行的交付物。因此,产出不是一份更好的报告——而是一个固化工具(harness)、一份标准操作流程(SOP)和一份回归检查清单。

何时使用

  • 用户说“以后每周我们都要做这个”或“咱们把这个流程固定下来”
  • 同一类任务至少已执行过一次,且结果已被接受
  • 流程存在于某人的头脑中:谁先运行哪个脚本、哪一步需要人工检查、陷阱在哪里
  • 同类任务反复以相同方式失败:来源归属遗漏、定义不统一、持续返工

何时不使用

  • 一次性任务 → 直接执行即可
  • 存在真正的评分器、单元测试或可计算的验收标准 → 直接使用;它远优于行为对比
  • 用户仅要求修改格式或定义,且已明确说明 → 直接编辑固化工具,跳过对比循环
  • 流程已稳定,且成本或延迟紧张

什么是固化工具(Harness)

模型周围所有可编辑的内容。四个组件即可运行;八个是完整集合:

组件作用最低要求
系统提示角色、输出契约✅
工具引导何时使用每个数据源、如何填写参数✅
技能模块可复用的判断和程序✅
护栏硬约束(绝不编造数字、始终引用来源)✅
记忆跨实例传递的领域笔记
脚本确定性工作(格式转换、去重、聚合)
子代理分离出的验证或并行检索
插件中间件(强制每N步进行一次自检)

固化工具必须以文件形式存在,以便进行差异对比和复用。“我们通常这么做”留在聊天记录里,是无法固化的。

循环:提出 → 探测 → 组合

0. 冻结基线

完整存档上一次运行:固化工具快照、完整轨迹(工具调用序列+中间产物)、最终交付物、用户的编辑差异、验收标准、数据快照或时间窗口。

用户亲自编辑过的地方是高置信度的缺陷位置——比任何猜测都可靠。

1. 提出

读取基线,然后提出两个候选方案,每个用一句话说明其针对的缺陷:

  • 不变类:流程缺陷——没有交叉检查、中间结果未持久化、失败不重试、来源未标注、上下文超限
  • 领域类:此类任务的专业约束——定义一致、货币或单位换算、时间窗口对齐

两者都需要,以区分“通用疾病”和“此类任务特有的疾病”。仅有一个候选方案,你无法归因结果。

2. 探测

使用相同输入重放,控制变量:相同模型、相同工具集、相同数据快照。只改变固化工具。

比较两项:

  1. 与基线的行为差异:工具集及顺序、步骤数、重复调用、错误和重试、人工补丁点是否消失、中间结果是否持久化、来源是否完整标注
  2. 重放一致性:再次运行——结构是否相同?固化的核心指标是稳定性,而非单次运行的最佳结果

对比显示“行为改变了”,但不显示“结果正确”。切勿将两者混为一谈。

3. 组合

仅保留那些 (a) 在重放后仍满足验收标准,且 (b) 减少返工或人工补丁的更改。保留原方案是允许的——没有证据支持的更改就是噪音。

每项决策记录为一行:更改 | 针对的缺陷 | 观察到的证据 | 采纳/修订/放弃

4. 固化

三类工件;缺少任何一项都意味着尚未固化:

  • harness/ — 可编辑的文件
  • SOP.md — 步骤、检查点、何时必须询问人工、已知陷阱(超过十项就没人读了)
  • REGRESSION.md — 下次运行后需要核对的验收清单

如果某一更改在多轮中被采纳,则将其提升为独立的脚本或技能模块。

证据等级

用户编辑差异 > 与已接受交付物的比较 > 重放一致性 > 轨迹差异 > 直觉

不是证据:更长的报告、更详细的报告、“用户这次没抱怨”、模型自称做得更好。

预算

默认设置:一个候选方案加一次重放。固化成本随时间摊销,因此将其分摊到各轮执行中:每次循环执行时探测一个候选方案,而不是一次性花费3倍时间运行所有并行分支。

红旗——遇到时立即停止

  • 未阅读用户编辑差异就直接继承之前的固化工具
  • 使用不同的输入、模型或数据快照重放,却仍声称“效果更好”
  • 仅凭一次重放即得出结论,未排除随机性
  • 一次性更改五个组件,导致无法归因
  • 条目多达20项的SOP,下次没人会执行
  • 将一次性运气写进不变类条目

常见错误

错误后果修复方法
归档前就优化基线丢失,更改无法归因首先冻结基线
以“读起来更顺”作为证据固化了偏好,而非流程绑定到具体观察
仅更改提示,无检查点下次仍需人工手动补丁为每个缺陷配对检查点
SOP写成游记没人读,所以什么都没固化仅写决策点和陷阱

相关技能