Claude Code 负责人 Boris Cherny 最近公开表示,他已经不再"写提示词"了,而是写"循环"——让循环自动替他去提示 Claude,决定下一步该做什么。几乎同一时间,开源 AI Agent 项目 OpenClaw 作者 Peter Steinberger 也发表了类似观点,帖子阅读量超过 800 万次。谷歌 Chrome 工程师 Addy Osmani 则为这项技术起了一个名字:「Loop Engineering」(循环工程)。
苏米注:从"提示词工程"到"上下文工程"再到"Harness 工程",AI 领域的术语一直在演进。但 Loop Engineering 与前几代的本质区别在于:前三者都假设人类坐在电脑前,配置工具、写提示词、点击发送,然后等待 AI 完成一轮后给出下一条指令。循环工程把这个"手动挡"模型彻底推翻了——你设好规则和目标,AI 自动执行、检查结果、持续迭代,不需要你每次按开始。

什么是循环工程
循环工程的核心理念是:你不再是给 AI 写提示词的人,而是设计一套系统,让系统自动替你写提示词、执行任务、验证结果。

以 Addy Osmani 自己搭建的每日代码库巡检循环为例,整个流程分为五个关键步骤:
- 发现(Discovery):到时间后循环自动检查前一天的 CI 测试失败记录、未关闭的 issue、最近合并的 commit,自行判断哪些值得处理、哪些是噪音。
- 交接(Handoff):每个值得处理的问题分配到独立的 git worktree 中。多个 Agent 同时工作,互不影响。
- 验证(Verification):一个 Agent 写修复代码,另一个 Agent 对照项目的测试要求和技能文件进行验证。通过验证才继续推进。
- 存储(Storage):所有进度存入一个 Markdown 格式的状态文件,明天的循环读取这个文件就知道昨天做到哪了。
- 调度(Scheduling):由定时任务驱动,每天自动运行。


五步中最容易忽略的一环:验证
跳过验证的循环几乎都会出问题。Anthropic 工程师 Prithvi Rajasekaran 在搭建长时间运行的 AI 应用时发现了一个反直觉的现象:让 Agent 给自己刚写的代码打分,它几乎总是给好评——哪怕人类一眼就能看出质量一般。
这不是 Agent 不够聪明,而是结构性幻觉。写代码的 Agent 脑子里装满了自己的推理过程,它看自己的输出时,满脑子都是"我为什么这么写"的逻辑。这些理由反过来强化了它的自信判断。

解决思路借鉴了 GAN(对抗生成网络)的思想:一个 Agent 负责写,另一个 Agent 专门负责找茬。验证 Agent 假设代码有问题,除非能证明没问题。它不只是读代码,还会运行代码、打开页面、点击按钮、截屏、跑测试——检查的是实际效果。
Rajasekaran 发现,让写代码的 Agent 变得更自我批评效果很差,但训练一个独立的验证 Agent 变得更挑剔却容易得多——"你改变不了作者的自恋,但你可以换一个毫无感情的陌生人来审稿。"
循环翻车的五种常见模式

循环很容易出问题,最常见的有五种翻车模式:
- 点头循环:Agent 写了代码自己说好,循环相信了,继续下一轮。跑了几百轮,每一轮都通过。能次次通过的原因只有一个——根本没有真正的检查。
- 失忆循环:今天的运行结果留在了对话窗口里,明天上下文被清空,循环从头开始。更糟的是,它可能发现昨天已经修复的问题,又修了一遍,还产生了冲突。
- 手动循环:没有设置定时器,哪天忘了手动跑一次,它就停了。
- 盲循环:设置了定时器,但每天干什么还得你来安排,等于还是你在手动指挥。
- 缠绕循环:多个 Agent 同时修改同一个目录,文件冲突,合并不了。
工业级案例:Stripe 的 Minions 系统
在线支付平台 Stripe 内部有一个叫 「Minions」的系统,每周有超过 1300 个由 AI 提交的 PR 被合并,没有一行代码是手动写的。触发方式是 Slack 里的一个 emoji——程序员点击一个表情,循环就启动了。

Stripe 工程师 Steve Kaliski 介绍了 Minions 的核心架构原则:能用规则写死的步骤就写死,AI 只负责需要创造力的部分。比如 Agent 写完代码后,一个固定的流水线运行代码规范检查;修复问题后,一个固定步骤执行 commit。靠不靠谱,看的是约束写得够不够严格,而不是模型参数有多大。
1300 个 PR 最终仍然由人类审核。程序员没有离开,只是从"写代码"换到了"审代码"。
如何搭建你的第一个循环
你的第一个循环应该小到几乎不像一个系统。基本要素包括:
- 定时器:Claude Code 用
/loop,OpenAI Codex 用 Automations。没有定时器,你有的只是一个每次都要手动运行的脚本。 - SKILL.md 文件:告诉循环应该关注什么,记录 CI 错误日志、最新的 issue、最近的 commit。可维护、可复用,比一大段写死的指令好用。
- 状态文件:记录进度,让明天的循环从今天停下的地方继续。
- worktree:让并行的 Agent 互不影响。
- /goal 停止条件:让另一个模型来判断到底达标了没有。
- 人类审核:PR 自动提交,但永远不自动合并。
苏米注:循环工程的价值不在于"让 AI 替你干活",而在于"让 AI 在受控的环境下替你干活"。约束写得越严格,循环越可靠。就像自动驾驶——省力,但在高速上你不能睡着。