浏览器智能体容易被忽视的故障:页面拒绝后智能体仍继续执行

Reddit r/AI_Agents 工具

摘要

本文讨论了浏览器智能体中的一个常见故障,由于依赖操作结果中的结构变化,表单拒绝未被检测到。文章建议在观察中包含可见文本,并将拒绝作为一等结果处理,以提高可靠性。

在我为智能体构建浏览器工具时,我反复遇到一个问题,我认为这不仅仅是我个人的情况。当网页表单拒绝提交时,它通常不会添加任何新控件。它只是在字段附近打印一条消息。如果你的智能体的操作结果只报告结构变化,那么被拒绝的提交和成功的提交看起来是一样的。智能体读取成功,进入下一步,然后所有后续操作都在未推进的屏幕上执行。任务在三个步骤后失败,看起来与真正原因无关的地方。基于截图的智能体面临更难的相同问题,因为拒绝是几个红色像素,模型必须正确注意到并解释。对我来说,解决方法是让操作结果携带页面所说的内容,而不仅仅是结构变化,然后将拒绝作为剩余批次的停止条件:4. 点击“保存配送详情”,页面显示:“请修复下面高亮的字段。”、“全名是必填项。”、“配送地址是必填项。”页面拒绝了此步骤,因此剩余的两个步骤未尝试。给这个领域的建设者两个建议。首先,在观察中采样可见文本,而不仅仅是控制树,否则你会错过每个验证消息。其次,将拒绝作为一等结果,与成功和错误区分开来,因为它需要不同的恢复:智能体应该修复指定的字段,而不是重试点击或放弃任务。值得一提的是,我自己的测试套件没有捕捉到这个问题。流程无论如何都通过了,因为测试在每个步骤后重新读取页面,错误在那里可见。只有每个操作的结果是盲区,这正是智能体在批处理步骤时读取的内容。我为智能体构建浏览器工具。乐意在评论中详细讨论。
查看原文

相似文章