Loop Engineering:把一个模糊需求,走成一条每一步都可验证的闭环。 先红后绿 · 独立校验 · 冻结回流
把「我觉得写完了」变成「客观闸门全绿 + 独立 verifier 找不出拒绝理由」。
loop-eng 是 Loop Engineering(循环工程)方法论在 Claude Code 上的 skill 实现——一种把 AI 编码任务从「一次性生成」升级为「可验证迭代闭环」的工程实践。
大多数 LLM 编码任务的失败,不是能力不够,而是没有闭环:
- 一把梭:模糊需求直接开写,跑偏到最后才暴露
- 半成品堆叠:写了一堆,但没有一片能独立验证
- 「写完了」不可证伪:没有闸门,"完成"只是模型的主观判断
- 闷头推进:撞见新事实硬推下去,错误层层累积
- 编译绿 ≠ 能跑:单元测试 + build + tsc 全绿,真启动却首页白屏
loop-eng 用一个固定的五阶段闭环 + 回流引擎,把这些问题结构化掉。
某 V1 走完 15 个切片闭环——122 单元测试 + build + vue-tsc + 3 轮独立 verifier 全绿,但真启动 dev 后首页白屏:crypto-js 的 ESM 形态 + 框架 walRequest 默认 baseURL /mock 两个运行时 bug,编译层与静态审查全没抓到。
单元绿 ≠ 系统能跑。 loop-eng 据此引入「运行时闸门」——前端/框架集成/部署切片必须叠加「启动 dev + 真请求探针」的可失败断言,build/tsc 不替代运行时层。
理解这三点比记步骤重要:
| 要素 | 含义 |
|---|---|
| 切片 | 每轮只做一个能独立验证的最小增量(一个页面、一个端点),不堆半成品 |
| 闸门 | 用可执行断言界定 done,必须先红后绿。守护测试优先;难纯函数断言时降级弱闸门(快照/契约/脚本断言,仍须能真红);人工 checklist 不得单独当闸门 |
| 回流 | 任何阶段发现新事实不硬推,冻结当前切片回到上游修正——冻结而非删除,保留可复用工作 |
①框定 → ②建模 → ③建闸 → ④实现 → ⑤验证
▲ │
└──── 新事实 / 遗漏 / 需求变更 ───┘
每阶段统一三段式:触发条件 → 动作 → 出口标准。
- ① 框定 Frame — 把模糊敲成明确。能查代码就别问用户;一次只问一个决策(边界 → 架构 → 基准 → 范围 → 验证),每个给推荐答案 + 理由。出口把「完成」写成一句可验证标准。
- ② 建模 Model(按需)— 仅当涉及领域关系/状态流转/术语冲突才进;对照代码找矛盾(「你说 X,代码做的是 Y,哪个对?」)。CRUD/纯展示类跳过。
- ③ 建闸 Gate — 写一条现在就会失败的闸门。红了才证明它在守边界。前端/框架集成/部署切片必须叠加运行时闸门(启动 dev + 真请求探针)。
- ④ 实现 Build — 小步改到闸门转绿。一个切片 = 一个能跑绿的闸门 + 一个有意义的提交信息(超 3 文件或跨 2 无关模块就拆)。红灯期间不推进、不提交。
- ⑤ 验证 Verify — 跑客观 gate(全量测试 + 类型检查 + 构建,全绿)→ 强制独立 verifier(spawn subagent 做 checker,maker 不得兼任,只给 diff + 闸门 + goal 让它「找理由拒绝」)→ approved 才算 done,rejected 触发回流。
loop 终止:所有切片走完⑤全绿 + verifier approved + 无待回流项 + goal 达成 + 通过一次端到端联调闸门。
loop-eng 是一个 Claude Code Skill,放在 .claude/skills/loop-eng/ 下即可被识别。
# 克隆到你的全局 skills 目录
git clone https://github.com/iceggboom/loop-eng.git ~/.claude/skills/loop-eng或克隆到某个项目的 .claude/skills/ 下作为项目级 skill。
在 Claude Code 中显式调用:
/loop-eng <你的需求描述>
适用于:新功能、复杂 bug、重构——需要严谨闭环、容易跑偏的多步任务。
不适用(直接做,别套流程拖慢):一行修复、纯问答、读代码理解。
- 先写下「完成长什么样」——一句可验证标准
- 初始化 loop-state(
goal/ 当前轮 / 已完成切片 / 待回流项 / 回流记录) - 进①框定:先探索代码库,再逐个问决策
- 判断是否需②建模,否则跳过
- 决策一定,立刻③建闸:写一条会失败的闸门让它红
- 切批次,每批走一遍 ①→⑤;全部切片全绿且无待回流项即终止
每轮从①重启时,用 templates/loop-state.md 作为跨轮记忆锚点,防止目标漂移与上下文压缩丢状态。切片数 >3 或预计跨会话时落盘到 .claude/loop-state/<task>.md。
发现新事实时,不是推倒重来,而是结构化回退:
- 冻结当前切片 — 已写代码/闸门暂存,不删不提交,标「待回流」
- 修正上游 — 回到 ①目标 / ②建模 / ③闸门,更新 loop-state
- 重跑或重写 — 闸门级回流补断言重跑红绿;目标级回流旧闸门作废重写
- 记回流原因 — 防下一轮重复踩
回流触发点明确:②模型错误回②、④撞隐藏约束回①、⑤漏 case 回③、verifier rejected 按理由回③/④/①、需求变更回①。
⑤验证阶段强制 spawn 一个独立 subagent 作 checker,maker 不得兼任。只给它 diff + 闸门 + goal,要求它「找理由拒绝」:diff 是否最小、有无漏边界、闸门是否真守住边界(而非碰巧通过)、有无预期外副作用。涉及前端/框架集成时还须真跑页面/端点确认非白屏。
- 环境无 subagent 机制时,降级为 role-separated verifier pass 并在 loop-state 披露「非完全独立校验」
- 高-risk 切片(认证/权限/数据迁移/计费/部署)不得降级,必须真独立 verifier 或转 needs-human
同一闸门连续 2 轮没转绿 → 拆分 → 降级(理由只能是「确实难纯函数断言」,不可因「过不了」降级)→ 求助用户。任一生效即解除卡死。
- 切片可独立验证 — 每轮产出一个能单独跑通、单独验证的切片,不留半截功能
- 红灯不推进 — 闸门没绿之前不进下一轮、不提交
- 决策随做随记 — 任务内进度记 loop-state,跨会话领域知识记 memory
- 切片 = 提交单元 — 每轮切片是一个可独立 review 的提交单元
- 卡死即走逃生通道 — 不闷头重试
- ⑤验证须独立 verifier — 闸门绿后必须经独立 verifier approved 才算 done
loop-eng 是总纲调度器,负责跨阶段闭环编排:
- 单阶段工具(
grilling/domain-modeling/tdd/verification-before-completion):在对应阶段内调用 - 闭环工具(
brainstorming/writing-plans):①框定只参考其提问风格,不调用(一调用会触发它的 spec→plan 流程与 loop-eng 闭环冲突);需求复杂到需要正式 spec 时直接走 brainstorming 而非 loop-eng - 冲突仲裁:子 skill 流程与 loop-eng 阶段出口冲突时,以 loop-eng 出口标准为准
evals/evals.json 含 4 个评估用例,覆盖典型场景与负例,配套 rubric(4 维度 × 0-2 分):
| 维度 | 0 分 | 2 分 |
|---|---|---|
| 框定充分性 | 直接开写 | 边界/范围/完成定义全敲定 |
| 闸门质量 | 无测试 | 有会失败的真实闸门,层级合理 |
| 切片独立性 | 一次性大块 | 每片可单独验证+提交 |
| 回流处理 | 无回流意识 | 触发→冻结→修正→重跑→记录 |
评估用例包括:批量导出 PDF 新功能、暗色模式图表 bug、通知渠道重构,以及一个负例(一行 bugfix 应识别为「不套 loop-eng」直接改)。
loop-eng/
├── SKILL.md # skill 主体:五阶段闭环 + 回流引擎 + 铁律
├── templates/
│ └── loop-state.md # 跨轮状态锚点模板(5 字段)
└── evals/
└── evals.json # 评估用例 + rubric
- ✅ 适合:模糊到清晰的多步开发任务、容易跑偏的新功能、需要严谨守行为的重构、难复现的复杂 bug
- ❌ 不适合:一行修复、纯问答、读代码理解、已有正式 spec 的需求(走 brainstorming)
⚠️ 依赖:独立 verifier 机制依赖环境支持 subagent;无 subagent 时降级并披露
MIT
Loop Engineering · AI coding loop · iterative delivery loop · verifiable AI coding · red-green gate · TDD for LLM agents · agentic coding workflow · Claude Code skill · closed-loop development · maker-checker verification · spec-driven AI · AI software engineering methodology
搜索 Loop Engineering、AI 编码闭环、可验证 LLM 开发、Claude Code skill、agentic coding workflow 的同学,这个 skill 就是为你做的。