最近圈子里突然都在聊一个词,叫 loop engineering。
它说的是这么个意思:以后用 AI 编码 agent,不该再手动一次次 prompt 了。你应该设计一套系统,让这套系统去 prompt agent、驱动 agent、替你跑完整个流程。
听着挺唬人。但老实说,我第一反应不是新鲜,是熟悉。
因为做 MewDesign 这一年,我不知不觉就一直在干这件事——只是一直没个名字。直到这个词冒出来,我才发现,原来我每天在做的事,已经有人替我总结了。
这篇不讲玄学。我用 MewDesign 这一年攒下来的真实经验,把 loop engineering 从里到外拆给你看。
01 - 先把它翻译成人话
过去两年,我们用编码 agent 的方式基本是固定的:写一个好 prompt,给够上下文,然后一问一答。你打一段字,它回一段;你看了结果,再打下一段。
整个过程里,你一直「握着」agent。它是工具,你是手握工具的人,一轮接一轮。
loop engineering 想说的是:这件事快结束了。
彼得·斯坦贝格(Peter Steinberger,OpenClaw 的作者)讲过一句话,大意是——你不该再 prompt 编码 agent 了,你应该设计 loop 来 prompt 它们。Anthropic 负责 Claude Code 的 Boris Cherny 说法更直白:我现在不 prompt Claude 了,我有 loop 在跑,我的工作就是写 loop。
翻译成人话就是:你不是那只一直按按钮的手,你是造那台自动按按钮机器的人。
听起来像偷懒,其实正好相反。这一点我后面会讲。
02 - loop 不是 cron job,差在一个东西上
讲到这里,最尖锐的一个反问一定会冒出来:
如果 loop 只是「定时跑同一个 prompt」,那这玩意不就是个 cron job 吗?定时任务,比我们在座很多人都老。
这是个好问题。区别就一个,但它重要到值得单独讲。
cron 跑的是一段固定脚本。你写死了它该干嘛,它到点就执行,执行完拉倒。它不会思考,也不会因为这次结果不对就换个做法。
loop 跑的是一个 agent。它会看当前状态,自己决定下一步干嘛,做完之后检查结果,然后再决定:是继续、重试、回滚,还是停下来。
一个跑死脚本,一个会自己做决定。这就是全部区别。
但这一丁点区别,恰恰是这一年 AI 真正变化的地方。模型强到可以在循环里自己做决策了——决策权从你手里,挪进了循环里面。
loop engineering 后面所有的花活,都是围绕这一件事长出来的。
03 - 一个 loop 要立起来,得有五样东西
那么,设计一个 loop 到底要搭什么?Boris 那句「我的工作就是写 loop」听着很酷,但它到底长什么样?
拆开看,基本是五样东西,再加一样用来记事。
一、自动化(Automations):这是 loop 的心跳。它定时去发现活儿、分诊活儿,而不是等你想起来才去点一下。比如每天自动过一遍新 issue、自动总结昨晚 CI 挂在哪、自动找出最近一周引入的 bug。没这个,你所谓的 loop 就只是一次性跑了一次。
二、工作树(Worktrees):一旦你让多个 agent 同时干活,它们写文件就会打架——两个 agent 改同一个文件,跟两个工程师抢着提交同一行代码是一模一样的头疼。工作树给每个 agent 一个独立的工作目录,它们改的是各自的副本,物理上踩不到彼此。
三、技能(Skills):这是我最熟、也花时间最多的一样。说白了就是把项目知识写下来,别让 agent 每次像个失忆的人一样重新猜。代码风格、设计偏好、什么算「能交付」、哪些坑别踩——这些固化成 skill,agent 需要时自己取,你不用每次重新讲一遍。
四、插件和连接器:把 agent 接进你已经在用的那些工具里——代码库、任务看板、数据库、设计文件。loop 要替你跑,得先能摸到你干活用的那些东西。
五、子 agent(Sub-agents):一个 agent 负责出主意,另一个负责验。这件事很关键:写代码的那个 agent,不能也是给代码打分的那个。自己给自己打分,基本等于没打。
第六样,是记忆(Memory):听着最不起眼,其实是地基。agent 每次对话之间是会忘的,所以「什么已经做完了、下一步要做什么」必须落在磁盘上、落在看板上、落在数据库里——落在任何活在单次对话之外的地方。
有句话我特别喜欢:agent 会忘,但代码库不会忘。循环里所有跨轮次的状态,都得让它离开对话、住进硬盘。
04 - 在 MewDesign 里,它们长什么样
讲到这里你可能觉得,这五样东西挺全乎,那 MewDesign 用上了几样?
老实讲,有的我用得很重,有的我还在补。但我想说的不是「我全用上了」,而是——一旦你决定把决策权交给 agent,你就自然需要这些东西来给它兜底。
比如技能。我做 MewDesign 之后,写得最多的不是代码,是规则。什么样的设计算「能用」——文字必须完全保留、logo 和二维码要放进去、要能打印、改气质但不能破排版——这些都得一条条写清楚,交给 agent。我一直坚持默认不让用户选模型,因为我觉得结果不好,不该赖用户「模型选错了」。这其实就是 Skill 在干的事:把「什么叫好」写死,让 agent 替用户兜底。
比如子 agent。MewDesign 是我和合伙人一起做的,她负责产品调性和审美判断,我负责 AI Agent 和技术。这个分工本身就是「一个生成、一个验收」——产品不能自己给自己打分。后来我把类似的逻辑挪进了系统:生成的环节和检验的环节,得分开。
比如记忆。我们从不会让一个 agent 靠「记得上下文」来推进,因为模型真的会忘。状态永远要落到 repo、落到数据库、落到看板上。这件事,踩过坑才会真信。
至于自动化和工作树,有的我还没全铺开。这里我想讲一个自己的固执:我不会提前过度开发。只有当某个大模型的能力真正跃迁了,我才会去把对应的模块重构成 loop 的形态。跑在模型前面,基本是白花钱。节奏要跟着模型迭代走。
所以五件套不是一张 to-do list 照着勾。它更像是:你把决策权交出去多少,就需要多少兜底的东西。
05 - 没有「可验证目标」,loop 就是个焚币炉
最后一节,我想讲一个最容易被新词盖过去、但其实最要命的东西。
一个 loop 要能成立,光有上面五样还不够。它最最起码得有一样东西:一个能告诉它「什么时候算完」的判断标准。
这个标准可以是硬的,比如测试全过、CI 变绿;也可以是软一点的,比如一个独立的模型,检查 UI 跟需求对不对得上。但不管软硬,必须有这么一个检查存在。
为什么?我借用一句别人讲得很狠的话:如果你搭了一个 loop,却没有可验证目标,那你造的不是 loop,是一台「自信的焚币炉」——它特别自信地、一刻不停地、替你烧着 token,永远不停,因为它根本不知道该停。
这句话我太有共鸣了。
做 AI 产品的人应该都懂这个感觉:AI 产品跟传统产品不一样,每个用户进来都可能带来 token 成本、生成成本、重试成本。用户越多,成本线性往上走。所以我一直说,对 AI 产品来说,不转化的用户不是资产,是负债。
loop 是一模一样的道理。它替你跑,但它烧的是你的钱。它需要有个东西告诉它:够了,可以停了。否则它就不是在帮你,是在持续地、自动地、替你烧钱。
loop engineering 这件事,你得同时算两笔账:一笔是它能帮你省多少事,一笔是它可能替你烧多少钱。只算第一笔,很容易把自己算死。
06 - 最后
回到最开始那个问题:loop engineering 是不是又一个 buzzword?
名字肯定是新的。这两年我们眼看着词一个个冒出来:prompt engineering、context engineering、harness,现在又来一个 loop engineering。
但你要是把它们摆一起看,会发现它们说的是同一件事:怎么尽可能好地驾驭模型。只是模型在变强,我们的驾驭手段也跟着升级。
真正发生变化的,从头到尾就一件事:决策权,从人手里挪进了循环里。一旦挪过去,人就跟着上升了一层——从一个每次按按钮的人,变成一个设计这套按钮系统的人。
这就是 Boris 那句「我的工作就是写 loop」的真正意思。不是偷懒,是升级。
如果非要把 loop engineering 压成一句话,我愿意用我这一年最信的那句:
AI 做执行,人做判断。 loop engineering,只是给这件老事情,换了个更准确的新名字。