循环工程 Loop Engineering 是什么?
循环工程(Loop Engineering)是一种使用 AI 编程 Agent 的方法:人不再一轮一轮手写提示词,而是设计一套能自己找活、派活、检查结果、记录进度的系统,由这套系统去给 Agent 下指令。打个比方,以前你是站在灶台边的厨师,每道菜都亲手翻锅。现在你在写后厨的排班和出菜规矩:谁来炒,炒完谁来尝味道,尝完怎么记账,都提前定好,只有出了岔子才会叫你过去。
它是怎么回事:五个零件加一本账
这个概念拆解得最完整的是 Addy Osmani 在 2026 年 6 月 7 日发的博客。他把循环看成一个递归的目标:你给出目的,AI 反复迭代,直到做完为止。一个循环需要五个零件,外加一个放记忆的地方。
第一个零件是定时任务(Automations),相当于循环的心跳,比如每天早上自己去翻前一天的 CI 失败记录和新开的 issue,不用你喊。第二个是 worktree,这是 git 的一种机制,给每个 Agent 一个独立的工作目录和分支,几个 Agent 同时改代码也踩不到对方的文件。第三个是 skill,一个带 SKILL.md 的文件夹,把项目约定写下来,免得 Agent 每次都从零开始猜。第四个是插件和连接器,基于 MCP,让 Agent 能读工单系统、查数据库、开 PR、往群里发通知。第五个是子 Agent,把“写的人”和“检查的人”分开,因为写代码的模型给自己打分往往太宽松。
那个放记忆的地方可以是一个 markdown 文件,也可以是一块 Linear 看板,总之要放在单次对话之外。模型两次运行之间会忘得干干净净,所以进度要记在磁盘上,不能指望上下文。
Osmani 自己常用的一种形状是这样:每天早上定时任务启动,调用一个分诊 skill,读 CI 失败记录、未关闭的 issue 和近期提交,把发现写进状态文件。每个值得处理的问题开一个独立 worktree,让一个子 Agent 起草修复,另一个子 Agent 对照项目 skill 和现有测试审查。连接器负责开 PR、更新工单,搞不定的丢进待处理收件箱留给人。整套东西设计一次,之后每一步都不用人敲提示词。
从哪来的:一条推文、一句话、一篇博客
这个词不是论文里出来的,而是 2026 年 6 月初在开发者圈子里传开的。OpenClaw 项目的创建者 Peter Steinberger 在 X 上说,别再给编程 Agent 写提示词了,该设计的是替你去提示 Agent 的循环。Anthropic 里负责 Claude Code 的 Boris Cherny 也说过类似的话,大意是他已经不直接提示 Claude,而是跑着一堆循环去提示它,他的工作就是写循环。Osmani 随后把这些说法整理成文并正式命名,并说循环工程在他早先写的 agent harness engineering(给单个 Agent 搭运行环境)之上,高一层。
循环本身并不新。Agent 内部那种“想一步、调一次工具、看一眼结果”的往复,2022 年的 ReAct 论文(Yao 等人,arXiv 2210.03629)就写过。新的是在这层循环外面再套一层由系统驱动的循环:谁触发,谁验收,进度记在哪,什么时候停。Osmani 还提到一个背景变化:一年前想要这种循环得自己写一堆 bash 脚本并一直维护,现在这些零件已经内置在主流产品里了。
现在在哪用:Claude Code 和 Codex 里的几个命令
目前讨论最多的落地产品是 Claude Code 和 OpenAI 的 Codex,两边的名字不同,做的事相近。
Claude Code 里,/loop 会按你给的间隔重复运行一条提示,比如每十分钟检查一次部署。它绑定在会话上,官方文档的对比表里写明它需要电脑开着、会话开着。想让任务脱离电脑运行,要用跑在 Anthropic 云端的 Routines。/goal 则是给一个完成条件,比如“auth 目录下的测试全部通过且 lint 干净”,每轮结束后由另一个独立模型判断条件是否成立,写代码的那个模型不给自己判卷。子 Agent 放在 .claude/agents/ 里,worktree 用 --worktree 参数或子 Agent 的隔离设置。
Codex 里有 Automations 标签页,可以选项目、提示、频率和运行环境,结果进一个分诊收件箱。它也有 /goal,官方用例页写的是让 Codex 跨多个回合朝着可验证的停止条件持续工作,可以无人值守好几个小时,需要在 config.toml 里打开 features.goals。子 Agent 用 .codex/agents/ 下的 TOML 文件定义。
这里要分清:循环工程是搭在 Agent 工具外面的做法,不是某个模型的能力。Osmani 的原话大意是,形状一旦相同,就别争用哪个工具,设计一个在哪个工具里都能跑的循环。
容易混的地方
它不等于“提示词工程已死”。Osmani 自己说得很明白,直接和 Agent 对话、亲手下指令依然有效,关键是在两者之间找平衡。不少文章把提示词、上下文、harness、循环画成一级一级往上叠的台阶,它们是叠加的层,后一层不会取代前一层。
它也不等于“让 Agent 多跑几轮”。每个 Agent 本来就有内部循环,循环工程关心的是外面那层:触发条件、独立的验收者、写在磁盘上的状态,以及明确的停止条件。缺了验收者和停止条件,只是让 Agent 自己瞎转。
它还有争议。国内有文章指出,它没有提出全新的技术架构,更像是用新名字把 AI 编程的老矛盾摆上台面:个人写代码更快了,团队交付未必更稳,代码多了,评审压力和维护成本反而更重。Osmani 自己也列了三个会随着循环变顺畅而更棘手的问题:验证责任仍在人身上,“完成”只是一个声明而不是证明;你对代码库的理解会落后于循环写出的代码,也就是他说的 comprehension debt;还有一种他叫 cognitive surrender 的状态,循环太顺,人就懒得再有自己的判断。
对使用者来说,最直接的影响是成本。Osmani 在文章开头就提醒要小心 token 消耗,子 Agent 各自调用模型和工具,开销更大。Claude Code 的 /goal 每次检查也是一次额外的模型请求。我们 AI主线 的建议是:先挑一件每周都会重复、结果能用一条命令验证的小事来试,比如测试是否全绿,把停止条件写成能被验证的话,再配上次数或预算上限,跑稳了再加子 Agent 和并行。