我们来聊聊一个正在悄然改变开发者工作方式的新范式:Loop Engineering(循环工程)。
你可能正处在这样的工作流中:打开 Claude Code 或 Codex,精心写一段 prompt,等它生成代码,你审查、测试,然后再写下一段 prompt。你握着方向盘,代理是引擎,你们在一个个“回合”中前进。但一些前沿的开发者和 Anthropic 的 Claude Code 负责人 Boris Cherny 提出了一个截然不同的观点:
“我不再直接提示 Claude 了。我让一些循环运行着去提示 Claude,并决定下一步做什么。我的工作是设计这些循环。”
这就是 Loop engineering 的核心。它不是让你更会写 prompt,而是让你退后一步,去设计那个“代替你写 prompt、分配任务、检查结果、并决定下一步”的系统。 你从操作机器的驾驶员,变成了设计整条自动化流水线的工程师。
下面,我会从概念本质、五大构建块、技术演化、哲学思考以及现实忠告这几个维度,把这件事彻底讲透。
一、从“你问AI答”到“AI自己跑流程”
想象一下传统模式:你是一个手工作坊的师傅,对着唯一的学徒(AI代理)口授指令。你说一步,他做一步,你看一眼,再接着说。这非常灵活,但上限就是你的个人带宽。
Loop engineering 则是你建立了一个小型工厂。 你设计好整个生产流程:什么时间启动哪条线,工件(任务)如何流转,工人之间如何协作不打架,质检怎么查,完工后通知谁。然后你按下启动按钮,工厂就自己运转起来。你不再亲口对每个工人发号施令,你维护的是这条流水线本身。
技术上,一个 loop(循环)可以被理解为一个递归目标:你定义一个最终目的(比如“处理完仓库里所有标记为bug的issue”),系统就反复执行“发现问题 → 指派代理 → 执行 → 验证 → 记录结果 → 寻找下一个问题”的循环,直到条件满足。
这背后是一种关键的责任转移:从“执行具体任务”转向“设计能够自主执行任务的系统”。
二、循环工厂的五大车间(及一块白板)
任何一套靠谱的循环工程系统,无论具体是 Claude Code 还是 Codex,都逃不出这五个基本构建块。它们是循环能够闭环跑起来的骨骼。
1. 自动化调度 —— 心跳
没有调度,循环就只是一次性脚本。你可以在工具里设置定时任务(类似 cron),比如每天早上自动触发一个“巡检代理”:它去读昨晚的 CI 失败日志、新 Issue、代码提交,然后做分诊(triage)。有发现就丢进任务池,没发现就默默归档。你不再是那个每天早上亲自去翻 Dashboard 的人,而是那个设计了“自动巡检流程”的人。Claude Code 里的 /loop 命令和 Codex 的 Automations 选项卡,都是在做这件事。
2. 工作树 —— 并行不冲突的隔离间
当循环让多个代理同时干活,最大的噩梦就是它们改同一个文件,产生冲突。Git worktree 提供了完美的隔离:每个代理在自己的独立工作目录里,基于自己的分支进行操作,共享仓库历史,但物理上完全不会踩到对方的脚趾。这就像给每个工人分配了独立的工作台,你把“不要互相干扰”这个底层约束直接焊死在了环境里。这样你才有胆量让一个代理写功能、另一个代理修 bug、第三个在重构,齐头并进。
3. 技能 —— 固化你的项目“常识”
你过去每次开新会话都要解释一遍:“我们这个项目构建用 pnpm,测试跑这个命令,别碰 legacy 目录,接口风格要遵循 xxx 规范。” 这些重复的解释就是所谓的 “意图债务”。Skills 让你把这些项目知识外化成一个 SKILL.md 文件,以及配套脚本、参考文档。代理每次启动都会自动加载这些技能。你不再每次解释,而是维护一份“新员工入职手册”。循环每一次迭代都带着这份手册运行,知识不断叠加,而不是每次都从零猜测。
4. 插件与连接器 —— 让循环的手伸出文件系统
一个只能读写文件的循环是半残的。通过 MCP 等协议提供的连接器,你的循环可以:
- 从 Linear/Jira 读回问题单
- 直接打开 PR
- 查询数据库验证数据
- 把结果发到 Slack 通知频道
这样,循环就能在你真实的协作环境里完成闭环:改完代码 → 提 PR → 关联工单 → 通知团队。你设计的不是一段代码的生成器,而是一个嵌入你团队工作流的数字员工。
5. 子代理拆分 —— 让写代码的和查代码的成为两个人
这是整个循环质量的生命线。让写代码的模型自己审查自己的产出,就像让考生自己批卷,它总能为自己的错误找到合理的借口。你必须结构化地拆分角色:一个子代理负责探索和实现,另一个子代理(常常用更强的模型或不同的指令)充当吹毛求疵的审查者,拿着技能手册和验收标准逐条核对。而且,循环的终止条件也不能让干活的那个代理自己判,必须由一个独立的检查者来判定“目标达成”。Claude Code 的 /goal 模式在内部就是这么做的。
+ 一块白板(持久记忆)
以上五大车间之外,还需要一个最朴素但最核心的东西:一份存在磁盘上的状态文件(Markdown、看板等)。模型在会话间会失忆,循环能连续跑几天的秘密,全在这份“交接班记录”里:上个循环做完了什么,哪些失败了,哪些还在进行。这是整个循环的脊椎。
三、技术演化的必然:代理从工具变成平台
回顾一下我们与 AI 协作的演化路径:
- Prompt Engineering:钻研咒语,让模型一次输出更好的结果。
- Agent Harness Engineering:为单个代理打造运行环境,给它工具(shell、浏览器、API)。
- Loop Engineering:在这之上再抽象一层,设计多个代理协作、按时间或事件驱动的自动化系统。
这是控制论里典型的“必要的多样性”上升:当你需要管理的不是一个代理,而是十几个并行任务的时候,你不可能再用点对点的手动操控。你必须制造一个比你反应更快、更能并行处理信息的调控器,这个调控器就是 Loop。你把你的执行意图,升级成了系统设计意图。
这也解释了为什么现在各个工具的功能块都在趋同:调度、隔离、技能、集成、多代理。因为解决多代理长期自治运行这个问题的最优解,形态是收敛的。以后你不再那么关心具体用哪个工具,而是专注于你设计的那个循环结构本身——它应当可以在不同平台上用相似的方式运行。
四、哲学岔路口:你是升维了,还是投降了?
Loop engineering 带来一个极其尖锐的思辨:你构建循环的动机,决定了它是在增强你,还是废掉你。
- 如果用它来逃避理解:循环越来越能自动出货,你就不再阅读它写的代码,不再思考架构决策。很快就出现了“理解债务”(comprehension debt)——项目在跑,但没人知道里面是什么。你失去了对系统的直觉,当循环跑偏进入一个微妙错误循环时,你已经没有能力救场了。这是认知投降,是工程师身份的慢性死亡。
- 如果用它来倍增判断力:你对项目有极深的把握,清楚地知道什么是正确的设计、什么是可接受的折中。你设计循环,是为了把那些你已经完全理解、但重复繁琐的验证与执行工作外包出去,从而解放出更多时间去攻克真正的难题。循环是你的下属,而你是总工程师。
所以,Boris Cherny 说“我的工作是写循环”,不是指工作变轻松了,而是指那个产生最大杠杆效应的作用点转移了。它从“如何对AI说话”转移到了“如何设计一个能自主做出好决策的系统”。这需要更强的系统设计能力、架构把控力,以及更苛刻的测试与验收素养。
五、给实践者的务实忠告
在你兴奋地开始搭建自己的循环工厂之前,请把这几条刻在心里:
- Token 成本会指数级放大:循环会自动产生大量内部对话和子代理调用。如果你不设上限或不做成本监控,账单会相当壮观。要区分“token 富有”任务和“token 贫穷”任务,只在价值高的地方用。
- 验证必须你亲自设计且不可放松:循环自称“完成”只是一句声明,不是证明。你的核心工作是确立验证标准、编写测试、审核关键代码。将审查代理当成你延伸的眼睛,但最终签字的责任人仍然是你。
- 在循环中保留你的理解回路:可以定一个原则——循环产出的每一段代码,在合并前你至少要阅读并理解其核心逻辑。不仅仅是靠审查代理,你的大脑才是防止系统腐化的最后屏障。
- 平衡手动与自动:不是所有任务都适合扔进循环。一次性的探索、架构决策、模糊的新功能设计,仍然值得你亲自下场和代理多轮对话。直接 prompt 的灵活性和带宽,在不确定性强的工作里依然无价。
- 循环的特性会放大你的工程素养:两个人搭出外观完全相同的循环,一个因持续跟进而获得加速,另一个因放任不管而挖下大坑。循环是中性的放大器,它放大你的代码品味、你的严谨、你的责任心——或者是它们的缺失。
六、结语:建造循环,但要保持工程师的本色
Loop engineering 的确可能是未来我们与编码代理协作的主要形态。它让我们有机会从重复的反馈循环中抽身,上升到系统设计者的位置。但请记住,这个行业的本质从未改变:我们最终交付的不是代码,而是保障生产质量的可靠系统,以及我们对这个系统的透彻理解。
因此,大胆地去设计你的循环,用自动化的调度、隔离的工作树、可复用的技能、畅通的连接、分权的审查,去组装属于你的软件工厂。但同时,每天审视它产出的东西,挑战它的决策,像带徒弟一样“教导”它。你设计的循环越强大,你越应当成为那个在必要时可以一巴掌拍停它,并且能够手工接管、解决它造成的任何混乱的老派工程师。
用文中的那句话收尾最合适不过:
Build the loop. But build it like someone who intends to stay the engineer, not just the person who presses go.
(构建循环,但要带着一种“我依然打算当那个工程师”的心态去构建,而不仅仅是那个按下启动按钮的人。)