| name | loop-harness |
| description | 搭建并跑「高质量长期自主迭代 loop 任务」的方法论 + harness——优化/审计/迁移/深度打磨/持续调研这类**靠多轮累积、非一次成型**的工作。提供任务书/台账/日志三件套脚手架 + **外部客观验证门**(绑可执行二元成功检查·agent 报结果不报自评)+ **进度检测停止/升级判据**(非步数·停滞即求人)+ 记忆防漂移 + 多智能体协作。当用户要「建一个 loop 任务 / 自主迭代 / 持续优化 / 让 agent 自己跑多轮 / babysit 一个长期任务 / loop 工作法 / 这件事我想让它一直迭代」时用。建在 `/loop`(会话内)或 `/schedule`(云端 cron)的运行时之上——本 skill 管「怎么跑得高质量不漂移不注水不失控」,运行时只负责「定时触发」。
|
loop-harness —— 高质量自主迭代 loop 的脚手架 + harness
让一个 agent 跑很多轮、自己选最高价值的事推进、不漂移、不注水、不失控、断了能续。把「一次性做完」的任务,变成「持续累积逼近顶级」的 loop。
实证基础:一个 100 轮的自主优化 loop 跑下来,结构被验证与业界最佳实践同构——Ralph loop(文件即记忆+每轮 fresh context)+ BabyAGI(优先级与执行分离)+ Anthropic evaluator-optimizer(对抗验证)+ Reflexion(日志=言语反思记忆)。本 skill 是这套方法论的可复用封装。
1 · 何时用 / 不适用
用:一件事靠多轮累积、不可能一次做到位——持续优化某系统、审计大代码库、跑大迁移、把一条内容/产品打磨到顶级、长期调研追踪。特征:有北极星(长期目标)、有会增长的 backlog(开放项不断冒)、单轮做不完、越迭代越好。触发:「让它自己一直迭代 / 持续优化 / 建个 loop 任务 / babysit 这个」。
不适用:一次性能做完的任务(直接做,别套 loop);目标模糊到无法定义「什么算做对了」的(先 brainstorm 出验证标准再说·见 brainstorming);纯执行确定步骤的(写个脚本)。
2 · 两个 harness 命门(先立这两根柱子,其余都是外壳)
研究的最高结论——只保两件也能跑,缺这两件必翻车:
命门 ① · 外部客观验证门(解决 客观验证 + 诚实 + 停止判据 三件事)
每个 loop 任务必须绑一个「可执行的二元成功检查」——脚本退出码 / 测试套件 / 真测产物 / 抽帧 / API 真调 / 数值实算。agent 报这个检查说什么,不报它自己以为什么(铁律原文:「report what the script says, not what it thinks」)。
- 为什么命门:研究证明 LLM-as-judge 当唯一验证门,单个无意义 token 就能骗到 80% 假阳性。agent 评判自己的产出 = 系统性注水的温床。
- 怎么落:立项时就为北极星写一个可执行的成功判据(哪怕粗)。每轮产出跑它、贴它的真实输出。禁止以「我觉得做完了 / 应该没问题」收尾。配
verification-before-completion。
命门 ② · 进度检测驱动的停止/升级(非步数)
靠「停滞检测」判停,不靠步数上限——连续 N 轮无新进展 / 重复同一任务 2–3 次 / 本轮 state 与上轮相似度过高 → 判停滞 → 升级求人(不是默默空转)。
- 为什么命门:纯
max-iterations 会让 agent 在上限内空转烧钱不报警(「你要的不是 step limit,是 progress detection」)。
- 怎么落:每轮结束自问「这轮有没有产生可验证的新进展(过了验证门的新东西 / 新发现 / 排除了一个选项)?」连续 2 轮没有 → 停下来把「卡在哪、试过什么、要什么」抛给人。
3 · 三件套文件(文件即记忆 · 每轮 fresh context)
loop 的状态全在磁盘文件,不靠 agent 记忆(每轮可以是全新上下文,靠重读文件还原)。固定三件套,放一个 loop 工作目录(如 _<任务名>/):
| 文件 | 角色(记忆 scope) | 纪律 |
|---|
00-任务书.md | 指挥中枢·北极星 + 审视方向 + 边界铁律 + 每轮流程 + 验证门 + 停止判据(semantic memory·每轮第一必读) | 只战略级改(改它=改方向)。别让 agent 每轮重写它(反复改写=语义漂移丢真) |
01-台账.md | backlog·开放项 + 优先级 + 依赖 + 状态 + 价值(每轮选最高优先未完成项·BabyAGI 优先级表) | 完成项打勾/归档·新发现追加·append 为主·一处「当前轮次」滚动摘要 |
02-迭代日志.md | 言语反思记忆·每轮做了什么 + 验证结果 + 坑 + 下一步(episodic memory·Reflexion) | append-only 倒序(最新在最上·用 date 取时间)·永不改写旧条目(改写=漂移) |
为什么文件驱动够用、不用上向量库/MemGPT:研究证实「文件系统当记忆 + 每轮 fresh context」对长跑足够且更稳,向量检索只在 backlog/知识超大才需要。三个 markdown 文件就是正解。
4 · 创建一个 loop 任务(scaffolding · 立项五步)
- 定北极星 + 验证门(最重要·别跳):一句话长期目标 + 一个可执行的二元成功判据(「什么算逼近了?跑什么能客观看出来?」)。验证门定不出来 = 目标太模糊,先
brainstorming。
- 写
00-任务书.md(模板见 reference/taskbook-template.md):北极星 / 每轮审视方向(多智能体并行防片面)/ 边界铁律(不可逾越的红线·写死在 agent 改不到的位置)/ 每轮流程 / 停止判据三类(见 §6)/ 产出去哪。
- 建空
01-台账.md + 02-迭代日志.md(模板见 reference/):台账先填初始 backlog(带优先级/价值)。
- 挂运行时(见 §7):会话内连续跑用
/loop;要跨会话/云端定时用 /schedule。
- 跑第一轮做样板:亲自跑一轮,把「读→选→做→验→记」走通,校准验证门真能跑、台账格式顺手,再交给 loop 自动跑。
5 · 每轮协议(per-round · 严格按序)
① 读 00-任务书 + 01-台账 → 锚定北极星 + 边界铁律 + 验证门
② 选最高优先未完成项(优先级决策 ≠ 谁执行·分离·防挑软柿子见 §6.4)
③ 派多智能体协作(建造员/审视员/对抗评估员·防片面·见 dispatching-parallel-agents)
④ 落地(改/重构/真做)→ 能力沉淀到该沉淀的地方(不散落一次性脚本)
⑤ ★过验证门(跑那个可执行检查·贴真实输出·不报自评)+ 对抗评估
⑥ 更新 01-台账(翻牌/追加)+ append 02-迭代日志(倒序·date·诚实标完成度+坑)
⑦ 进度检测(§2②):有可验证新进展?没有连续 2 轮 → 停下求人。否则下一轮。
6 · harness 六铁律(把命门 + 防坑固化成规则)
- 外部客观验证门(命门①):报脚本不报自评·禁「我觉得做完了」收尾。
- 进度检测停止/升级(命门②):停滞即求人·非步数。
- append-only 防漂移:台账/日志倒序追加·永不改写旧条目/反复重写摘要(semantic drift 会逐次丢真);单一事实源(任务书)只战略级动。
- 反挑软柿子:优先级决策独立于执行。规则——连续 N 轮回避某高价值项 → 本轮强制处理、或在日志显式记录「为何跳」(不许默默只挑容易的)。配反占位硬指令「要全实现不要占位/简化实现」。
- 诚实铁律:每项标真完成度 + 真验证结果 + 坑;做不到说做不到·不注水;负面结论(试了不成立)照实记——负面结论是有价值的 learning,不是失败。
- 停止判据三类(立项就定·写在 agent 改不到的位置):① success stop(验证门过 + backlog 清)② failure stop(不可恢复错 / 重试 2–3 次超限 / 显式判卡住)③ budget stop(轮数/token/wall-clock 硬上限·兜底防失控烧钱)。三类缺一就有 runaway 风险。
7 · 运行时底座(本 skill 不重造调度·复用现成)
- 会话内连续跑 →
/loop(递归把 prompt 喂回去·会话关了就停)。loop 的 prompt = 「读任务书+台账 → 按每轮协议推进一项 → 更新台账+日志 → 不喊停继续」。
- 跨会话/云端定时 →
/schedule(CronCreate·云端 cron·关了会话还在跑)。注意:长跑 loop 烧 token,定时间隔别太密;budget stop 兜底。
- 停:用户喊停 / 触达停止判据 →
CronDelete 撤掉定时任务(别让它继续打断)。
8 · 记忆管理(三 scope · 防漂移)
| scope | 存哪 | 例 |
|---|
| semantic(事实/偏好/边界) | 任务书边界铁律 + 项目 CLAUDE.md + 持久 memory | 「这条频道无人设·固定音色」 |
| episodic(过往轮次发生了什么) | 迭代日志(倒序 append) | 「r92 试了 X·验证门抓到 Y·撤回」 |
| procedural(学到的命令/打法) | 任务书「每轮流程」+ 沉淀进 skill | 「死帧用 freezedetect -62dB 判」 |
防 semantic drift 的两条(研究重点警告):① 日志/台账 append-only,别反复改写同一段摘要(增量改写逐次丢真);② 单一事实源(任务书)只在战略级改,别每轮微调。
9 · 避开的三个坑(研究实锤)
- ❌ 把 LLM-judge / 「输出 'complete' 字符串」当唯一停止或验证门——假阳性可达 80%、单 token 可骗、exact-string 公认不可靠。必须有客观可执行 gate 兜底。
- ❌ 只设步数上限、不做进度检测——会在上限内空转烧钱不报警。
- ❌ 反复改写摘要/单一事实源——semantic drift 逐次丢真。append-only + 单一事实源只战略级动。
10 · 配套 skill(组合用)
立项头脑风暴 brainstorming · 写计划 writing-plans · 多智能体并行 dispatching-parallel-agents · 子agent 驱动 subagent-driven-development · 完成前验证 verification-before-completion · 系统化调试 systematic-debugging。
模板与深档见 reference/:taskbook-template.md(任务书模板)· ledger-log-templates.md(台账+日志模板)· verification-gate.md(怎么为不同任务设可执行验证门)· field-notes.md(100 轮实战踩坑笔记)。