终结无限循环:为何 `while true` 并不等于可靠性

发布日期:2026-07-14 10:04:31   浏览量 :2
发布日期:2026-07-14 10:04:31  
2

事先声明:我开发了 agentproto,它在智能体的循环内部运行检查,而不仅仅是在结束时进行。关于这一点为何重要,你无需依赖我的说法即可验证——所有来源均有署名和日期,我也会承认在哪些情况下简单的循环是完全正确的。欢迎指正,请提交问题报告。

你给智能体设定了一个循环,合上笔记本电脑,然后去睡觉了。

通宵循环的核心卖点在于它能持续运行。while true; do cat prompt.md | claude -p; done —— 每次停滞时它都会重新唤醒,重新阅读计划,并持续努力直到检查清单全部变绿。当你回来时,会看到一个已完成的功能和一个干净的退出代码。有时这堪称奇迹。但有时,这也是一种极其整洁的方式,让你把错误的东西构建了四百遍。

如果你记不住其他内容,请记住这一个观点:
循环赋予你的智能体的是持久性,而非正确性。 而一个被坚定信念持有并不断循环的错误转向,只是一种更快犯错的方式。

持久性不等于正确性

循环是一种活性保证。它承诺进程将持续运行;但它对进程是否指向正确的方向不做任何承诺。这是两个不同的属性,而整个“通宵自主”领域悄然将它们混淆了。凌晨两点时,“它仍在运行”的感觉就像“它仍在正轨上”。事实并非如此。

杰弗里·亨特利(Geoffrey Huntley)在将拉尔夫(Ralph)技术描述为包裹在非确定性模型周围的确定性循环时,精确地命名了这一机制——其赌注在于重复尝试会收敛到一个可行的解决方案。这个赌注是真实存在的,而且常常能赢。但收敛是有方向的,而循环并不提供方向。循环只提供燃料。

为什么方向可能是错的。 每一次拉尔夫迭代都从一个全新的上下文窗口开始,但继承了文件系统中的所有先前工作——代码、提交记录、笔记——并将其视为基本事实在此基础上构建(西德·巴拉思(Sid Bharath),“运行编码智能体最愚蠢却聪明的方法”, 2026年)。在顺利运行时,这是优势。但在糟糕的运行中,第二次迭代会建立在第一次迭代的错误之上,第三次迭代则信任前两者,错误不再看起来像是一个漏洞,而是开始看起来像是代码库本身的一部分。

因此,无人监督的循环不会自我纠正。它会自我强化。它会为你最初的错误转向支付复利——自信地、按定时器地,每一次传递都使错误变得更加关键且更难以撤销。失控循环最可怕的输出不是崩溃。而是在糟糕基础之上的绿色对勾。

终点线的检查是来得太晚的检查

“好吧,”你说,“我设置了关卡——只有当测试通过并打印 COMPLETE 时,循环才会退出。”直觉很好,但位置错了。终端关卡在循环已经烧完预算并堆高塔楼之后才触发。当你的运行结束检查产生意见时,错误的东西已经构建完成,高耸且承载关键功能。

而你信赖的完成信号比看起来更加脆弱。

退出条件是一个建议,而非安全机制。 完成承诺通常是一个静态的完全匹配字符串,没有任何“或”条件——因此如果措辞发生偏移,它可能会静默地永不触发。真正限制失控循环的是迭代上限;长循环很可能花费 30–150 美元的应用程序接口(API)费用,因此你绝不能在没有限制的情况下运行它(人工智能智能体工厂

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据