Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Loop Engineering · 循环工程

在 TRAE、WorkBuddy 等AI AGENT工具中,使用较低等级模型的情况下,赋予普通 AI 大模型指定的工作流,进行多角色执行任务,多次检查,用「更多的 token 和更长的时间」,换取出货质量比肩世界级顶级模型的水平。

Stars License: MIT Last Commit Issues Repo Size Type

🌐 简体中文 | English


一个真实例子:用循环工程写一个 csv2json 工具

你只下一条指令:

loop: 写一个 Python 命令行工具 csv2json,把 CSV 转成 JSON;要带单元测试、CLI 参数(-i 输入、-o 输出、支持 stdin)、错误处理。停止条件 = pytest 全过 + 三轴审查无阻塞。

循环工程把它跑成下面这样一次自主循环:

① 目标定义 —— 拆出可验证停止条件:pytest 全绿、ruff 零报错、三轴审查无阻塞项;熔断预算 20 轮;范围边界「不做 GUI、不接数据库」。

② 任务拆解 —— 写入极小的 PROGRESS.md(主线程唯一的状态):

FP-1 CLI 参数解析(-i / -o / stdin)
FP-2 CSV 读取(编码探测 + 表头)
FP-3 JSON 输出(ensure_ascii=False)
FP-4 单元测试(正常 / 空文件 / 坏 CSV)
FP-5 错误处理(异常不崩、给可读报错)

③ 自主循环 —— 主代理读进度、派发全新上下文子代理,每个子代理只回简短摘要:

FP-1 子代理 → TDD        ✅ 6/6 测试通过
FP-2 子代理 → TDD        ✅ 4/4 测试通过
FP-3 子代理 → 实现       ⚠ 三轴审查拦截:JSON 用了默认 ensure_ascii=True,
                            中文被转成 \uXXXX → 回写修复 ✅
FP-4 子代理 → TDD        ✅ 9/9 测试通过
FP-5 子代理 → 实现       ✅ 边界覆盖;坏 CSV 触发熔断重试 1 次 → 重派发 ✅

每完成一个功能点,PROGRESS.md 只保留「已完成」和「下一步需要什么」,主线程上下文永不膨胀。

④ 交付 + 自我改进 —— 全量测试绿、三轴审查通过;元循环从本次任务挖到一条规律:「凡涉及文件读写,子代理常漏编码处理或异常分支」,于是自动补了一条 harness 规则「文件类功能点强制在三轴审查里核对编码与异常清单」。下次同类任务直接受益。

整个过程你只说过一次目标,没有盯着它改;一个较低等级模型,靠「更多 token + 更长时间 + 强制验证」,交出了和顶级模型同级的成品。


介绍

循环工程 是一套「方法论 + 技能包」。顶级模型很贵、也很聪明;但大多数日常工具(TRAE、WorkBuddy、Cursor、Claude Code 等)默认跑的是更便宜的较低等级模型。循环工程不靠换模型,而是靠工程化约束把质量拉满:

  • 你给一个目标,它把目标拆成功能点,派发全新上下文的子代理逐个实现;
  • 每个功能点都必须先跑测试、再跑三轴审查才算完成,绝不「声称做完」;
  • 熔断机制防止在某个 bug 上死循环;
  • 并在每次任务后跑元循环自我改进自身的规则

它要解决的,正是智能体最弱的一环:把事做完、做对。智能体改一个文件很在行,但「把整个项目交付」就不行了——上下文会爆、范围会漂、会在一个 bug 上死循环、会跳过测试,而且永远不会「越用越会干」。循环工程把项目状态外置到一个极小的 PROGRESS.md(只保留「现在需要什么」),主线程永不膨胀,强制验证与审查,并叠加熔断与自我改进。

它本质是元技能:负责编排,真正的活由一整套随附技能干——三轴审查、纾困复盘、方案审查、代码需求实现器、Bug修复、软件测试、生成PRD、会话交接,全部打包在内、开箱即用。SKILL.md 采用 Anthropic Agent Skills 格式,可被 Claude Code、CodeBuddy/WorkBuddy、TRAE、Cursor 及任何读取 SKILL.md 的智能体加载。


能力一览

  • 自主循环:主代理派发子代理,只有「阻塞 / 熔断 / 完成」三种情况才停下找你。
  • 抗上下文爆炸:状态在文件里,不在对话里;子代理用全新上下文,只回简短摘要。
  • 可验证停止条件:拒绝「优化一下」这种模糊目标,必须是「测试全过 + lint 零报错」。
  • 熔断机制:同一问题修 5 次仍失败就跳过;总轮次到上限就停下汇报。不死循环。
  • 三轴审查(强制):规范轴 + 规格轴 + 盲区轴,并行子代理执行,绝不跳过。
  • 元循环自检:每次任务后挖掘自身失败模式,按级别自动 / 待确认 / 禁止自动地改进自身 harness。
  • 契约协调:跨功能点的公开契约变更以增量记录,避免并行子代理基于旧假设实现。

安装

一行命令,无构建步骤,无依赖:

# Linux / macOS —— 安装到 Claude Code 的全局技能目录(~/.claude/skills)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/XuanRuiMu/loop-engineering/main/install.sh)"

# Windows(PowerShell)—— 安装到 ~/.claude/skills
irm https://raw.githubusercontent.com/XuanRuiMu/loop-engineering/main/install.ps1 | iex

两条脚本都接受可选的目标目录,例如 install.sh /path/to/your-project/.agents/skills

或下载压缩包

Releases 页 下载 loop-engineering-skills.zip,解压到对应工具的技能目录即可:

  • CodeBuddy / WorkBuddy / TRAE:解压到 .agents/skills/
  • Claude Code:解压到 ~/.claude/skills/(全局)或项目内 skills/
  • Cursor / Windsurf:把各 SKILL.md 接入 skills loader 或指向 rules

压缩包顶层就是 9 个技能文件夹,一次解压全部就位;想升级随时重新下载。(下载后可用 SHA256 28b29f6b9673948d47a4db3c1cd4820533ce9425cb7d4af4d9236b88a0183664 核对完整性。)


工作原理

四个阶段,外面再裹一层熔断机制与自我改进循环:

  1. 目标定义:把需求变成可验证停止条件 + 熔断预算 + 明确的范围边界("做 / 不做 / 绝不碰")。
  2. 任务拆解:拆成粗粒度功能点,写入精简的 PROGRESS.md
  3. 自主循环(核心):主代理读进度、选下一个功能点、派发子代理、收简短摘要、压缩记录、循环。派发前做依赖与契约校验。
  4. 交付确认:重跑全量测试、跑元循环自检,再用 AskUserQuestion 交付完整报告,并按需清理过程文件。

熔断机制在以下情况停下:同一问题修 5 次、总轮次到上限、关键功能点阻塞、或 token 预算耗尽。

元循环从刚完成的任务中挖掘可复用的失败模式(必须有证据,禁止编造),提出 harness 层修复,用回归任务集验证,自动级直接落地,待确认级交给你决策。


随附技能包

循环工程是元技能:它负责编排,随附技能负责具体干活。全部打包在内,开箱即用。

技能 在循环中的角色
循环工程(本技能) 编排 + 循环 + 熔断 + 元循环
三轴审查 强制三轴代码审查(规范 / 规格 / 盲区,并行子代理)
纾困复盘 卡顿 / 熔断时的方向复盘
方案审查 实施前的对抗性审查(quick / deep / grill 三档)
代码需求实现器 派发给子代理的 TDD 实现
Bug修复 派发给子代理的诊断 + 修复流程
软件测试 测试执行与验证
生成PRD 复杂任务细化拆解
会话交接 跨会话续跑的上下文交接

对比

循环工程的对手不是「另一个 AI」,而是「你自己盯着 AI 干」和「工具自带的单次目标指令」。

能力 裸用智能体 单次目标指令(如 Claude Code 的 /goal、Codex 的 /目标 循环工程
不用你盯着也能做完 部分 (自主循环到停止条件)
扛得住上下文窗口 否(单上下文易爆) (全新上下文子代理 + PROGRESS.md)
止住失控死循环 通常无 (熔断机制)
声称完成前先跑测试 + 审查 有时 通常无 (强制三轴)
随附开箱即用技能包 (9 个技能打包)
随时间自我改进 (元循环)

和同类循环 / 自动化 skill 相比,循环工程的差异点在于:它自带一整套随附技能(三轴审查、纾困复盘、方案审查、TDD 实现、Bug 修复、测试、PRD、会话交接),并强制「测试 + 三轴审查才算完成」+ 熔断 + 自我改进元循环——而不是只给一个空壳循环框架让你自己填。

不替代 Claude Code 的 /goal 或 Codex 的 /目标:你完全可以在这些工具里调用循环工程,把一次性的目标指令升级成「带审查、带熔断、会自我改进」的工程循环。


常见问题

写小说、写音乐也能用循环工程吗? 能。循环本身是通用的——任何能被拆成「可验证步骤 + 明确停止条件」的创造性或生产性任务都能用,举几个非代码的例子:

  • 写长篇小说loop: 把这本 30 万字小说按大纲拆成章节,逐章写,每章跑三轴审查(人物声纹一致性 / 情节逻辑 / 文风签名),人设前后矛盾就熔断回写。 较低等级模型靠多轮循环 + 逐章审查,照样能写出人物稳定、伏笔回收、文风统一的成稿,而不是一次生成就崩。
  • 写音乐 / 专辑loop: 写一张 10 首歌的专辑,逐首生成,每首跑审查(和声进行 / 曲式结构 / 主题动机统一 / 编曲层次),主题动机前后不统一就重做。 模型用更多 token 把「一首还行」打磨成「整张概念统一」。
  • 写研究报告 / 论文loop: 把这份课题拆成文献综述、方法、实验、讨论,逐节写并跑事实核查与引用审查,数据来源缺失就标记阻塞。

核心思路一致:用更便宜的模型 + 更多循环轮次 + 强制验证,换世界级产出

子代理卡住了怎么办? 修复 5 次仍失败就标记为阻塞,主代理跳过继续;若它阻塞了后续所有依赖项,循环停下,并在方向性问题时先跑纾困复盘再汇报。

About

在 TRAE、WorkBuddy 等AI AGENT工具中,使用较低等级模型的情况下,赋予普通 AI 大模型指定的工作流,进行多角色执行任务,多次检查,用「更多的 token 和更长的时间」,换取出货质量比肩世界级顶级模型的水平。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages