[控场AI]
· 5 分钟阅读· 2,910 字

APX浏览器控制权设计:接管即暂停Agent读取

APX浏览器控制权设计:接管即暂停Agent读取

APX将浏览器接管定义为运行时控制状态变更,而非消息通知,从而阻断Agent的读取与操作。

APX浏览器针对AI Agent接管场景提出了一套以控制状态为核心的设计。文章指出,仅约定“Agent应等待”并不可靠,因为模型可能在用户输入验证码时继续读取页面。APX在每个标签页跟踪空闲、Agent控制、临时交接、用户控制四种状态,用户点击接管后Agent的任何读取或操作都会返回paused_by_user,且限制在页面读取之前生效。登录、2FA、CAPTCHA通过browser_handoff交由人类完成,Agent只获知完成状态与URL;Cookie导入是仅限人类、限定域的独立路径。多Agent通过独立配置文件隔离,避免共享标签页的歧义。核心规则是:无缝体验的前提是所有权始终明确。

当AI Agent在浏览器中替我们完成登录、填表等操作时,一个常见的担忧是:如果我中途接管,Agent会不会还在后台偷偷读取页面?APX的开发者给出了一个明确的答案——接管浏览器不是给Agent发一条消息,而是改变控制状态,直接阻断Agent的所有调用。

据APX官方博客介绍,这一设计并非简单的功能叠加,而是对Agent浏览器工作方式的重新思考。以下从控制与观察的分离、登录交接机制、多Agent隔离三个层面展开分析。

APX浏览器控制权设计示意图

观察不等于控制:为什么读取也必须停止

APX V2允许Agent使用内嵌浏览器标签页,通过一组有限的工具进行操作:打开/导航标签、获取可访问性快照、读取可见文本、点击元素引用、在指定字段输入。在桌面端,用户可以实时看到Agent的操作过程。

但“看得见”并不等于“控制得住”。开发者指出,真正关键的问题是:当人类介入时会发生什么?如果只是约定“Agent应该等待”,那就把太多事情交给了时机和模型的理解。模型可能在你输入一次性验证码时仍在读取页面,排队的点击可能在你决定接管后执行,登录流程中的截图可能泄露你本想留在自己会话中的信息。

APX的解决方案是在每个标签页上跟踪控制状态:空闲、Agent控制、临时交接、用户控制。当用户点击“Take Control”时,桌面宿主将该标签页状态改为user,此后Agent的任何读取或操作尝试都会失败,并返回paused_by_user。关键在于,这一限制在页面读取之前就会生效,而不仅仅是在点击之前。

浏览器既是操作面,也是观察面。如果人类正在输入密码、2FA代码、银行卡信息或私人账户详情,仅阻止点击是不完整的——Agent也不应该能查看页面状态。

可访问性快照(Accessibility Snapshot) 是浏览器提供给辅助技术和自动化工具的结构化页面描述,包含元素的角色(按钮、输入框、链接)、名称、状态及用于定位的引用标识。与直接解析原始DOM或截图相比,它以更稳定、更接近语义的方式暴露页面内容,使Agent能够可靠地定位和操作元素。但这也意味着快照本身承载了页面上的全部可见文本与结构信息——包括用户正在输入的字段标签、已填写的值等。因此,当文章强调“读取也必须停止”时,被阻断的不仅是截图或文本抓取,还包括Agent获取最新可访问性快照的能力,否则Agent仍可通过快照间接观察到敏感输入。

登录是交接,不是对话请求

APX刻意不让Agent在对话中索要凭据。浏览器工具提供browser_handoff动作,用于登录、密码、2FA或CAPTCHA场景。它会记录简短原因,将浏览器卡片标记为交接状态,并等待所有者完成操作,最长五分钟。

Agent只能得到两种回答之一:所有者已完成(附带当前URL),或所有者未在时限内完成(Agent停止)。Agent不会收到密码、验证码,也不会收到人类交互的流数据。

这种设计有意放弃了自动化所有认证路径的“聪明”做法。不同网站的认证流程各异,且常常故意对自动化不友好,涉及机密或身份决策的信息不应出现在Agent记录中。可见的交接给人一个明确的任务,给Agent一个清晰的边界。

对于已在自己浏览器中登录的站点,APX提供了另一条独立路径:请求用户批准将特定域的Cookie复制到APX浏览器配置文件中。该操作仅限人类执行——运行时可以检查来源名称和域数量,但Cookie值保留在桌面端。Agent无法将其转化为通用的“读取我的浏览器”权限。

两条路径保持分离很重要:自己登录是直接交互,导入现有会话是限定域的定向传输。两者都不应悄悄变成对无关标签页或工具的许可。

一次性验证码(2FA/TOTP)与CAPTCHA 是两类典型的“反自动化”认证机制。2FA通常要求用户在30秒内输入动态生成的一次性代码,CAPTCHA则通过人机辨别挑战阻止脚本化登录。它们的设计初衷就是区分人类与程序,因此任何试图让Agent自动完成的做法都面临根本性困难,且一旦凭据进入模型上下文或日志,就会形成长期泄露风险。APX将这两类场景统一归入browser_handoff,本质上是承认认证环节属于人类主权范围,而非Agent能力边界内可优化的问题。

独立配置文件防止意外共享控制

仅靠控制状态还不够。APX为Agent分配浏览器配置文件,并在操作前检查所有权。Agent可以操作自己配置文件中的标签页,但不能驱动分配给其他Agent的标签页。如果另一个Agent正在控制某个标签页,APX会拒绝请求,而不是让两个运行实例同时操控一个页面。

这听起来不如大型安全功能那么引人注目,但它消除了一种常见的歧义:标签页不仅仅是URL,它还包含配置文件、Cookie、当前状态和操作者。将其视为共享全局状态,会让浏览器会话在出现意外后难以解释。

同样的设计也塑造了常规工具流程:点击引用最新可访问性快照中的元素;在读取不可信页面内容后,输入作为外部操作需要确认;浏览器文本被标记为不可信;Agent被引导在声称表单已提交或消息已发送之前,先检查新的页面状态。

这些措施并不能凭声明让浏览器自动化变得安全,但它们为系统提供了停止、询问和展示证据的位置。

浏览器配置文件(Browser Profile) 是Chromium等浏览器中隔离Cookie、本地存储、缓存和登录会话的基本单位。不同配置文件之间默认不共享认证状态,这使得它成为多Agent隔离的天然边界。APX为每个Agent分配独立配置文件,并在操作前校验标签页归属,实际上是把“谁拥有这个会话”编码进了运行时状态,而不是依赖Agent之间的约定。这也解释了为何Cookie导入必须限定域:跨配置文件复制会话本身就是一种特权操作,若不限制范围,等同于把用户全部登录态暴露给Agent。

值得保留的设计规则

开发者最初的想法是让浏览器体验无缝:Agent打开页面,我在登录时帮忙,Agent继续。但更好的规则更精确:无缝是可以的,前提是所有权始终明确。

一个好的交接具备四个属性:

  • 人类可以接管标签页,无需与Agent协商。
  • Agent的读取和操作都会停止。
  • 敏感输入不进入聊天和工具输出。
  • 归还控制权是显式的,Agent不会猜测工作何时可以恢复。

这为运行时增加了状态,但也移除了导致麻烦的隐形状态:Agent以为自己仍拥有页面,而人类认为已经接管。

APX围绕“Agent应有能力但不失透明”的理念构建。在浏览器中,这一理念的实践版本很简单:如果我接管了方向盘,Agent就等待——而且它不能看着我输入。

对于关注AI Agent安全性和人机协作的开发者而言,APX的控制状态设计提供了一个值得参考的范式:将控制权交接从“礼貌约定”升级为“运行时强制”,在Agent能力与人类监督之间划出可执行的边界。

#APX#浏览器Agent#控制权交接#AI Agent安全#browser handoff#Agent浏览器自动化#人机协作
分享:

相关推荐