当前位置: 首页 » 资讯 » 科技头条 » 正文

龙虾创始人一条推文引800万人围观,全网都在吵的loop工程到底是个啥?

IP属地 中国·北京 编辑:陈阳 字母榜 时间:2026-06-11 20:17:53

这两天AI圈有个词特别火,叫做loop工程。

起因是OpenClaw创始人斯坦伯格发了条X,说“你不应该再给编程Agent写提示词了。你应该设计循环来提示词你的Agent。”

然而本以为评论区会是一片欣欣向荣,大家积极讨论loop工程。

实际情况则是,这条X下面变成了一场混战。

有人质疑loop会消耗大量token,除非有无限token否则还得人工测试。有人讽刺这又是炒作新概念,“loop工程会取代harness工程”。

这条X如今已经达到了800万次浏览。

最早提出loop工程这个词的人,其实是Claude Code的创始人鲍里斯。

他曾经在一次访谈中提到,“我现在已经不给Claude Code写提示词了,那些loop替我写,由它们去判断具体要做什么修改。我的工作只有写loop。”

很显然,并不是所有人都为loop工程买账,毕竟从上一个新概念“harness”,到现在也只不过才一、两个月。

大家还没来得及消化此前的内容,现在就要去接受新知识。

但争议归争议,loop工程这个概念本身到底在说什么?它和编程里面的循环又有什么不同呢?

啥是loop?

先解决第一个问题,loop工程到底是个啥?

loop这个词直接翻译过来是循环。

Agent loop,其实和编程里的循环(loop)差不多。

在传统编程里,循环做的事情很明确。

比如你写一个for循环遍历数组,那么机器就会从第一个元素走到最后一个元素。编程中,循环的本质是让机器重复执行明确的指令序列。

在AI Agent的语境里,loop也是重复执行。

那么两者的区别在哪呢?

事实上,Agent里的loop并非执行“指令”,它执行的是“目标”。通过如下的一个循环,将输出的结果不断接近目标。当结果符合目标时,循环终止。

目标Goal→ 行动Action→ 观察Observation→ 评估Evaluation→ 修正Revision→下一轮行动

这个公式里的每一步都不是固定的。

Agent需要观察当前状态,判断应该采取什么行动,执行行动后再观察结果,评估是否达到了预期,然后决定下一步怎么走。

而传统循环里,每次执行的循环,都是相同的代码逻辑。虽然你可能会处理不同的数据,但处理的方式都是固定的。

所以你就需要把所有可能的情况都考虑清楚,然后写出对应的处理逻辑。

比如碰见A情况怎么应对,B情况怎么应对,而这便是编程循环中的if和else。

但现实世界的复杂任务往往有太多变数,你不可能提前预见所有情况,这就导致出现你没有设定过的情况时,程序就会出BUG。

Agent loop的价值就在这里。

你不需要把所有情况都写死,你只需要给Agent一个目标,提供必要的工具和上下文,然后让它在loop里自己摸索。

它可能会走弯路,可能会犯错,但只要有反馈机制和评估标准,它就能在多次迭代中逐渐逼近正确答案。

这种工作方式在处理开放性任务时尤其有效。写代码、修bug、做研究、搭建产品,这些任务的共同特点是没有唯一的正确路径,需要在过程中不断调整方向。传统的程序很难应对这种不确定性,但Agent在loop里可以。

澳洲放羊大叔杰弗里亨特利(Geoffrey Huntley)在2025年7月发布的ralph,就是一个典型的Agent loop。

它本质上是一个bash脚本,把同一个提示词文件反复输入给Agent。但它的真正创新在于纪律性,每次迭代都会重置上下文到一组固定的锚点文件,而不是让对话无限增长。

为了验证ralph的能力,杰弗里用这个方法构建了一整个编程语言,总共花了大约297美元。

这个案例说明,loop的核心价值不是让Agent变得更聪明,而是给Agent创造了一个可以持续改进的环境。

在这个环境里,Agent不需要一次就做对,它可以试错,可以从失败中学习,可以在多轮迭代中积累进展。

到了2026年春天,Codex和Claude Code都推出了/goal命令,把ralph给产品化了。这个命令会一直运行循环,直到一个验证完成。

但斯坦伯格说的loop,已经不单单是“让一个Agent反复做某个任务”那么简单了,而是把loop当成一种可以长期运行、互相协作、自动调度的AI工作系统。

具体来讲,斯坦伯格认为loop是工作的基本单位。

以前我们给AI下达的指令是帮我修一个bug、帮我写一篇文章。所有任务是一次性的,做完就结束。

但斯坦伯格说的loop,虽然也是任务的一种,不过它是一个持续运转的工作单元。比如每天检查GitHub issue,判断哪些需要修,自动分配给Agent,修完后跑测试,失败就继续改,成功就提交PR。

这里的重点不再是“修某一个bug”,而是有一个长期存在的流程在处理一类工作。

当你有了多个这样的loop在同时运行时,新的问题就出现了。谁来协调它们?谁来决定优先级?谁来检查它们的工作质量?

因此,斯坦伯格在设计loop时,已经开始用loop去监督其他loop了。

通过一个总loop负责观察全局→它发现有几个任务→分发给多个子loop→每个子loop自己跑→总loop检查它们的进度和结果

提示词是输入,loop是过程

斯坦伯格的那条推文之所以引发争议,是因为它触及了一个话题。

提示词工程是不是已经过时了?

截止至今,提示词仍然是你和Agent交流意图的主要方式,它仍然需要清晰、具体、包含必要的上下文。

这么说吧,一个写得很烂的提示词,绝对不会因为你把它放进loop里,它就能突然变好了。

但单次的提示词,已经不再是Agent的核心。

原因很简单,假如你能在一开始就把所有要求说清楚,Agent只需要一次输出,就满足你的所有要求,那就再也不需要上下文了。

现实就是,你可能在看到初步结果后才发现自己遗漏了某个重要条件,或者Agent的输出虽然符合你的字面要求,但在实际使用中暴露出问题。

更关键的是,很多反馈信息在任务开始时根本不存在。

比如BUG,你只有在测试的时候才能知道。

以前你需要盯着Agent的每一次输出,判断对不对,想下一步怎么引导它。

现在你只需要设计好loop,定义清楚目标和评估标准,然后让它自己跑。

归根结底,loop工程就是给Agent加一个框架,让它知道每一轮应该看什么、做什么、怎么判断、什么时候停。

我举个例子你就懂了:

你要让Agent生成一个登录页面。

提示词工程的做法是写一个详细的提示词。“请帮我写一个登录页面。需要有用户名和密码输入框,一个登录按钮,一个忘记密码链接。样式要简洁现代,使用蓝色作为主色调。要有表单验证,用户名不能为空,密码至少8位。登录失败要显示错误提示。”

如果你的提示词写得足够好,Agent可能会生成一个看起来不错的页面。

但这个页面真的能用吗?表单验证的逻辑是否正确?在不同浏览器上显示是否正常?是否有安全漏洞?

loop工程的做法是你需要设计一整个流程。

第一步,根据需求生成页面代码。第二步,运行自动化测试,检查基本功能是否正常。第三步,启动浏览器,截图检查视觉效果。第四步,如果测试失败或者截图显示问题,分析具体是什么问题。第五步,修改代码解决问题。第六步,再次测试,重复这个过程,直到满足所有验收标准。

在这个流程里,初始的提示词可能很简单,因为你知道后面还有多轮迭代的机会。Agent不需要第一次就做对所有事情,它可以在每一轮看到具体的反馈,然后针对性地改进。

loop工程在设计什么

那到底该如何写一个loop工程呢?

我们需要设计5个组件。

第一个组件是目标。

这听起来是废话,但实际上很多loop失败的原因,就是目标定义得不够清晰。

“帮我优化一下”这不是一个好目标。什么叫优化?优化到什么程度算完成?有哪些约束条件?这些都不清楚。

一个好的目标应该是这样的。把这个接口的响应时间从800毫秒降到300毫秒以下。保留现有行为,所有测试必须通过。输出改动说明,列出具体做了哪些优化。

这个目标的每一部分都是可验证的。

清晰的目标实际上是给Agent提供了一个稳定的锚点,每一轮迭代都可以用这个锚点来校准。

第二个组件是上下文管理。

上下文其实包括很多东西,不只是你跟模型的对话那么简单。

代码库的当前状态、相关文档、需求说明、错误日志、测试结果、用户偏好、历史决策,以及之前几轮的尝试和结果,这些都是上下文。

很多Agent表现差,根本原因不是模型不够聪明,而是loop每一轮喂给它的上下文太脏、太少,或者太随机。

太脏是指上下文里混杂了太多无关信息,Agent需要花费大量token来处理这些噪音,反而忽略了真正重要的部分。

太少是指关键信息缺失,Agent没有足够的材料来做出正确判断。

太随机是指每一轮的上下文组织方式不一致,Agent无法建立稳定的理解模式。

前文提到的Ralph loop,它有一个很重要的创新,就是它的上下文管理系统。

它每次迭代都会重置上下文到一组固定的锚点文件,而不是让对话历史无限增长。

虽然简单,但它的确解决了上下文污染的问题。

你需要决定哪些信息应该保留,哪些应该丢弃,哪些应该总结后保留。

2026年的loop系统开始使用基于git的状态管理。每一轮的改动都会提交到git,Agent可以查看历史提交,理解之前做了什么,为什么要这么做。

第三个组件是工具。

说白了就是Agent能调用哪些工具。

巧妇难为无米之炊,工具的选择需要和任务匹配。

如果你让Agent写代码但不给它运行测试的工具,那它就无法验证代码是否正确。

但工具也不是越多越好。每增加一个工具,Agent的决策空间就变大了,它需要在更多选项中做选择。如果工具太多,Agent可能会迷失在工具的使用上,忘记了真正的目标。

好的loop设计会精心选择工具集。只提供完成任务必需的工具,每个工具都有清晰的用途和使用时机。这样Agent可以把注意力集中在任务本身,而不是工具的选择上。

第四个组件是评估。

这是loop的灵魂。没有评估,循环就会变成瞎转。

评估的关键是要自动化。

如果每一轮都需要人来判断对不对,loop就失去了自主运行的能力。所以你需要设计出可以自动执行的评估标准,让Agent能够自己判断当前状态是否满足要求。

但自动化评估也有局限。有些质量标准很难用量化的标准来判断,比如代码的可读性,设计的美感,文字的流畅度。

对于这些方面,你可能需要引入人工检查点,让人在关键节点介入评估。

AI里面有一个概念叫human-in-the-loop的。

好的loop不是把人踢出去,而是把人放在最关键的检查点上。自动化处理大部分常规判断,人负责那些需要主观判断或者风险较高的决策。

第五个组件是停止条件。

从最古老的编程开始,任何一个循环它都得具备一个退出的条件。

比如循环计数器i,每一次循环i的数值都会加1,当i的值大于规定的值时,循环就会停止。

对于Agent而言,最理想的停止条件是任务完成,但现实往往不会这么顺利。

有时候Agent会陷入死循环,反复尝试同样的方案,每次都失败,但它不知道应该放弃。有时候Agent也会持续做微小的改动,每次都有一点点改进,但永远达不到完美,不知道应该停在哪里。

所以你需要设计多种停止条件。

最直接的是成功条件,所有评估都通过,任务达标,可以停了。然后是失败条件,连续多轮没有改进,或者错误次数超过阈值,说明当前方案可能走不通,应该停下来重新思考。

还有资源限制,运行时间超过上限,成本超过预算,也应该停止。

更重要的是风险检查点。当Agent要做一些高风险操作时,比如删除数据,应该停下来等待人工确认。这些操作一旦出错代价很大,不应该完全自动化。

把这五个组件放在一起,你就得到了一个完整的loop。

标签: 工程 任务 工具 代码 目标 条件 结果 组件 方式 关键 创始人 密码 页面 机器 时间 错误 用户名 决策 标准 编程 问题 方向 阈值 实际 检查点 欣欣向荣 风险 表单 对话 传统 锚点 信息

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其内容真实性、完整性不作任何保证或承诺。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。