当 AI 学会「自己催自己」:对 Loop Engineering 的理解与思考

作者:莫西很trouble日期:2026/6/19

先说一个让我「咯噔」一下的瞬间

前段时间看到 Claude Code 负责人 Boris Cherny 说了句话,大意是:我已经不写 Prompt 了,我只写 Loop

我的第一反应是:啊?Prompt 不是刚学会怎么写好吗?怎么就又过时了?

但仔细想了下这句话背后的意思,突然意识到它不是在讲什么新技术,而是在讲一个我们早就该意识到的问题 ——如果每次用 AI,你都要在它身边喊「继续」「还是报错」「你改了啥」「回滚」,那说明你其实不是在用工具,你是在当监工

而 Loop Engineering 想做的事,就是把这个「监工」也裁掉


我理解的 Loop Engineering 到底是什么

一句话版本:

把「你盯着 AI 干活、不断纠正它」的过程,写成一套自动化流程,让 AI 自己盯着自己

它跟写 Prompt 的核心区别在于:

写 Prompt设计 Loop
你告诉 AI 要做什么你告诉 AI 怎么自己检查自己做没做好
只描述任务同时描述任务 + 验收标准 + 失败后的纠偏路径
你守在旁边等着纠错你想好所有可能的坑,提前把纠错逻辑写进流程
一次性的指令一个能自己转起来的闭环

本质上,Loop Engineering 是把**测试驱动开发(TDD)**的哲学搬到了 AI 交互上

TDD 说:先写测试用例,再写代码。Loop Engineering 说:先定义「什么算做好」,再让 AI 跑

区别只在于 —— TDD 跑测试的是你,Loop Engineering 跑测试的是 Agent 自己


为什么这个概念现在突然火了

我梳理了一下时间线,发现这不是偶然:

  1. 模型能力到位了。不管是 Claude、GPT 还是 Gemini,现在的模型已经足够聪明,能够在大多数任务上给出「还行」的结果。问题的瓶颈不再是「模型做不出来」,而是「模型做出来的跟你要的有差距」
  2. Agent 基础设施成熟了。Agent Loop(工具调用 → 观察结果 → 继续调用)已经是标配。Claude Code 有 Hook、Cron、Sub Agent、Worktree 隔离;Codex 也有类似的能力。基建铺好了,就差一套方法论
  3. 大家都在喊累。「继续」「还是报错」「你改了啥」「先别重构」成了 Claude Code 用户的高频词。AI 确实帮了忙,但人还是被拴在交互循环里。效率提升遇到了天花板

这三件事叠加在一起,Loop Engineering 的出现几乎是必然的 —— 它解决的恰恰是这个「天花板」。


两个 Loop,别搞混了

我把原文里最核心的区分用自己的话重新说一遍:

Agent Loop(底层循环):模型收到任务 → 判断要不要调工具 → 调工具 → 拿到结果 → 再判断要不要调工具 → …直到输出最终答案。这是 Agent 的「心跳」,是代码层面的事

Loop Engineering(上层循环):你给 Agent 一个任务 + 验收标准 → Agent 干活 → Agent 自己跑测试 → Agent 发现不对就自己改 → Agent 再测试 → …直到达到标准。这是人设计的流程,是方法论层面的事

打个比方:

  • Agent Loop = 汽车引擎的四个冲程(进气、压缩、做功、排气),是物理规律,每辆车都有
  • Loop Engineering = 你给车装上自动驾驶系统,设定目的地,然后它自己规划路线、自己避开拥堵、自己调整方向

前者是「这辆车能跑」,后者是「这辆车能自己开到目的地,不用我握方向盘」


六个组件,我的理解排序

原文讲了 Loop Engineering 的六大核心组件,我把它们按照「从最基础到最进阶」的优先级重新排了一下,加上自己的判断:

第一层:没有它们,Loop 跑不起来

① Connectors / Plugins(连接器) — 这是 Agent 的「手和脚」。没有 MCP 和各种 API 对接,Agent 就是个只会说话的脑袋,什么都做不了

② State(状态管理) — 这是 Agent 的「记忆」。不记录「做到了哪一步」,Loop 每转一圈都像第一次转。这里原文提的方法是 AGENTS.md 或对接 Linear,我觉得核心不是用什么工具,而是让 Agent 能知道自己从哪来、到哪去

第二层:没有它们,Loop 跑不稳

③ Worktrees(工作树隔离) — 多个 Agent 同时跑的时候,这是避免「互相踩脚」的关键。我理解这其实不是一个 Loop Engineering 特有的需求,而是并行 Agent 的通用基础设施。但它的重要性被很多人低估了 —— 两个 Agent 同时改同一行代码导致的 bug,排查起来比单线程 bug 痛苦得多

④ Automations(自动化调度) — 这是 Loop 的「发动机」。Cron 定时任务、/loop 命令、Hook 触发……让 Loop 不光能「手动启动一次」,还能「定时自己跑」。这里我特别认同原文的一个判断:不是所有任务都值得做成定时 Loop。如果流程固定,写成脚本能省很多 Token

第三层:没有它们,Loop 不够聪明

⑤ Sub Agents(子智能体) — 这是 Loop 的「质检员」和「专项小组」。原文提到一个我特别认可的设计哲学:验证 Sub Agent 必须跟主 Agent 解耦,不能既当运动员又当裁判员。这其实就是软件工程里的「code review 不能由写代码的人自己做」在 AI 时代的翻版

⑥ Skills(可进化的技能包) — 这是 Loop 的「肌肉记忆」。每一次 Loop 转完,把经验沉淀成可复用的 Skill,下次就不用从头推理。这才是真正的「越用越聪明」。我理解这跟 RAG 里的知识库是同一个思路,只是粒度更粗、更面向任务


一个让我脑子里「通了」的类比

如果把 AI Agent 比作一个新来的实习生

  • 写 Prompt = 每次给实习生下一份详细的任务说明书。「把这个 Excel 里的数据按这 5 条标准分类,输出到一个新表里」
  • Agent Loop = 实习生拿到说明书之后,自己查资料、问同事、用工具,一步步把活干了
  • Loop Engineering = 你不光给了任务说明书,还给了验收清单、自检流程和纠偏手册。「分完类之后,自己随机抽 20 条检查准确率;如果不到 95%,看看哪些类型最容易分错,把那几类的判断准则再细化一下;然后再分类、再检查,直到达标。最后把你稳定下来的判断标准整理成文档。」

区别在哪?

第一种,你省了干活的时间,但没省检查的时间

第二种,你连检查的时间也省了,你只需要最后确认一下结果就行

这就是 Karpathy 说的:「把你自己从 Loop 的执行过程中移除出去」


不是所有人都该急着上 Loop

我觉得这是原文最有价值但也最容易被忽略的部分。用 Loop 之前,先问自己三个问题:

  1. 你能不能说清楚「做到什么程度才算好」? 如果你连验收标准都写不出来,那 Loop 等于瞎子开车
  2. 你的验收标准本身对不对? 如果验收标准有漏洞,Loop 会把漏洞放大 —— Agent 花费大量 Token 优化出一个在错误方向上的「完美」结果
  3. 你现阶段是不是真的需要自动化到这种程度? 如果任务只做一次,或者你自己都还在摸索需求,那 Human-in-the-Loop 不但不落后,反而是更理智的选择

Loop Engineering 提高的不是 AI 的上限,而是提升了对你(使用者)的要求。你得比原来更清楚自己要什么、怎么判断要到了、没要到该怎么办

模糊的需求 + Loop = 烧着 Token 跑偏路

清晰的需求 + Loop = 省时省力的自动化流水线


几个判断

写到最后,想逼自己输出几个明确的观点:

  1. Loop Engineering 不是新发明,是新命名。 它本质上是把 TDD、CI/CD、自动化测试这些软件工程的老概念搬到了 AI Agent 上。但「给旧东西起新名字」本身就有价值 —— 它让模糊的实践变成了可讨论、可优化、可传播的术语
  2. Prompt 不会被取代,但会被升维。 Loop 不是不写 Prompt 了,而是把 Prompt 拆成了「任务描述 + 验收标准 + 纠偏策略」三个部分。Prompt 工程从「一段话」变成了「一套流程」
  3. 未来一年,会出现「Loop 模板市场」。 就像现在有 Prompt 模板,未来一定会有针对不同场景的 Loop 模板 ——「代码审查 Loop」「日报生成 Loop」「数据分析 Loop」。好的 Loop 写起来比好 Prompt 难得多,复用价值也高得多
  4. Loop Engineering 的终局不是「人完全不用管」,而是「人只在最有价值的时候介入」。 人不再当监工,而是当架构师 —— 设计流程、定义标准、处理 Agent 搞不定的边缘情况。人的精力从「催进度」和「改 bug」里解放出来,去干更需要创造力的事

最后

Loop Engineering 这个概念让我想起一个老笑话:

一个程序员花 5 天写了一个脚本,自动完成一件每天需要 5 分钟的事情。他一共需要连续运行这个脚本 300 年才能收回时间成本

但笑完想想,AI 时代可能正好相反:

你花 1 小时写了一个 Loop,让 Agent 自动完成一件本来每次需要 5 小时的事情。你跑第一次就赚回来了

工具的价值不在于「做了以前做不了的事」,而在于「让以前能做但太贵的事,变成顺手的事」

Loop Engineering,就是在做这件事


当 AI 学会「自己催自己」:对 Loop Engineering 的理解与思考》 是转载文章,点击查看原文


相关推荐


限流:从单机QPS计数器到分布式三层防御体系
程序员小策2026/6/11

大家好,我是程序员小策。 先说一个反直觉的事实:加了限流之后,你系统的成功请求数量反而可能变多。 听起来很荒诞对吧?限流的字面意思就是"拦住一部分请求",拦住了怎么可能变多? 但数据不会骗人: 场景总请求数成功数成功率不限流5000000%加了限流50000500010% 不限流的时候,50000 个请求全部涌入数据库,连接池打满,超时重试又制造了一倍流量,雪崩导致所有接口全部失败——包括那些只想来浏览商品页的正常用户。 加了限流之后,50000 个请求里被拦掉了 45000 个,但这


Java学习笔记之泛型
飞翔网2026/6/4

前言 写 Java 代码时,你一定见过 List<String>、Map<Integer, String> 这种尖括号写法。这就是泛型(Generics)——Java 5 引入的最重要的语言特性之一。在没有泛型的时代,集合里塞什么都可以,取出来必须强制转型,稍不注意就 ClassCastException(类转型异常)。泛型的出现让类型安全从运行时提到了编译期。 但这只是泛型的冰山一角。泛型真正的难点在于类型擦除、通配符、PECS 原则——理解了这些,你才算真正掌握了泛型。 一、概念:什么是泛


【SpringBoot+Elasticsearch 内容搜索系统实战】:架构设计与全流程实现
fengxin_rou2026/5/29

🔥你好我是fengxin_rou这是我的个人主页fengxin_rou的主页 ❄️欢迎查看我的专栏我的专栏 《Java后端学习》、《JAVASE基础》、《JUC并发》、《redis》、《JVM虚拟机》、《MYSQL》、《黑马点评》、《rabbitmq》、《JavaWeb+AI的talis学习系统》、《苍穹外卖》 目录 前言 一、Elasticsearch 索引设计与初始化 1.1 核心概念类比 1.2 索引初始化实现 1.3 字段设计要点 二、搜索索引数据写入与同步机


深入理解 Kotlin 协程 (六):进退有度,解密协程取消响应与异常分发机制
雨白2026/5/7

协程的取消机制 取消协程需要协程内部配合,这点和线程一样,本质上也是协作式的取消,就是将状态设置为取消,协程内部根据状态的变化来响应。 完善 Job 的状态流转与取消通知 我们基于上一篇博客中的代码,来完善协程的取消逻辑。 首先支持协程取消回调的注册: // [AbstractCoroutine.kt] override fun invokeOnCancel(onCancel: OnCancel): Disposable { // 1. 创建回调包装对象,以便后续可以手动解绑 v


Flink+Kafka:数据流处理实战指南
渣渣盟2026/4/27

目录 代码结构 代码解析 (1) 主程序入口 (2) 定义数据流 (3) 使用旧版 Kafka Sink (4) 使用新版 Kafka Sink (5) 将数据写入 Kafka (6) 执行任务 代码优化 交付保证 异常处理 动态 Topic 优化后的代码 这段代码展示了如何使用 Apache Flink 将数据流写入 Kafka,并提供了两种不同的 Kafka Sink 实现方式。以下是对代码的详细解析和说明: 代码结构 包声明:package sink


OpenClaw——让龙虾像真人一样控制桌面的SKILL(macOS版)
KD2026/4/19

一、背景 工作中要做一个桌面控制相关需求,试了下ClawHub现有Desktop Control skill,发现都有一些不好用的地方,或者与macOS系统不够适配,因此写了一个新skill供大家使用和交流 二、概述 这个Skill主要链路如下: 三、具体步骤实现拆解 1.初始化 这一步是最关键的,也是很多现有skill缺失的一步。第一版本先只做Retina屏兼容 在 macOS 上,即使截图和点击都用 Python,也仍然需要先确认几件事情: 截图图像尺寸是多少 屏幕逻辑尺寸是多少 鼠标


AI Agent 智能体开发入门:AutoGen 多智能体协作实战教程
Halcyon.平安2026/4/10

本文通过 AutoGen 框架,从单智能体到多智能体协作,循序渐进地讲解如何构建 AI Agent 系统,包含完整的代码示例和架构设计。 1. 多智能体协作架构 #mermaid-svg-TX83Bcl6adrsEqiY{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}


Claude Code 防上下文爆炸:源码级深度解析
lizhongxuan2026/4/2

基于 Claude Code v2.1.88 源码还原分析。本文从源码层面拆解 Claude Code 如何在长对话中管理上下文窗口,防止 token 爆炸,同时保持用户意图不被稀释。 问题:为什么上下文会爆炸? Claude Code 是一个 agentic coding 工具。一次典型的编码会话中,模型会: 读取十几个文件(每个几百到几千行) 执行 shell 命令并获取输出 搜索代码库(grep/glob 结果可能很大) 编辑文件并查看 diff 调用子 agent 处理子任务 每一


【万字长文】从 AI SDK 到 mini-opencode:一次很巧的 Go Agent 架构实践
mCell2026/3/25

同步更新至个人站点:从 AI SDK 到 mini-opencode:一次很巧的 Go Agent 架构实践 相关链接: 从零构建 Mini Claude Code:stack.mcell.top/blog/2026/a… 本次 Mini OpenCode 仓库地址:github.com/minorcell/m… Memo Code:memo.mcell.top/ 前阵子,我写过一篇 从零构建 Mini Claude Code 的 Agent 开发入门教程。 那次基本是顺着 AI SDK


Rust宏编程完全指南:用元编程解锁Rust的终极力量
土豆12502026/3/17

"宏就像是编译器的魔法棒,挥一挥,重复的代码就消失了。" —— 某位深夜 debug 的 Rustacean 目录 Why:为什么需要宏? What:宏是什么? How:如何使用宏? 声明宏 (macro_rules!) 派生宏 (Derive Macros) 属性宏 (Attribute Macros) 函数式宏 (Function-like Macros) 最佳实践 常见误区 总结 Why:为什么需要宏? 想象一下,你正在写一个 Web 框架,需要为 50 个不同的结构体实现相

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 聚合阅读