跳转至

GUI-explorer: Autonomous Exploration and Mining of Transition-aware Knowledge for GUI Agent

会议: ACL 2025
arXiv: 2505.16827
代码: https://github.com/JiuTian-VL/GUI-explorer
领域: LLM Agent
关键词: GUI agent, autonomous exploration, transition-aware knowledge, training-free, knowledge extraction

一句话总结

提出 GUI-explorer,一个无需训练的 GUI agent,通过自主探索收集功能感知的交互轨迹,并以无监督方式从状态转换三元组中挖掘 transition-aware 知识,在 SPA-Bench 和 AndroidWorld 上分别达到 53.7% 和 47.4% 的任务成功率。

研究背景与动机

  1. 领域现状:
  2. MLLM 驱动的 GUI agent 能够在无需微调的情况下完成各种界面操作任务
  3. 然而实际部署时面临应用长尾分布和快速迭代的挑战
  4. 如 Amazon Shopping 在 2024 年发布了 30 个版本迭代,模型知识很快过时

  5. 现有痛点:

  6. UI 组件误解: 即使是 GPT-4o 也无法正确识别 QQ 音乐中听歌识曲按钮的功能
  7. 知识过时: 应用界面频繁更新导致静态模型知识不可靠
  8. 重训练成本: 为每个应用变更重新微调 MLLM 代价过高
  9. 现有探索方法(如 AppAgent)需要手工设计探索任务;AutoDroid 随机生成动作序列效率低

  10. 核心矛盾:

  11. MLLM 强大的通用理解能力 vs. 特定应用的个性化 UI 设计和快速变化之间的鸿沟
  12. 需要应用特定知识但又不能为每个应用重新训练

  13. 本文要解决什么?

  14. 如何自动化地探索应用的全部功能并建立 UI 元素到操作结果的精确映射
  15. 如何无监督地从交互轨迹中提取可用的操作知识
  16. 如何在任务执行时动态利用这些知识纠正预训练模型的错误先验

  17. 切入角度:

  18. 从应用结构信息(APK manifest、activity 列表)出发,构建功能感知的系统化探索
  19. 从状态转换的三元组(观测-动作-结果)中无监督挖掘原子级操作知识

  20. 核心idea一句话:

  21. 先以功能为导向自主探索应用获取交互轨迹,再从状态转换中无监督提取知识,最后动态检索指导 agent 决策。

方法详解

整体框架

GUI-explorer 由三部分组成: 1. 自主探索功能感知轨迹: 通过分析 GUI 结构信息自动构建探索目标,进行系统化探索 2. 无监督挖掘 Transition-aware 知识: 从交互三元组中提取操作逻辑,无需人工参与 3. 动态指导GUI Agent: 视觉-语义检索生成当前场景的操作指导

关键设计

  1. Function-aware Task Goal Generator:
  2. 做什么: 自动从应用环境中提取"探索锚点"(Exploration Anchors),如 APK manifest 中声明的功能模块(如"PaymentActivity"),基于当前截图和锚点构建探索任务
  3. 核心思路: 使用深度优先搜索(DFS)策略,配置分支因子 b=10、最大深度 d=5、每个任务最多 30 步。DFS 的优势在于子任务直接继承父任务的终止状态,避免回溯开销
  4. 设计动机: 锚点约束防止 MLLM 提出不存在的功能,实现语义接地;DFS 遍历可产生 O(b^d) 条不同轨迹,系统化覆盖组合式交互模式

  5. Transition-aware Knowledge Extractor:

  6. 做什么: 对每个状态转换三元组 (o_i, a_i, o_{i+1}),提取 UI 元素的视觉 patch(key)和操作知识描述(value),构建多模态知识向量库
  7. 核心思路: 使用 Transition Filtering 通过感知哈希过滤无效转换(动作前后截图几乎相同的情况),确保只保留有效的状态变化
  8. 设计动机: 与需要成功轨迹的方法不同,本方法只需要有效的状态转换,大幅降低了知识提取门槛

  9. Continuous Knowledge Refinement:

  10. 做什么: 通过余弦相似度判断新知识条目与现有条目的关系——key 相似度 ≥ 0.99 且 value 相似度 ≤ 0.1 时合并(表示同一 UI 元素的新功能描述);否则添加新条目
  11. 核心思路: 知识库可持续更新,不会因为重复探索而产生冗余
  12. 设计动机: 适应应用频繁更新的需求,实现渐进式知识积累

  13. Dynamic Guidance:

  14. 做什么: 在执行时,对当前截图的 UI 元素进行视觉-语义检索匹配知识库(使用 SigLIP 作为嵌入模型),然后通过 MLLM-based 排序器按与任务指令的相关性排序,构建动态指导 prompt
  15. 核心思路: 修改版归并排序算法,通过 MLLM 成对比较知识条目的任务相关性
  16. 设计动机: 双重目标——抑制 UI 组件误解 + 确保动作建议与实际界面状态一致

损失函数 / 训练策略

  • 无需训练: GUI-explorer 是 training-free 方法,不涉及参数更新
  • 使用 GPT-4o 作为统一基座模型进行探索和推理
  • 探索配置: 分支因子 10、最大深度 5、步数限制 30
  • 跨 46 个应用自动发现超过 1,300 个知识条目

实验关键数据

主实验

  • SPA-Bench (单应用英文 Level 3): GUI-explorer 达到 53.7% 任务成功率,绝对超过 SOTA M3A (42.0%) 11.7 个百分点,超过 AppAgent (14.0%) 39.7 个百分点
  • AndroidWorld: 47.4% 成功率,超过 Aria-UI (44.8%) 2.6%,超过 M3A (40.5%) 6.9%
  • GUI-KRB 基准测试:
  • GPT-4o 的先验知识错误率为 18.2%
  • GUI-explorer 应用于 Qwen2-VL-72B 后将错误率降低 16.0%
  • 动态理解评估中错误率比基座模型低 13.4%

消融实验 / 关键发现

  • Transition Filtering 效果: 减少 16.0% 的先验知识错误
  • MLLM GUI 理解基准 (GUI-KRB): 当前模型在 43 个 app、500 个样本上有 15.2%~22.8% 的先验知识不准确率
  • 执行效率: 每步总时间 54~72 秒,成本约 \(0.053~\)0.068/步(含检索+排序+推理)
  • 知识驱动: 证实了 transition-aware knowledge 是提升性能的核心因素,而非简单的探索数据积累

亮点与洞察

  • Training-free 范式: 无需参数更新即可适应新应用,部署灵活性极高
  • 结构化探索策略: 利用 APK 的功能声明作为语义锚点,比随机探索效率大幅提升
  • 知识向量库的无监督构建: 从失败轨迹中也能提取有效的状态转换知识,不依赖成功轨迹
  • GUI-KRB 基准贡献: 首次系统评估 MLLM 的 GUI 理解能力,揭示了现有模型的严重局限

局限性 / 可改进方向

  • 探索阶段仍需较高的 MLLM API 调用成本(每步总成本约 $0.06)
  • 知识向量库的嵌入模型(SigLIP)在视觉上差异较小但功能不同的 UI 元素上可能失效
  • 目前仅在 Android 平台上验证,Web 端和桌面端适用性未验证
  • 归并排序式知识排序需要大量 MLLM 调用,实时性可能受限
  • 跨应用知识迁移能力未深入探讨

相关工作与启发

  • 与 AppAgent 的对比: AppAgent 需要手动设计探索任务,GUI-explorer 完全自主
  • 与 AutoDroid 的对比: AutoDroid 随机生成动作序列,效率低且知识质量不可控
  • 与 DigiRL 的对比: DigiRL 用强化学习但需要 Gemini 过滤成功轨迹作为训练数据
  • 与 CAT/Synapse 的对比: 依赖预先收集的成功轨迹或人工反馈,扩展性受限
  • 启发: knowledge-grounded agent 是实现通用 GUI 自动化的关键路径,接地式知识可以有效补偿 MLLM 的先验不足

评分

  • 新颖性: ⭐⭐⭐⭐
  • 实验充分度: ⭐⭐⭐⭐⭐
  • 写作质量: ⭐⭐⭐⭐
  • 价值: ⭐⭐⭐⭐⭐