返回资讯中心
外部精选
软件工程
#开发者实时流

Opposable实测:AI助理在45台安卓手机上执行3324次操作,主要卡在设备掉线

来源标题:Show HN: Is Android ready for AI agents? What broke in 3324 actions on 45 phones

Opposable在10月8日至11月3日间让AI助理在45台Android手机上执行了3324次操作,其中305次失败。屏幕理解和点击触控基本可靠,99%的点击和滑动按预期生效;最常见的问题是手机中途离线,45台中有27台在代理操作过程中掉线,仅此一项就导致108次失败。

Hacker News 最新erikkannike2026/11/5 · 5 天前23 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

当 AI 助手操作手机时,你可能会以为难点在屏幕上:阅读一个它从未见过的应用,找到正确的按钮。10 月 8 日到 11 月 3 日期间,助手们通过 Opposable 在 45 部 Android 手机上执行了 3,324 次操作,而这部分基本顺利,99% 的点击和滑动都按预期生效。最常见的失败是手机根本不在线——45 部手机中有 27 部在 agent 使用途中从我们的中继掉线,仅这一项就占了 305 次失败操作中的 108 次。

Opposable 是一款 Android 应用,让 Claude、ChatGPT、Claude Code 或 Codex 能使用安装了它的手机。助手会请求截图或屏幕上内容的列表,然后点击、滑动和输入,而机主可以在旁观看,或把手机放下。Android 的设计前提是一个人拿着手机、解锁并点击它,而本文中的失败集中在这个设计与一个并不拿着手机的用户相遇的地方。

2截图3点击4点击5截图6输入7点击8滑动9截图10离线11截图12点击13读取文本14返回聊天在屏幕上操作查看手机不可达,agent 重试一张示意图,展示中位会话的形态:约四分钟内 14 次操作。这不是任何人的真实会话。

#TL;DR 3,324 次操作中有 91% 成功。在失败的 305 次中,140 次因手机或操作系统而失败:108 次是手机未连接,21 次是 agent 输入时没有文本框获得焦点,其余是被取消的手势和锁定的屏幕。另外 165 次来自 agent 和我们自己的应用。Android 也无法区分 agent 的点击和机主的点击,这从不表现为失败,但限制了可以安全允许 agent 做什么。

Android 通过假设没人触碰的手机不需要做任何事来省电。Doze 和 App Standby 会推迟闲置手机上的后台工作,而几家手机厂商还加入了自己的电池管理器,会关闭 Android 原本会让其继续运行的应用。Agent 通常恰好在那一刻联系手机:机主从笔记本电脑上发出请求,而手机正面朝下放在桌上;或者在聊天应用里发出请求,然后把手机放进口袋。应用与我们的中继保持一条连接,助手的每个请求都通过它到达,因此当 Android 或厂商的电池管理器关闭它时,手机就不再响应。

应用活动日志中的 105 个会话里有 36 个遇到手机未连接的情况,其中 16 个会话中 agent 放弃了。9 部小米手机中有 7 部、20 部三星手机中有 14 部至少掉线一次,相比之下 5 部 Pixel 中有 2 部、4 部摩托罗拉中有 1 部。日志无法区分是电池管理器关闭了应用,还是机主关掉了手机或失去信号,但按厂商的分布与 dontkillmyapp.com 的电池管理器排名吻合,三星和小米都接近榜首。

该应用现在以前台服务运行并显示常驻通知,会请求一次豁免电池优化,并设置一个 15 分钟的闹钟,在服务被冻结时重新连接,因为 Android 仍会在 Doze 的维护窗口投递闹钟。在小米、三星、Oppo、vivo、华为和 Tecno 手机上,它还会显示一张卡片,指向厂商自己的设置,例如小米的“自启动”或三星的“从不休眠的应用”,这些只有机主才能开启。一部 agent 能按需联系到的手机就像一台小型服务器,而 Android 没有对应的设置。电池豁免最接近,但并非每个厂商的电池管理器都遵守它。

Android 让应用读取其他应用屏幕并在其中操作的一般途径只有一个,就是无障碍服务(accessibility service),它是为使用屏幕阅读器或开关访问而不是触摸屏幕的人构建的,agent 借用它是因为没有别的选择。开启它意味着要去设置 › 无障碍,而在 Android 13 及更高版本上,从浏览器安装的应用一开始该开关是灰色的,直到机主在应用信息页找到“允许受限设置”。发送匿名设置事件的 192 次安装中有 143 次开启了该服务,我们无法判断另外 49 次中有多少停在灰色开关处,有多少看了看就离开了。

Android 16 新增了 AppFunctions,让应用可以直接向 agent 提供操作,而无需经过屏幕。它只覆盖开发者采用它的应用,所以对其他所有应用来说,无障碍服务仍是进入的途径。

对 Android 而言,无障碍服务的点击看起来和机主的点击一样。没有任何标志将某个操作标记为来自 agent,因此应用无法区别对待 agent 的输入,机主也没有系统设置能把 agent 挡在某个应用之外,或在它行动前询问。Android 14 新增了 accessibilityDataSensitive,让应用对非真正无障碍工具的服务隐藏视图,FLAG_SECURE 则让屏幕不出现在截图中,但两者都只是隐藏内容,都不能让机主批准某个操作。

我们改为在应用内内置审批:付款要等机主在手机上批准,而应用自己的界面——包括关闭这些审批的开关——会拒绝 agent 的点击。四周内 agent 在那里点击了 4 次,每次都被拒绝,日志没有记录它们想做什么。

锁屏是 Android 真正检查来者身份的唯一地方。PIN、图案或指纹会像挡住其他人一样挡住 agent,因此应用会点亮屏幕并显示机主正常的解锁提示,锁定的手机导致了 3 次失败操作。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →