用途
loop-controller 用于把“持续处理某个任务”这类模糊意图,转化为一个能够收敛、而非反复空转或烧尽预算的自主循环。它的核心立场是:循环的质量取决于停止条件——只有当“完成”是智能体无法争辩的外部信号(测试退出码、覆盖率百分比、空队列、全新评估者的判定)时,循环才会收敛;若“完成”由智能体自我评分,循环往往提前宣布胜利或陷入震荡。
该技能被明确设为需手动调用(disable-model-invocation),不会因某次测试失败而让 Claude 自行启动自主循环;使用者需输入 /loop-controller 或由编排器调度。
主要能力
- 判断是否该做循环:通过四个问题筛选——任务是否重复、完成能否机械验证、智能体能否端到端执行、完成是否客观。任一为“否”即建议手动完成。
- Loop 契约五要素:trigger(触发)、action(单次迭代做什么)、proof(机械证明)、memory(迭代间保留的状态)、stop(所有结束方式)。证明与停止两行是关键。
- 执行原语选择:区分“推向终点线”与“定时观察外部变化”,分别对应 /goal、Stop-hook 门禁、/loop、/batch/动态工作流、claude -p bash 循环(Ralph)等,并说明各原语的失败模式与限制。
- 机械化且默认 FAIL 的证明:把“完成”写成可观测项;判据以 JSON 存储,每项初始为 false,只有证据出现才翻转;强调测量真实目标而非 mock/stub/fixture 替身,避免“绿得自信却是错的”。
- 主观标准的评估分离:当完成无法归结为退出码(UI 质量、文档清晰度、API 易用性)时,使用不带 Write/Edit 工具、不了解构建过程的全新上下文评估子代理,防止自我盖章。
- 强制护栏栈:迭代上限、带强制终止的 token/成本预算、无进展/震荡检测、不可逆操作前的人工检查点、每轮检查点提交、禁止循环削弱自身门禁(改测试、加忽略指令等)。并强调应追踪“每个被接受结果的成本”而非单纯花费。
- 状态外置:进度文件、任务/功能清单 JSON、实时计划、init.sh、git 历史,使每次迭代无状态、可在上下文压缩后继续。
- 收敛观察与止损:每轮只做一项任务、构建/测试并行度上限为 1、每次修复后重跑完整证明;出现花费非线性增长、输出相似度超过约 90%、评估者与人工判断不一致、即将触碰不可逆资源而无检查点时,回退为人工模式或终止。
- 长时运行行为卫生(面向 Claude 5 系列):进度需有工具结果佐证以防编造;不要以承诺结束回合;不要把预算倒计时展示给模型;按需调整每轮模型与推理强度;长时间异步循环可通过“发送给用户”呈现中途产出。
使用方式
先检查 skills/loops/ 中已有的十二种循环配置是否匹配意图(如 fix-until-green、orchestrator-task-loop、contract-conformance-loop、babysit、coverage-loop、perf-loop、self-healing-loop、migration-loop、nightly-docs-and-changelog、dependency-health-loop、codebase-exploration-loop、repo-cleanup-loop);无匹配时,再按上述步骤为不存在的循环编写契约并接入同一套框架。
适用场景
重复出现、完成可机械验证、智能体可端到端执行且目标客观的工程任务,例如修到测试全绿、覆盖率达标、性能指标进入预算、迁移枚举文件、夜间维护文档与变更日志、依赖健康检查、代码库探索、仓库清理。
限制
一次性任务、仅有人能判定对错、需要频繁中断请示、或主观且高风险(架构重写、认证、支付、生产部署)的工作不适合作为循环,应保持人工或加强门禁。该技能不带有通用预算或迭代上限的内置能力,需按原语逐个配置。具体价格、平台兼容范围与详细调用参数在资料中未完整提供。