Skip to content

iceggboom/loop-eng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

loop-eng — Loop Engineering for AI Coding

Loop Engineering:把一个模糊需求,走成一条每一步都可验证的闭环。 先红后绿 · 独立校验 · 冻结回流

把「我觉得写完了」变成「客观闸门全绿 + 独立 verifier 找不出拒绝理由」。

loop-engLoop Engineering(循环工程)方法论在 Claude Code 上的 skill 实现——一种把 AI 编码任务从「一次性生成」升级为「可验证迭代闭环」的工程实践。


为什么需要 loop-eng

大多数 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 达成 + 通过一次端到端联调闸门。


如何使用

安装到 Claude Code

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、重构——需要严谨闭环、容易跑偏的多步任务。

不适用(直接做,别套流程拖慢):一行修复、纯问答、读代码理解。

启动后它会做什么

  1. 先写下「完成长什么样」——一句可验证标准
  2. 初始化 loop-state(goal / 当前轮 / 已完成切片 / 待回流项 / 回流记录)
  3. 进①框定:先探索代码库,再逐个问决策
  4. 判断是否需②建模,否则跳过
  5. 决策一定,立刻③建闸:写一条会失败的闸门让它红
  6. 切批次,每批走一遍 ①→⑤;全部切片全绿且无待回流项即终止

跨轮状态

每轮从①重启时,用 templates/loop-state.md 作为跨轮记忆锚点,防止目标漂移与上下文压缩丢状态。切片数 >3 或预计跨会话时落盘到 .claude/loop-state/<task>.md


关键机制

回流引擎(4 步固定操作)

发现新事实时,不是推倒重来,而是结构化回退:

  1. 冻结当前切片 — 已写代码/闸门暂存,不删不提交,标「待回流」
  2. 修正上游 — 回到 ①目标 / ②建模 / ③闸门,更新 loop-state
  3. 重跑或重写 — 闸门级回流补断言重跑红绿;目标级回流旧闸门作废重写
  4. 记回流原因 — 防下一轮重复踩

回流触发点明确:②模型错误回②、④撞隐藏约束回①、⑤漏 case 回③、verifier rejected 按理由回③/④/①、需求变更回①。

独立 verifier(防自我背书)

⑤验证阶段强制 spawn 一个独立 subagent 作 checker,maker 不得兼任。只给它 diff + 闸门 + goal,要求它「找理由拒绝」:diff 是否最小、有无漏边界、闸门是否真守住边界(而非碰巧通过)、有无预期外副作用。涉及前端/框架集成时还须真跑页面/端点确认非白屏。

  • 环境无 subagent 机制时,降级为 role-separated verifier pass 并在 loop-state 披露「非完全独立校验」
  • 高-risk 切片(认证/权限/数据迁移/计费/部署)不得降级,必须真独立 verifier 或转 needs-human

逃生通道(卡死不闷头重试)

同一闸门连续 2 轮没转绿 → 拆分 → 降级(理由只能是「确实难纯函数断言」,不可因「过不了」降级)→ 求助用户。任一生效即解除卡死。


每轮铁律

  1. 切片可独立验证 — 每轮产出一个能单独跑通、单独验证的切片,不留半截功能
  2. 红灯不推进 — 闸门没绿之前不进下一轮、不提交
  3. 决策随做随记 — 任务内进度记 loop-state,跨会话领域知识记 memory
  4. 切片 = 提交单元 — 每轮切片是一个可独立 review 的提交单元
  5. 卡死即走逃生通道 — 不闷头重试
  6. ⑤验证须独立 verifier — 闸门绿后必须经独立 verifier approved 才算 done

与子 skill 的边界

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/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 时降级并披露

License

MIT


Keywords

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 就是为你做的。

About

loop-eng — 迭代闭环交付 skill:先红后绿、独立校验、冻结回流

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors