| name | designing-loops |
| description | 当需要设计、审查或加固反复运行的 Agent 工作流、/loop 命令、自动化、cron、CI 修复循环、PR review 循环、triage 循环或多 Agent 系统时使用。 |
设计 Loops
概述
使用本 skill,把人类一轮轮提示 Agent 的过程,替换成一个可控系统:它能发现工作、分派任务、验证结果、记录状态,并决定下一步。Loop 可以理解成一个递归目标:先定义目的,再让系统持续迭代,直到完成条件成立或停止规则触发。
必需子 skill: 设计 loop contract 前,先使用 defining-goals。目标弱,loop 越高效越危险。
设计 loop 之前,先确认目标已经通过对话或当前上下文搜索澄清。如果完成标准、边界或证据来源仍然模糊,先暂停 loop 设计,回到目标定义。
Loop 骨架
按顺序设计这些部分:
-
目标契约
- 定义结果、完成标准、边界、资源、降级方案和状态。
- 拒绝无法独立验证的目标。
- 带上
defining-goals 里的待确认问题和已检查证据;未解决的高风险问题要变成停止规则,而不是隐藏假设。
-
心跳
- 选择 loop 如何启动:手动
/goal、定时 /loop、自动化、cron、hook、CI、issue 事件、PR 事件或外部调度器。
- 定义频率、运行窗口、token/时间预算,以及什么情况下安静退出。
-
发现和分流
- 指定 loop 扫描什么:失败的 CI、新 review 评论、open issues、日志、告警、过期文档、支持工单。
- 定义优先级和去重规则,避免 loop 永远重复昨天失败过的尝试。
-
隔离
- 给每个独立任务使用单独 worktree、分支、workspace 或 sandbox。
- 定义 merge/rebase 规则和清理规则。
- 除非任务只读,不要让并行 Agent 写同一个 checkout。
-
知识体系
- 加载项目 skills、AGENTS/CLAUDE 文档、runbook、memory 和相关 references。
- 这些知识源要短、当前有效,并按任务路由。过期知识会让无人值守 loop 更快失败。
-
连接器
- 只加入 loop 真正需要的工具:GitHub、Linear、Slack、数据库、观测系统、staging API、文件存储。
- 分开定义读权限和写权限。发现阶段优先只读。
-
子 Agent 和评审者
- 把执行者和检查者分开。
- 使用专门子 Agent 做探索、实现、安全、性能、产品评审或 spec compliance。
- 做出改动的 Agent 不能成为唯一完成判断者。
-
状态
- 把发现了什么、尝试了什么、改了什么、验证了什么、跳过了什么、阻塞了什么,记录到对话之外。
- 可以使用 Markdown、issue、Linear、数据库或其他持久系统。
- 状态要足够让下一轮不用重新发现同一批事实。
控制流
除非任务需要别的结构,否则使用这个默认 loop:
触发 -> 加载状态 -> 发现工作 -> 分流 -> 选择任务
-> 创建隔离工作区 -> 执行 -> 独立验证
-> 记录状态 -> 通知或升级 -> 决定下一个任务或停止
小范围会话内任务,可以用 /goal 风格迭代,并设置很窄的停止条件。反复运行的工作,要用自动化或调度,加上持久状态。
停止规则
出现以下情况时,loop 必须停止、暂停或升级:
- 完成标准已经通过
- 检查了可用对话、代码、文档、状态或连接器后,目标仍然模糊
- token、时间或预算达到上限
- 同一个失败重复出现两次
- 缺少必需权限或上下文
- 验证需要人类判断
- loop 必须削弱测试、删除检查或扩大范围才能通过
- 改动影响高风险区域,但没有可信评审者
风险检查
- 验证债:检查是否足够强,能支撑无人值守改动?
- 理解债:人类是否仍然理解 loop 改了什么、为什么改?
- 认知投降:loop 是在保留判断,还是在用“自动化”替代判断?
- 成本漂移:loop 是否可能无限消耗 token 或启动过多 helper?
- 状态腐烂:过期 docs 或 memory 是否会误导下一轮?
- 权限膨胀:loop 是否能写入本来只该读取的系统?
只要风险真实存在,就补约束、预算、评审门或更窄权限。
输出格式
按这个结构输出 loop 设计:
## Loop 目的
[一句话说明。]
## 目标契约
[引用 defining-goals 产出的目标,包括已检查证据和待确认问题。]
## 触发方式
[手动、定时、hook、自动化、事件或 CI。]
## 输入
[Repos、issues、日志、API、文档、状态文件。]
## 执行模型
[worktree/sandbox、子 Agent、连接器权限、预算。]
## 验证
[独立检查和执行/检查分离。]
## 状态
[进度和决策记录在哪里。]
## 停止和升级规则
[完成、预算、重复失败、缺少权限、人类评审。]
## 风险和护栏
[Goodhart、理解、成本、权限、过期知识。]