Clippings
← 返回首页
Clipping

设计循环,而不是写提示词

从手动给AI Agent写提示词转变为设计自动循环系统,让Agent自我驱动和执行任务。

Image

几个月前我写过 Harness Engineering,结论是人不再亲手写代码,转去设计 Agent 跑的那条赛道。

Mar 23

当时觉得这已经够颠覆了,后来发现那只是个过渡。

最近 X 上冒出来个新词,叫 Loop Engineering(循环工程)。起因是 Peter Steinberger 那句被转疯了的话:你不该再给编码 Agent 写提示词,你该去设计那些替你写提示词的循环

紧接着 Anthropic 做 Claude Code 的 Boris Cherny 几乎说了一模一样的:我已经不给 Claude 写提示词了,我让循环跑着,由它们给 Claude 写提示词、自己想下一步干嘛,我的活就是写循环。

一个做产品的独立开发者,一个是 Claude Code 的负责人,位置完全不同的两个人,几乎同一时间说出同一句话。这种事一发生,话题就压不住了。

但我觉得它真正能传开,不在这两句话本身有多新鲜。Harness 那阵子大家其实已经隐约在做类似的事了,它能炸,是因为这回不再停在嘴上。

一年前你想搞这么一个循环,得自己写一坨 bash 然后伺候着它;现在不用了,Steinberger 拆出来的那几个零件,Codex app 里几乎全有,Claude Code 里也几乎全有。能直接上手,和只能空谈,是两回事。

然后Google 的 Addy Osmani 把这套东西从头到尾拆了一遍,下面是核心解读。

先泼盆冷水:Loop Engineering 还很早期,Addy 自己都说将信将疑,而且 token 烧得凶,循环一跑钱也自动地烧,账户富不富裕用起来差一个量级,别看着热闹就无脑上。

循环到底是什么

过去两年你用 Agent 是这样的:写个好提示词,把上下文喂够,打字,看回复,再打字。工具在你手里,一轮一轮你都得握着。

循环工程干的事,是把”握着工具的你”这个角色拿掉。你转而搭一个小系统,让它自己去找活、派活、验收、记账、定下一步,然后由它去催 Agent,而不是你。

Addy 的类比挺到位:Harness 是单个 Agent 待着的那个环境,Loop 盖在 Harness 上面一层。还是那套环境,只是它现在会自己定时启动、自己派小弟、自己给自己续上下一轮。

我自己琢磨了个更糙的说法:Harness 是把赛道修好,Loop 是让赛道自己发车。

Image

五个零件,外加一块记忆

Addy 列的五样,我尽量用人话讲:

第一个是定时自动跑的任务。负责自己发现问题、自己分诊,这是整个循环的心跳。

第二个是工作树,让两个 Agent 同时干活时别去改同一个文件、把对方覆盖掉。

第三个是技能,把项目里那些约定俗成的东西写下来,省得 Agent 每次都靠猜。

第四个是插件和连接器,把 Agent 接到你平时在用的工具上,issue、数据库、Slack 之类。

第五个是子代理,让出主意的和挑毛病的不是同一个,互相制衡。

还有第六样,记忆。可以是个 markdown,也可以是块 Linear 看板,反正是个活在单次对话之外的地方,记着干完了啥、还剩啥。

这块特别容易被当成无关紧要,但它恰恰是命门。模型每跑完一轮就忘光,下一轮等于重新投胎,所以记忆不能搁在上下文里,得落到硬盘上。Agent 会忘,仓库不会,这是所有长时间跑的 Agent 都绕不开的底层事实。

Image

值得一提的是,这五样 Codex app 和 Claude Code 现在都齐了,叫法不一样,干的活一样。

1、自动化,定时发现加分诊。Codex 用 Automations 标签页、/goal;Claude Code 用定时任务、/loop、/goal、hooks、GitHub Actions。

2、工作树,隔离并行。Codex 每个线程内置一棵;Claude Code 用 git worktree、—worktree、isolation: worktree。

3、技能,把项目知识写下来。两边一样,都是 Agent Skills,靠一个 SKILL.md 文件。

4、插件和连接器,接你的工具。Codex 是连接器(MCP)加插件;Claude Code 是 MCP 服务器加插件。

5、子代理,出点子加验证。Codex 在 .codex/agents/ 里用 TOML 定义;Claude Code 在 .claude/agents/ 里定义,还能组 agent 团队。

外加一块状态记忆,两边都用 Markdown 或者 Linear 看板。

看出两边形状一样之后,你就不会再纠结该用哪个工具,反正你设计的是那个换到哪儿都能跑的循环。

逐条拆开说

自动化是心跳

Codex 里你建一个,挑好项目、提示词、跑的频率,有结果的进收件箱,没结果的自己归档;OpenAI 内部就拿它干每日 issue 分诊、汇总 CI 失败这种没人爱干的活。Claude Code 用定时任务和 hooks 做到一样的效果,还能扔给 GitHub Actions,你合上电脑它接着跑。

这里有个跟主题最贴的命令叫 /goal,它会一直跑到你设的条件成立为止,而且每跑完一轮,是另一个小模型来判断到底完没完,写代码那个不负责给自己打分。这个命令两边都有。

工作树这块逻辑很直白

两个 Agent 写同一个文件,跟两个程序员没沟通就往同一行提交,是同一种灾难。git worktree 给每个 Agent 一份独立工作目录,物理上就碰不到对方。

不过 Addy 提醒了一句我觉得很清醒的话:工具能解决撞车,解决不了你。你能同时盯几个 Agent,取决于你 review 得过来几个,不是取决于工具能开几个。

技能说白了就是把你的意图写在外面

Agent 每次都是冷启动,你不写清楚它就自信地瞎猜。你把那些约定、构建步骤、还有”这事我们不这么干因为踩过坑”提前写下来,它每轮都来读,省得每次从零重新理解你的项目。

描述写得越平实越好,写花哨了反而不好触发。顺带一提,技能是写法,插件是分发方式,想共享或者打包就封成插件。

连接器决定了循环的手能伸多远

只能看文件系统的循环没啥用,接上连接器它才能去读你的 issue、查库、给 Slack 发消息。差别就在这儿:一个 Agent 告诉你”应该这么修”,和一个循环自己把 PR 开了、工单关了、CI 绿了往群里吼一声,是两个量级的东西。

子代理这条最值得说

核心就一句:别让写代码那个给自己打分,它太护短了。换个带不同指令、甚至不同模型的 Agent 来审,能逮住第一个自我说服蒙混过去的地方。

常见配法是一个探索、一个实现、一个对着需求验收,Codex 在 .codex/agents/ 里用 TOML 定义,Claude Code 在 .claude/agents/ 里定义。它在循环里尤其关键,因为循环是在你不看着的时候跑的,你敢走开的唯一理由,就是有个你真信得过的验收者在把关。代价是更费 token,所以用在那种”第二个意见确实值这个钱”的地方。

Image

一个循环跑起来什么样

把这些拼一块,一个对话窗口就成了个小控制台。

Addy 给的例子是这样的:每天早上一个自动任务在仓库上跑,调一个分诊技能,去看昨天 CI 挂在哪、有哪些 open 的 issue、最近提了什么,把发现写进一个 markdown 或者 Linear。

每条值得做的,就开一棵独立工作树,派个子代理写修复方案,再派第二个子代理对着项目规范和现有测试审一遍。

连接器负责开 PR、更新工单。它搞不定的,扔进收件箱等你。那个状态文件是整件事的脊梁,记着试过啥、过了啥、还欠啥,明早接着今天停下的地方往下跑。

注意这里头你干了啥:你就设计了它一次,那些步骤一个都没去手动提示。Steinberger 那句话,到这儿就落地了。

它替不了你的那部分,恰恰越来越要紧

循环改的是干活方式,没把你这个人删掉。而且有几件事,循环越顺反而越要命。

第一件是验收,还是你的。没人看着跑的循环,也是没人看着在犯错的循环。把验收子代理单拎出来,是为了让”我做完了”这句话有点分量,但说到底,“做完了”是它的说法,不是证据。你交出去的代码得你自己负责,这点 AI 再强也转移不掉。

第二件是你的理解会慢慢烂掉,只要你放任。循环越快地吐出你没写过的代码,“代码库里有的”和”你脑子里懂的”差得越远。这个差距 Addy 叫理解债,循环越丝滑,债涨得越快,除非你逼自己去读它写的东西。

第三件是最舒服的姿势往往最危险。循环自己转起来之后,人很容易就不动脑了,它给啥收啥。Addy 管这叫认知投降。同样是设计循环,你带着判断去做,它帮你提速;你拿它来躲开思考,它帮你加速烂掉。

最后

两个人搭一模一样的循环,结果可能完全相反。一个拿它在自己吃透的领域里跑得更快,一个拿它来彻底躲开”搞懂这件事”。

循环分不清这俩,你分得清。

Image

这也是为什么设计循环比写提示词更难,不是更简单。Cherny 想说的不是活变轻松了,是发力点挪了位置。

这两年我越来越确定一件事:过去攒下的那些架构判断、对系统在哪会崩的直觉、踩过的坑,原来比”打字快”值钱多了。循环能替你执行,替不了你判断。你越懂,循环搭得越稳,它跑出来的东西你才越敢信。

循环可以搭,但别把直接给 Agent 写提示词这条路忘了,两个都好用,看场景。搭的时候记着,你是奔着继续当工程师去的,不是奔着当那个只负责按启动键的人。

我是Yanhua,持续分享AI Agent最新内容,欢迎关注—> @yanhua1010

参考文章:

Addy Osmani,《Loop Engineering》,2026 年 6 月 7 日 https://addyosmani.com/blog/loop-engineering/

延伸阅读: