系列的终章。到目前为止你学的是那些零件:memoria、GitHub、RAG、brain、C-A-R、agent-browser。loop engineering 是把它们变成一个自主系统的胶水:AI 不再是「聊天另一端的某个人」,而变成一台自己朝目标迭代的发动机。我给你讲清这个循环、让你免于一张意外账单的三道刹车,以及怎样用真实存在的命令搭起你的第一个循环。
想想你今天是怎么跟 AI 一起工作的。你写一条指令。等待。读它做了什么。你说「现在改这个」。再等。检查。「现在加上那个」。一遍又一遍。它管用——但有个悄无声息的问题:一切的发动机是你。你的注意力就是燃料。你一起身去倒杯咖啡,整个项目就冻住了。
loop engineering 的那个瞬间,是当你想到:「如果我不必守在这儿给每一步上发条呢?如果我给它一个目标,它就自己想办法一直做到完成呢?」。这就是它的全部。Firecrawl 一篇讲这个主题的文章说得很好:有了 loop engineering,AI 不再是坐在聊天另一端的协作者;它变成一个被程序在循环里反复调用的函数。
不做这个跃迁的痛是真实而诚实的——它不是世界末日,而是慢性消耗。这些是症状:
任何循环,无论多简单或多复杂,都围绕同样这四步转。把它们记牢,因为它们是一切的精髓:
和普通聊天的区别就在第四步:是 AI 决定要不要继续,不是你。循环自己一直跑,直到目标达成,或者直到撞上一个你设的上限(下面就讲这些上限,它们是神圣的)。
这是没人告诉你、却又最重要的部分。一个自己跑的循环,可以自己烧掉额度。loop engineering 的大部分功夫,不在于让 AI 迭代——而在于阻止它无休止地迭代、把你账户掏空。有三道刹车必须永远存在:
loop engineering 不是你做一次的事。它是一种持续的思维转变。每次你要用 AI 做一个任务,在写第一个 prompt 之前,问问自己:「这是一条零散的消息,还是一个循环?」。大多数大任务,都是伪装成许多消息的循环。
这里是好消息:你不用编什么奇怪的程序。如果你用像 Claude Code 这样的现代代码智能体,它已经把这些零件都装好了。这些命令都是真实的,而且在它的官方文档里:
/goal <condición> —— 朝目标前进的循环之核。你定一个条件,每一回合之后,一个快速模型会检查条件是否已满足;如果没满足,Claude 自己再开一圈,而不是把控制权交还给你。这就是「一直干到变绿为止」。它需要一个可验证的条件(例如「所有测试通过」「git status 干净」)。/loop [intervalo] [prompt] —— 按时间重复,而不是朝目标迭代。每隔一段时间执行一个 prompt(/loop 5m revisa el deploy),或者不给间隔,由 Claude 自己选节奏。适合盯着某个东西,而不是「达成 X」。别把它和 /goal 搞混。/schedule —— 创建云端例程:定时任务(每小时、每天),即使你合上笔记本也照跑,或者对 GitHub 的事件做出反应。/batch —— 把一个大工作拆成 5 到 30 个并行单元,每个都在自己独立的子智能体和自己隔离的 worktree 里;每个做自己那部分、跑测试,并开自己的 pull request。(这是循环的工业版,用于迁移和大规模改动。)/goal。要「每 5 分钟盯一次部署」你要的是 /loop。把它们弄混,是头号新手错误。而让一个 loop 变得可靠的那些配套零件也都存在:worktrees(claude --worktree)让多个智能体各干各的不互相踩脚,skills(带一个 SKILL.md 的文件夹)让 AI 不必每次都重新发现你的上下文,hooks 把动作挂在关键时刻上,以及 MCP 连接器让循环能够到外部工具(Slack、GitHub、你的数据库)。
这里有个几乎所有教程都跳过、却是关键的细节:循环不会因为你把任务描述给它就自己启动。粘一段说「搭一个修好我测试的 loop」的长文,只会让 AI 给你设计出方案——但不会执行它。要让 AI 真正开始迭代,你得明确地写出命令(在 Claude Code 里是 /goal 或 /loop)。是两步:先设计,再调用。
/goal … 或 /loop …)。这是好事:它逼你在放开机器之前先批准设计和刹车。设计和执行是被特意分开的。第 1 步 —— 设计这个循环。把下面这段粘给你的智能体,填好那些[方括号]。它会回给你方案、刹车,还有——很重要——你接下来该敲的准确命令:
我想为这个任务搭一个自主循环(loop engineering):[DESCRIBE LA TAREA,例如:「找出并修好所有失败的测试」或「深入调研我的 5 个竞品并综合成一份报告」]。 我的工具是:[Claude Code / Cursor / 其他]。在设计之前,看看我的项目,告诉我这个任务里哪个命令或哪个信号能当作「真相」(例如真正的测试命令,或「完成」是怎么衡量的)。如果你找不到,就问我。 跟我一起按 行动 → 观察 → 推理 → 重复 这个循环来设计它。我要你用清楚的语言给我提出: 1. 目标:准确且可验证的「完成」条件(我们怎么知道循环该停,因为它是真的达成了)。 2. 对这个任务来说,用开环(自由)还是闭环(划好步骤)更合适,以及为什么。 3. 循环:AI 每一圈做什么(行动)、怎么检查结果(观察)、怎么决定是否继续(推理)。 4. 分工:一个智能体负责做,另一个不同的智能体负责验证结果(包括下面的反作弊规则)。 5. 4 道刹车,强制必须有: - 迭代上限(最多转多少圈)。 - 停滞检查(转了 N 圈之后如果不再前进就停)。 - 花费上限(token 或时间的额度)。 - 反作弊规则:禁止为了假装成功而删除、跳过(skip)或削弱被验证的东西。必须修根因(真正的代码),不能打个补丁去掩盖症状。如果某一圈弄坏的比修好的还多,就回滚那一圈。 6. 我应该由我自己敲下的准确命令,用来执行它(别你自己跑)。在 Claude Code 里:如果任务是「迭代到满足某个条件」就用 `/goal <condición>`;如果是「每隔一段时间重复」就用 `/loop <intervalo> <prompt>`。给我已经写好、可以直接复制的那一行,把停止条件和刹车都包含进去。核实这个命令是真实存在的;别给我编。 7. 在它跑的时候我能监督什么,每圈一行、即使我不会编程也读得懂,以免掉进理解债。 先只给我看完整的设计、4 道刹车和该敲的准确命令。别执行循环:等我批准设计后,由我敲命令来触发它。
第 2 步 —— 用命令触发循环。当设计和刹车都让你满意了,现在你才敲下 AI 给你的那个命令。要「一直干到满足某个条件」(最常见的),在 Claude Code 里是 /goal。比如修测试就大概是这样:
/goal todos los tests pasan (corre la suite completa), sin borrar ni omitir ningún test, máximo 15 vueltas
从此,AI 每一回合之后自己去跑、观察结果、推理、再试一次,直到一个快速模型确认条件已满足(或者直到撞上一道刹车)。如果你想要的是每隔一段时间重复某件事(比如盯一个部署)而不是朝目标迭代,那命令就是 /loop:
/loop 5m revisa si el despliegue terminó y avísame qué pasó
为了不把事情搞复杂,下面是你的代码智能体单靠聊天就能做的,以及仍然是你的决定的:
/goal 或 /loop),它就自己把一圈圈跑完:行动、观察、推理、重试,直到满足条件或撞上刹车。/batch 为大任务并行启动智能体(审计、调研、迁移)。SKILL.md),好让循环可复用。/goal … 或 /loop …):它不会自己启动,是你在看过方案后把它点着的。Join 4,200+ builders. No credit card. Build your first app with AI in minutes.