你不该再给 AI 写提示词了,你该设计驱动它的循环

2026 年 6 月初,一句话在 AI 工程圈里被反复转发。开发者 Peter Steinberger 在 X 上写道

agent 写提示词了,你该设计那些替你提示 agent 的循环。几乎同一时间,Anthropic 旗下 Claude Code 的负责人 Boris Cherny 在一次访谈里说了几乎一样的话——他说自己现在已经不再亲手提示 Claude 了,而是有一堆正在运行的循环,由它们来提示 Claude、决定下一步做什么,“我的工作是写循环”。

紧接着,Google 的工程师 Addy Osmani 写了一篇长文,给这种转变安上了一个名字

Engineering,循环工程。这个词随后被 swyx、LangChain 等人和团队接力讨论,在短短两三周里成了一个新的行话。

如果你是写 agent 或者天天用编码 agent 的人,这个词值得认真对待。但它也很容易被误解成又一个营销概念,所以先把它讲清楚

,它从哪里来,以及它为什么偏偏在现在冒出来。

它到底是什么

最直白的定义来自 Osmani 本人

,就是把”你自己”——那个坐在屏幕前一句句给 agent 写提示的人——从流程里替换掉,转而去设计一套能替你完成提示的系统。

换个角度说,过去你和 agent 的关系是

,它做一步,你看结果,再说下一句。循环工程要做的,是把这个”你不断介入”的过程自动化成一个会自己跑的闭环——它能自己找出该做什么、派给 agent 去做、检查做得对不对、把进度记下来,然后决定要不要再来一轮,直到某个你定义好的目标达成。

理解它最好的方式,是把它放进一条逐层往上叠的谱系里:

最底层是提示工程,你优化的是输入给模型的那段文字,作用范围是单次调用。往上是上下文工程,Anthropic 把它定义为”策划什么信息进入有限的上下文窗口”,作用范围是一整段多轮对话和工具调用链。再往上是框架工程(harness engineering),你设计的是单个 agent 运行所处的整个环境。而循环工程,用 Osmani 的话说,就坐在框架的”上面一层”——同样的框架,但现在它跑在定时器上、会派生出子 agent、会自己给自己喂任务。

这里有个关键,很多人会误读

,不是替代关系。提示工程不会消失。循环是由提示构成的,循环里一个草率的提示,只会让你更快地、成百上千遍地产出草率的结果。所以与其说循环工程取代了提示工程,不如说它把提示工程的赌注放大了。

它并不是凭空冒出来的

虽然”循环工程”这个名字很新,但它脚下踩的东西大多已经存在好几年了。

最根本的基石是 2022 年的 ReAct。在那之前,你让模型解决复杂问题,它要么一口气把答案推理完(容易中途跑偏、越编越离谱),要么就直接行动(没有思考过程)。ReAct 让模型交替地”思考一步、行动一步、观察结果一步”,再循环回去。这套”思考—行动—观察”的节奏,就是今天几乎所有 agent 的内核。一篇 2025 年的综述直接称它为”构建大模型 agent 最流行的范式”。

在这之上还有一类”反思循环”。比如 Reflexion,它让 agent 在每次失败后用自然语言写一段自我检讨,存进记忆里,下次尝试时先把这段检讨读一遍再动手——靠语言而不是靠重新训练来变聪明,在 HumanEval 编程基准上做到了 91% 的一次通过率,超过了当时的 GPT-4。再比如 Self-Refine,让同一个模型分别扮演生成者、批评者和打磨者三个角色,在循环里反复改自己的输出,不需要任何额外训练就能在代码、文本、数学等一系列任务上稳定超过单次生成。

而把这一切收束成一句话的,是 Anthropic 的那个定义

agent,就是”在循环中自主使用工具的大模型”。Simon Willison 的说法几乎一字不差
LLM agent,就是一个在循环里运行工具去达成目标的东西。循环,从一开始就是 agent 的本质,只不过过去它藏在框架内部,现在被人单独拎出来当成一门需要专门设计的手艺。

为什么偏偏是现在

如果循环早就存在,为什么直到 2026 年才有人专门给它命名、把它当一门学科来谈?答案藏在一个数学事实里

假设你的 agent 每一步的正确率是 99%——听上去已经很高了。但如果一个任务需要它连续走 100 步,整体成功率就是 0.99 的 100 次方,只剩大约 37%。如果每步正确率降到 95%,只需要 20 步,成功率就掉到三分之一左右。更麻烦的是,有研究发现一种”自我条件化”效应

,它会更倾向于继续犯错,于是退化不是匀速的,而是加速的。DeepMind 的 Demis Hassabis 把这形容为”反过来的复利”。

这就解释了为什么”写一个完美的提示让 agent 一次做对”在复杂任务上行不通——步数一多,数学就不站在你这边。而循环工程的全部意义,恰恰是用验证、用终止条件、用”干活的和检查的分开”这些手段,去对抗这条复利曲线。

第二个推力,是长时间运行的编码 agent 真的火了。Claude Code、Codex、Cursor、Devin 这些工具要做的,往往不是回答一个问题,而是干一整个下午甚至一整夜的活。Anthropic 把这里的核心难题描述得很形象

只能在一段段离散的会话里工作,每开一个新会话,它对之前发生的事几乎一无所知——这就像一个软件项目交给轮班的工程师,每个新来的人都不记得上一班干了什么。要让这种 agent 稳定工作,你必须给它循环、给它会话之间能传递的外部记忆、给它验证器和明确的停止条件。这些恰恰就是循环工程要解决的问题。

真正难的地方,在于何时停、怎么验

把循环跑起来不难,难的是让它停在对的地方、产出对的东西。这里有几个实践者反复栽跟头、也反复强调的点。

第一是验证,而不是生成。 在一个循环里,生成几乎是免费的,反正它会跑很多遍。真正决定这个循环有没有价值的,是那个判断”做对了没有”的验证器。Osmani 有句话说得很重

,不会大声地失败——它会自信地、成百上千次地,成功产出垃圾。所以循环工程里最该花心思的,是定义一个机器能检验的成功条件。“所有测试通过、lint 干净”是一个真正的停止条件;“看起来不错”不是。而且,检查的活最好交给另一个 agent、甚至另一个模型去做,别让写代码的那个给自己的作业打分——它总会给自己打 A。

第二是终止条件。 各家框架的做法大同小异

的 SDK 给循环设了回合数上限,超了就抛错;Vercel 的 AI SDK 默认跑满 20 步就停;Claude Code 的 /goal 命令会一直跑到某个可验证的条件成立,而且每一轮都由一个独立的小模型来判断”到底完成没有”。最极端也最有意思的是 Geoffrey Huntley 的 Ralph 技术——本质就是一个 bash 的 while 循环,反复拿同一个提示喂 agent,靠一份外部 TODO 清单和每轮全新的上下文来收敛。他用这套方法,花了三个月几乎全自动地造出了一门完整的编程语言。

第三是成本,这是最容易失控的地方。 Agent 循环产生的模型调用,可能是单次提示的几十上百倍。所以老手都会在循环里装三道闸

、进展停滞的检测(如果最近几轮代码不再变化就停)、以及花费的金额上限。没有这三道闸,你跑的就不是循环,是一张敞着口的账单。有个流传很广的反面教材
在四个月里烧光了一整年的 AI 预算,之后给每个工程师的每个 AI 工具都设了每月 1500 美元的封顶。

第四是状态要放在上下文之外。 长时循环有条铁律

,而不是堆在上下文窗口里。因为窗口塞得越满,质量越差,压缩时还会丢细节、让模型”断了线索”。Huntley 把这个现象叫”上下文腐烂”。正确的做法,是用一份 markdown 进度文件、一块任务看板、或者 git 历史,作为循环的脊柱——agent 会忘事,但仓库不会忘。

第五是安全。 Simon Willison 有个让人后背发凉的定义

AI agent,就是一个在循环里破坏它所处环境的大模型。一旦你开了无人值守的自治模式,坏掉的 shell 命令可能删改你的文件,源码或环境变量里的密钥可能泄露。靠谱的做法是把循环关进沙箱(Docker、E2B 之类)、给最小权限、并且在涉及金钱、数据库这类敏感动作前留一道人工审批。

真实的系统是怎么做的

这些原则在今天的工具里都能找到对应。

Claude Code 提供了 /loop(按节奏重跑)、/goal(跑到可验证条件成立,由独立模型逐轮判定是否完成)、/batch(把一个大改动拆给几十个并行的 worktree agent),还有 hooks 和 GitHub Actions 的集成。Boris Cherny 据说把”循环”列为他们最自豪的功能。

LangGraph 的设计思路是把 agent 工作流画成一张允许”成环”的状态图——当信息需要在推理和工具之间反复流动时,这正是该用的结构。它被 Klarna、Uber、LinkedIn、摩根大通等公司用在生产环境里,内置了检查点、人工介入和防无限循环的递归上限。据它引用的一份行业报告,超过六成的生产 agent 事故都能归因到状态管理上,这也是为什么 LangGraph 把”显式、有类型、有检查点的状态”做成了核心。

往回看,2023 年的 AutoGPT 是最早把”自治循环”这个概念普及开的开源项目,它会把一个大目标拆成子目标自我提示着往下做。但它早期以”陷进死循环、卡死、脆弱”闻名,某种意义上,它就是误差复合问题最早的教科书案例——也正因为它的失败如此显眼,才有了后来这么多关于”循环该怎么设计”的思考。

它不会让工程师消失,但会换来三笔债

循环工程不会把工程师从流程里删掉,它反而会带来三笔需要你偿还的”债”。一是验证债

,那只是一句声明,不是一份证明。二是理解债
ship 出去的速度,会快过你能读懂它的速度。三是 Osmani 称之为认知投降的东西——你太舒服地接受了循环交给你的一切,慢慢就不再去做判断了。

Osmani 有句话,我觉得是这整件事最好的注脚。他说,两个人可以搭出一模一样的循环,却得到完全相反的结果——循环本身分辨不出区别,但你能。

所以,去搭你的循环。但要以一个打算继续当工程师的人的姿态去搭,而不是仅仅当那个按下启动键的人。


本文涉及的术语”Loop Engineering”于 2026 年 6 月在 AI 工程社区集中走红,目前仍是一个新兴、尚未完全标准化的说法。文中引用的部分性能数字来自厂商博客或个人实验,并非独立基准测试,请作为方向性参考。