死循环并非模型不聪明,而是会话记录在暗中作祟
摘要
本文指出,AI代理常因模型的无状态特性和会话模式而陷入循环,并非因为模型笨拙。文章提出如硬预算和指纹技术等解决方案以打破这种循环。
上周看到一个评论,关于一个代理打开了同一个文件十一次并为此道歉,这让我陷入了一个兔子洞,因为这种模式太熟悉了:尝试修复,遇到错误,真诚道歉,然后输出同样的修复但变量名被打乱了。大约到第四圈时,你不再恼火,开始思考为什么'请尝试不同的方法'从未可靠地奏效。以下是机械层面的解读。模型是无状态的——每一轮它都会重新阅读完整的会话记录。在四次失败尝试后,会话记录中的主导文本模式就是失败的尝试。人类会将这段历史视为方法错误的证据。而下一个令牌预测器则将其视为这次会话的行为模式。道歉也无济于事,因为道歉后重试本身就是它见过无数次并正在延续的一种模式。让我确信这是结构性问题而非'模型笨拙'的是:在SWE-bench上的一个轨迹研究发现,在失败运行中,代理有72-81%的时间找到了正确的文件。找到位置从来不是问题所在。问题是无法放弃假设。同一研究描述了一个代理用更多逻辑修补递归错误,却无法在多次循环中重新评估其假设。似乎有效的修复都在测试环境中,而非提示中:设置硬预算(轮次/令牌),使卡住的运行停止而非礼貌地烧钱;对尝试的差异进行指纹识别,使近乎相同的重试触发强制'列出你未测试的三个假设';以及终极手段,完全清空窗口——学到的约束在新的开场提示中传递,此时它们只占几十个令牌的重量,而非四次失败尝试的沉重负担。有没有人发现过一种重复检测器,不会对合法的重试(如不稳定的测试、速率限制)产生误报?
相似文章
@akshay_pachaar: https://x.com/akshay_pachaar/status/2069118430582866051
本文解释了AI代理中的循环工程概念,强调核心循环很简单,但关键工作在于模型周围的“束具”,包括知道何时停止以及防止上下文腐败。
你的代理失败不是因为模型,而是因为没人构建一个停止按钮
文章认为,AI代理在生产中的主要失败点并非模型本身,而是缺乏基础设施,如停止按钮、账单监控以及工具调用的可追溯性。
@rohit4verse: 构建可交付的“弱智”AI 循环是目前智能体系统的核心护城河。88% 的代理试点项目采用这种模式,但……
文章讨论了智能体 AI 系统中的常见失败模式,特别是“弱智 AI 循环”,并引用了在 Claude Code 部署中观察到的状态污染和数据泄露等问题。
循环是产品,而非模型——本月的两场演讲从相反角度阐述了这一点
两场演讲和一篇博客文章认为,在生产环境中拥有AI智能时,反馈循环和框架工程比模型权重更重要,并强调了上下文管理和成本考虑。
智能体循环很棒,直到它们从你最糟糕的代码中学习
本文讨论了AI编码智能体循环如何在不经意间从现有代码库中学习并传播已弃用的代码模式,导致技术债务,尽管表面看起来很成功。