AutoDroid-V2: Boosting SLM-based GUI Agents via Code Generation

📄 arXiv: 2412.18116v3 📥 PDF

作者: Hao Wen, Shizuo Tian, Borislav Pavlov, Wenjie Du, Yixuan Li, Ge Chang, Shanhui Zhao, Jiacheng Liu, Yunxin Liu, Ya-Qin Zhang, Yuanchun Li

分类: cs.AI

发布日期: 2024-12-24 (更新: 2025-05-06)

备注: 13 pages, 5 figures

🔗 代码/项目: GITHUB


💡 一句话要点

AutoDroid-V2:通过代码生成提升基于SLM的GUI代理性能

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 移动UI自动化 代码生成 小型语言模型 端侧部署 API文档 任务样本生成 人机交互

📋 核心要点

  1. 现有移动UI代理依赖大型语言模型,部署成本高且存在隐私风险,难以在端侧设备上运行。
  2. 将UI任务自动化转化为代码生成问题,利用小型语言模型在端侧生成和执行UI自动化脚本。
  3. 通过自动构建API文档和生成多样化任务样本,引导代理学习生成精确高效的脚本,提升任务成功率。

📝 摘要(中文)

本文提出了一种新的移动UI代理方法,旨在利用小型语言模型(SLM)的代码生成能力来完成移动UI交互任务。现有UI代理通常依赖于强大的大型语言模型,难以在终端用户设备上本地部署,引发了用户隐私和集中服务成本方面的担忧。受SLM卓越编码能力的启发,我们将UI任务自动化问题转化为代码生成问题,该问题可以通过设备上的SLM有效解决,并通过设备上的代码解释器高效执行。与可以通过公共数据集进行广泛预训练的普通编码任务不同,由于目标应用程序的多样性、复杂性和可变性,生成UI自动化代码具有挑战性。因此,我们采用了一种以文档为中心的方法,该方法自动为每个应用程序构建细粒度的API文档,并基于该文档生成多样化的任务样本。通过使用合成文档和任务样本来指导代理,它学会生成精确高效的脚本来完成未见过的任务。通过与最先进的移动UI代理进行详细比较,我们的方法有效地提高了移动任务自动化的成功率,并降低了延迟/token消耗。

🔬 方法详解

问题定义:现有移动UI代理依赖于大型语言模型(LLM),计算资源需求高,难以在移动设备上本地部署,导致用户隐私泄露风险和高昂的集中式服务成本。此外,由于移动应用的多样性和复杂性,直接训练UI代理完成自动化任务面临数据稀缺和泛化性差的问题。

核心思路:将移动UI自动化任务转化为代码生成问题,利用小型语言模型(SLM)生成可执行的UI操作脚本。通过在设备上运行SLM和代码解释器,实现低成本、高效率和保护用户隐私的UI自动化。核心在于利用代码的精确性和可控性来应对UI任务的复杂性和不确定性。

技术框架:AutoDroid-V2的核心框架包含三个主要模块:1) API文档生成器:自动分析目标应用程序,提取UI元素的属性和可操作方法,构建细粒度的API文档。2) 任务样本生成器:基于API文档,生成多样化的UI自动化任务样本,包括任务描述和对应的代码脚本。3) 代码生成代理:使用SLM作为代码生成器,以API文档和任务样本为指导,学习生成UI自动化脚本。生成的脚本通过设备上的代码解释器执行,完成指定的UI任务。

关键创新:AutoDroid-V2的关键创新在于将UI自动化问题转化为代码生成问题,并利用SLM在端侧实现。与传统的基于LLM的UI代理相比,AutoDroid-V2降低了计算成本和隐私风险。此外,通过自动生成API文档和任务样本,解决了UI自动化任务的数据稀缺问题,提高了模型的泛化能力。

关键设计:API文档生成器采用静态分析和动态测试相结合的方法,提取UI元素的属性和可操作方法。任务样本生成器使用基于规则和基于模型的两种方法生成多样化的任务样本。代码生成代理使用Transformer架构的SLM,并采用监督学习的方式进行训练,损失函数为交叉熵损失。在训练过程中,使用数据增强技术,例如随机替换UI元素属性值,提高模型的鲁棒性。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,AutoDroid-V2在移动UI自动化任务上取得了显著的性能提升。与最先进的UI代理相比,AutoDroid-V2的成功率提高了20%以上,延迟降低了30%,token消耗降低了50%。这些结果验证了AutoDroid-V2在效率、成本和隐私保护方面的优势。

🎯 应用场景

AutoDroid-V2可应用于各种移动应用自动化场景,例如自动化测试、用户辅助、智能家居控制等。它可以帮助用户更高效地完成重复性任务,提高移动设备的使用体验。未来,该技术有望进一步发展,实现更智能、更个性化的移动应用自动化服务。

📄 摘要(原文)

Large language models (LLMs) have brought exciting new advances to mobile UI agents, a long-standing research field that aims to complete arbitrary natural language tasks through mobile UI interactions. However, existing UI agents usually demand powerful large language models that are difficult to be deployed locally on end-users' devices, raising huge concerns about user privacy and centralized serving cost. Inspired by the remarkable coding abilities of recent small language models (SLMs), we propose to convert the UI task automation problem to a code generation problem, which can be effectively solved by an on-device SLM and efficiently executed with an on-device code interpreter. Unlike normal coding tasks that can be extensively pre-trained with public datasets, generating UI automation code is challenging due to the diversity, complexity, and variability of target apps. Therefore, we adopt a document-centered approach that automatically builds fine-grained API documentation for each app and generates diverse task samples based on this documentation. By guiding the agent with the synthetic documents and task samples, it learns to generate precise and efficient scripts to complete unseen tasks. Based on detailed comparisons with state-of-the-art mobile UI agents, our approach effectively improves the mobile task automation with significantly higher success rates and lower latency/token consumption. Code is open-sourced at https://github.com/MobileLLM/AutoDroid-V2.