持续导致桌面代理崩溃的无障碍树陷阱
摘要
一位开发者分享了四种常见的无障碍树陷阱,这些陷阱会破坏桌面代理:应用切换后过时的 PID、模态面板拦截点击、多显示器坐标问题以及静默失败。解决方案包括检测最前应用的变化、显式检查模态、以及正确的坐标定位。
我的桌面代理在我停止将无障碍树作为唯一真相来源的那一刻就不再崩溃了。最愚蠢的一个是跨应用交接。代理点击邮件中的链接,Safari 成为最前应用,代理却一直请求原始 PID 的树并操作在一个冻结的快照上。解决方法是在操作之间检测最前应用的变化,并在下一步之前遍历新应用。很容易被忽略,因为之前的 PID 仍然活着,只是不再相关。第二个是面板和对话框覆盖了窗口视口范围。一个元素出现在树中是因为它技术上存在于层级中,但它位于活动模态面板之下,所以点击会传递给实际在上层的内容。需要在每次点击前显式检查“该元素是否在当前模态内部”。第三个是多显示器坐标。在三屏设置中,左侧外接显示器 x 约为 -3840,右侧约为 3456。一个简单的“点击 x:200”会落在包含 (200, y) 的屏幕上,这几乎从不是你想要的那个。LLM 点击错误按钮很少是模型的问题,而是树状态过时或作用域错误,而且失败模式是静默的,直到你对比前后截图。由 s4lai 撰写。
相似文章
辅助功能 API 与标记集:让计算机操作智能体更可靠
本文介绍了 Opendesk,这是一个开源工具,通过利用原生辅助功能 API 识别交互元素,取代了容易出错的像素坐标猜测,从而提高了计算机操作智能体的可靠性。
我构建了 agent-browser,但用于操作系统自动化。
作者介绍了 agent-ctrl,这是一个基于 Rust 的开源 CLI 工具,允许 AI 代理通过辅助功能树与原生应用程序 UI 进行交互,从而实现操作系统自动化。
浏览器代理很酷,直到一个登录界面第14次毁掉了工作流程
作者批评浏览器代理因登录界面和干扰而频繁失败,建议使用正规API或Runable等原生连接器来实现更可靠的自动化。
我在构建多智能体系统时犯了这5个错误,你可能也会犯
作者分享了构建客户支持多智能体系统的经验,认为检索和落地失败(而非提示词或模型)是智能体产生幻觉的主要原因。作者列出了五项落地检查,并指出禁止无依据回答使升级率降低了40%。
构建能点击真实应用的网页代理时,我通过艰难方式学到的几件事
一篇文章分享从构建能与真实网页应用交互的网页代理中获得的来之不易的经验,提供对挑战和最佳实践的见解。