死循环并非模型不聪明,而是会话记录在暗中作祟

Reddit r/AI_Agents 新闻

摘要

本文指出,AI代理常因模型的无状态特性和会话模式而陷入循环,并非因为模型笨拙。文章提出如硬预算和指纹技术等解决方案以打破这种循环。

上周看到一个评论,关于一个代理打开了同一个文件十一次并为此道歉,这让我陷入了一个兔子洞,因为这种模式太熟悉了:尝试修复,遇到错误,真诚道歉,然后输出同样的修复但变量名被打乱了。大约到第四圈时,你不再恼火,开始思考为什么'请尝试不同的方法'从未可靠地奏效。以下是机械层面的解读。模型是无状态的——每一轮它都会重新阅读完整的会话记录。在四次失败尝试后,会话记录中的主导文本模式就是失败的尝试。人类会将这段历史视为方法错误的证据。而下一个令牌预测器则将其视为这次会话的行为模式。道歉也无济于事,因为道歉后重试本身就是它见过无数次并正在延续的一种模式。让我确信这是结构性问题而非'模型笨拙'的是:在SWE-bench上的一个轨迹研究发现,在失败运行中,代理有72-81%的时间找到了正确的文件。找到位置从来不是问题所在。问题是无法放弃假设。同一研究描述了一个代理用更多逻辑修补递归错误,却无法在多次循环中重新评估其假设。似乎有效的修复都在测试环境中,而非提示中:设置硬预算(轮次/令牌),使卡住的运行停止而非礼貌地烧钱;对尝试的差异进行指纹识别,使近乎相同的重试触发强制'列出你未测试的三个假设';以及终极手段,完全清空窗口——学到的约束在新的开场提示中传递,此时它们只占几十个令牌的重量,而非四次失败尝试的沉重负担。有没有人发现过一种重复检测器,不会对合法的重试(如不稳定的测试、速率限制)产生误报?
查看原文

相似文章