GUI Agent 的大多数评测都奖励“完成动作”,却很少测“正确停止”。真实用户会说错按钮名、提出互相冲突的目标,也会要求操作一个当前界面根本不存在的对象。此时最安全的动作不是猜,而是停下来解释冲突。
#执行偏见:看见按钮就想点
CONFLICTGUI 把不可行任务分成两类:指令内部冲突,例如要求点击“清除”按钮来保存结果;以及指令—界面冲突,例如目标被弹窗遮挡、选项并不存在或当前状态不支持操作。
不同 GUI Agent 在可行任务、冲突任务和误执行率上的表现
图:当前 Agent 在正常任务上表现不错,但冲突任务的成功率显著更低。来源:原论文。
测试暴露出一致的过度服从:模型通常能定位可见元素,却没有先验证“这个动作是否真的能实现用户目标”。单纯增加思维链或要求检查可行性会有所改善,但也可能让正常任务上的执行变差。
#ConflictGuard:先判断是否该行动,再改变动作倾向
ConflictGuard 由两部分组成。第一部分要求模型同时检查指令逻辑与 GUI 证据,把冲突显式暴露出来;第二部分只在检测到冲突信号时进行条件式激活引导,将模型从“继续执行”推向“终止并说明”。这种组合比只加 Prompt 或只做激活引导更稳定。
在五个模型上,ConflictGuard 都取得最高的总体成功率。Qwen3-VL-8B 的总体成功率从 43.76% 提升到 70.45%,Qwen3-VL-32B 从 43.91% 提升到 76.97%;正常可行任务只出现小幅下降。
图:长程任务中,ConflictGuard 把冲突任务成功率从 2% 提升到 36%。来源:原论文。
论文还测试了 100 个初步长程任务:冲突只有导航数步后才显现。原始模型的冲突成功率仅 2%,可行性 Prompt 为 12%,ConflictGuard 达到 36%,总体成功率从 26% 升至 42%。
局限也很明确:激活引导需要访问模型内部状态,更适合开源权重模型;过强的终止倾向也可能把含糊但可完成的请求拒掉。因此真正的产品指标不应只是 task completion,而要同时观察错误执行率、正确终止率与正常任务保留率 。
