浏览器 agent 页面失效竞态怎么解?开发者给出 control epoch 方案

OyaAI · reddit · 2026-10-29

一位开发浏览器(人类与 agent 共享同一批标签页)的工程师分享了最费设计精力的问题:页面陈旧性(staleness)。Agent 读取页面后决定点击节点 42,但点击落地时可能弹出了模态框、用户已接管或页面已跳转,节点 42 已是错误目标。

他们的解法:每个 agent 调用携带 control epoch(当前谁在驱动标签页)和计划计算时的页面 revision。如果用户接管或文档已变化,调用直接返回 stale target 错误,agent 必须重新读取页面,绝不操作当前位置上碰巧存在的元素;开、选、关标签页只允许人类操作,agent 只能准备,提交动作由人完成。

作者坦承代价是更多往返通信,agent 要把 stale 当作正常结果而非异常;收益是避免了无人察觉的静默错误点击——那是要等表单已提交才发现的故障。他也在征集 Playwright/CDP 用户对快照 diff、锁定人类输入或接受竞态等做法的经验。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →