5万字长文全面解读GUI Agent的前世今生

大模型向量数据库机器学习
前言

本文是之前GUI Agent综述系列的合订本。

GUI Agent综述-1:总览

GUI Agent综述-2:三大技术基石

GUI Agent综述-3:发展历程

GUI Agent综述-4:深度解读GUI Agent的核心组件及其最新进展

GUI Agent综述-5:GUI Agent框架百家争鸣

GUI Agent综述-6:汇总GUI Agent训练数据集

GUI Agent综述-7:GUI Agent 模型优化

GUI Agent综述 : 8-如何评测GUI Agent?有哪些评测基准?

GUI Agent综述 : 9-GUI Agent应用与未来

今天的主题聚焦于一个激动人心的领域—— 大型语言模型(LLM)驱动的图形用户界面(GUI)智能体(Agent) 。这一领域融合了人工智能、人机交互和软件工程的跨学科知识,是当前AI领域最活跃的方向之一。本次的综述系列解读将系统梳理LLM驱动GUI Agent的发展脉络,剖析其核心技术、关键挑战及未来机遇,旨在为感兴趣的读者提供详尽指南,并激发更多创新思考。

原始综述论文地址:

https://arxiv.org/abs/2411.18279 (原文长达近70页)

简介

图形用户界面(GUI)一直是人机交互的核心,便于用户操控数字系统。然而,传统的GUI自动化多依赖脚本或规则,缺乏灵活性,难以满足复杂需求。

大型语言模型(LLM),尤其是多模态模型的兴起,革命性地推动了GUI自动化的发展。LLM在自然语言理解和任务执行方面展现出卓越能力,使“LLM驱动”的GUI Agent能够根据自然语言指令自主操作,标志着人机交互的新范式。

LLM驱动的GUI Agent在网络导航、移动应用和桌面自动化等领域具备巨大潜力,迅速发展。本文综述了LLM驱动的GUI Agent的发展历程、核心组件及技术,探讨现有框架和数据使用方法,并分析其在实际应用中的表现及未来机遇。

通过深入分析,本综述识别了关键研究空白,并为未来发展提供了路线图,旨在为研究者和从业者提供指导,推动该领域的进步。

  1. 引言 ========

智能体(Agent)能够接受用户的自然语言请求,并在多个应用程序中无缝协作。例如,它可以从Word中提取信息、总结网页、处理PDF文件,并在PowerPoint中创建幻灯片,最终通过Teams发送。

图形用户界面(GUI)极大地改变了用户与数字系统的交互方式,降低了使用门槛,提升了可用性。然而,GUI在重复性任务和多步骤操作中效率不足。相比之下,命令行界面(CLI)在某些场景下仍更高效。

尽管GUI改善了用户体验,但其多样性和动态性为自动化带来了挑战。传统的GUI自动化方法依赖于脚本或规则,缺乏适应性和扩展性,难以应对动态工作流。

大型语言模型(LLM)的兴起,尤其是其多模态能力,为GUI自动化带来了突破性进展。以ChatGPT为代表的LLM能够处理复杂的视觉数据,使智能体更自然地与GUI交互,推动了GUI自动化的新发展。

LLM驱动的GUI Agent标志着自动化的范式转变,使得自然语言理解、视觉识别与决策制定融为一体,显著提升了任务自动化的效率。这些智能体不仅简化了复杂操作,还为非技术用户提供了更友好的交互体验。

1.2 综述范围

为了弥补这一空白,这篇综述首次对LLM驱动的GUI Agent进行了全面调查。该综述涵盖了GUI Agent的历史演进,提供了构建这些Agent的分步指南,总结了基本和高级技术,回顾了与框架、数据和模型相关的重要工具和研究,展示了代表性应用,并勾画出未来发展方向。具体来说,本调查旨在回答以下研究问题(Research Questions,RQ):

  1. RQ1: LLM驱动GUI Agent的历史发展轨迹是什么?(第4节)
  2. RQ2: 构成LLM驱动GUI Agent基础的基本组件和先进技术是什么?(第5节)
  3. RQ3: LLM GUI Agent的主要框架是什么,它们的定义特征是什么?(第6节)
  4. RQ4: 现有的数据集是什么,如何收集全面的数据集来训练GUI Agent的优化LLM?(第7节)
  5. RQ5: 如何利用收集到的数据训练GUI Agent专用的大规模行动模型(LAM),该领域当前领先的模型有哪些?(第8节)
  6. RQ6: 用于评估GUI Agent能力和性能的指标和基准是什么?(第9节)
  7. RQ7: LLM驱动GUI Agent最重要的实际应用有哪些,它们是如何为实际使用而调整的?(第10节)
  8. RQ8: 开发出健壮、智能GUI Agent面临的主要挑战、局限性和未来研究方向是什么?(第11节)

1.3 文章结构

原始论文综述的组织结构如下。

  • 第3节提供了关于LLM、LLM Agent和GUI自动化的初步背景知识。
  • 第4节追溯了LLM驱动GUI Agent的演进历程。
  • 第5节介绍了LLM驱动GUI Agent中的关键组件和先进技术,可作为综合指南。
  • 第6节介绍了LLM驱动GUI Agent的代表性框架。
  • 第7节讨论了数据集收集,以及针对优化GUI Agent中LLM的相关以数据为中心的研究。
  • 第8节涵盖了GUI Agent的基础和优化模型。
  • 第9节概述了评估指标和基准测试。
  • 第10节探讨了实际应用和使用案例。
  • 第11节审视了当前的局限性、挑战和潜在的未来方向。
  • 第12节是本综述的结论。

具体到公众号解读系列里面一共划分为9篇:

  • 第1篇: 作为引言及其概述,简要介绍综述的内容。

GUI Agent综述-1:总览

  • 第2篇: 介绍LLM、LLM Agent和GUI自动化的初步背景知识(对应原始综述第3章)。

GUI Agent综述-2:三大技术基石

  • 第3篇: 追溯LLM驱动GUI Agent的演进历程(对应原始综述第4章)。

GUI Agent综述-3:发展历程

  • 第4篇: 介绍LLM驱动GUI Agent中的关键组件和先进技术(对应原始综述第5章)。

GUI Agent综述-4:深度解读GUI Agent的核心组件及其最新进展

  • 第5篇: 介绍LLM驱动GUI Agent的代表性框架(对应原始综述第6章)。

GUI Agent综述-5:GUI Agent框架百家争鸣

  • 第6篇: 介绍现有的数据集及其如何收集全面的数据集来训练优化GUI Agent的LLM(对应原始综述第7章)。

GUI Agent综述-6:汇总GUI Agent训练数据集

  • 第7篇: 如何利用收集到的数据训练GUI Agent专用的大规模行动模型(LAM),及其该领域当前领先的模型(对应原始综述第8章)。

GUI Agent综述-7:GUI Agent 模型优化

  • 第8篇: 概述GUI Agent评估指标和基准测试(对应原始综述第9章)。

GUI Agent综述 : 8-如何评测GUI Agent?有哪些评测基准?

  • 第9篇: 介绍GUI Agent实际应用和使用案例并审视了当前的局限性、挑战和潜在的未来方向(对应原始综述第10章和11章)。

GUI Agent综述 : 9-GUI Agent应用与未来

只对部分章节感兴趣的小伙伴可以留意目标章节的解读。

更多智能体(Agent)相关可以订阅此专题: 智能体(Agent) 专题

3 背景

LLM驱动的GUI Agent的发展得益于三大领域的进展:

  • 大型语言模型(LLMs)在自然语言理解和代码生成方面的强大能力,构成了此类Agent的核心智能基础;
  • 扩展LLMs能力的相关Agent架构和工具,弥合了语言模型与物理环境之间的鸿沟,使其能够产生实际影响;
  • GUI自动化领域提供的一套成熟的工具、模型和方法论,为GUI Agent的功能奠定了坚实的基础。

这些组成部分共同推动了基于LLM的GUI Agent的诞生。以下各小节将对这些领域进行简要概述,为后续讨论奠定基础。

3.1 大型语言模型:基础与能力

语言模型的研究历史悠久且成果丰硕,其起源可追溯到早期的统计语言模型和较小规模的神经网络架构。基于这些基础概念,近期的研究重点转向了基于Transformer结构的LLMs,例如生成式预训练Transformers(GPTs)。通过在大规模文本语料库上进行预训练,并显著扩大模型规模,这些模型验证了扩展规律(scaling laws),并在广泛的自然语言任务上展现出卓越的性能。除了模型规模的增长,这些LLMs还表现出更强的语言理解与生成能力,以及一些小规模语言模型所不具备的涌现特性。

早期的神经语言模型主要基于循环神经网络(RNNs)和长短时记忆网络(LSTMs),但在性能和泛化能力上均存在局限。Transformer模型的引入,以其注意力机制为核心,成为一个革命性的里程碑,确立了此后几乎所有LLMs所采用的基础架构。这一进展催生了多种模型结构的变体,包括仅编码器模型(如BERT、RoBERTa、ALBERT)、仅解码器模型(如GPT-1、GPT-2)和编码器-解码器模型(如T5、BART)。2022年,基于GPT-3.5的ChatGPT发布,作为一款具有突破性的LLM,彻底改变了人们对语言模型能力的认知。此后,许多先进的LLM相继问世,包括GPT-4、LLaMA-3和Gemini,推动了该领域的快速发展。如今的LLMs用途广泛,其中许多模型不仅能够处理多模态数据,还可以执行从问答到代码生成等多种任务,已成为各种应用中不可或缺的工具。

LLMs的出现还带来了一些显著的高级特性,这些特性极大地扩展了其应用范围,使得以自然语言驱动的GUI Agent成为可能。这些进步包括:

  • Few-Shot Learning :也被称为“上下文学习”,LLMs能够在推理阶段通过少量示例学习新任务,而无需重新训练。这一能力对于GUI Agent在不同环境中实现跨场景泛化至关重要。
  • Instruction Following :经过指令微调(instruction tuning)后,LLMs展现出显著的指令执行能力,能够对新任务进行强大的泛化。这使得LLMs能够准确理解面向GUI Agent的用户请求,并遵循预定义目标。
  • Long-Term Reasoning :LLMs具备规划能力,可以通过将复杂任务拆解为可管理的步骤来解决问题,常用的技术如“链式思考”,即思维链(CoT)推理技术。这一能力对GUI Agent尤为重要,因为许多任务需要多步操作,并依赖可靠的规划框架。
  • 代码生成与工具利用 :LLMs在生成代码和使用各种工具(如API)方面表现出色。这些能力至关重要,因为代码和工具是GUI Agent与环境交互的核心工具集。
  • 多模态理解 :高级LLMs能够整合额外的数据模态(如图像)到其训练过程中,演变为多模态模型。这一能力对GUI Agent尤为重要,因为它们需要解析GUI截图以理解并操作图形界面。

这些进步奠定了基于LLM的GUI Agent的技术基础,使得以前难以实现的任务成为可能,并为进一步提升智能化、人机交互能力和跨领域应用提供了强大的支持。

3.2 大型语言模型Agent:从语言到行动

传统的人工智能Agent通常专注于增强特定能力,如符号推理或在某些特定任务(如围棋或国际象棋)上达到顶尖水平。相比之下,大型语言模型(LLM)的出现彻底改变了人工智能Agent,为其提供了自然语言界面,赋予了类似人类的决策能力,并使其能够执行各种任务并在不同环境中产生实际影响。在LLM Agent中,如果LLM构成了GUI Agent的"大脑",那么其附带的组件则扮演着"眼睛和手"的角色,使LLM能够感知环境的状态,并将其文本输出转化为可操作的步骤,从而产生实际影响。这些组件将LLM从被动的信息源转变为可以代表用户执行任务的交互式Agent,从而重新定义了LLM的角色,使其不仅是纯文本生成模型,还是能够驱动行为和实现特定目标的系统。

在GUI Agent的背景下,Agent通常通过屏幕截图和小部件树(widget trees)来感知GUI状态,然后执行操作以模仿用户行为(例如鼠标点击、键盘输入、手机上的触摸手势)。由于任务可能是长期的,因此通常需要有效的规划和任务分解,这带来了独特的挑战。因此,由LLM驱动的GUI Agent通常具有多模态能力、强大的规划系统、分析历史交互的记忆机制以及与环境交互的专用工具包。第5节将详细讨论这些针对GUI Agent量身定制的设计。

3.3 GUI自动化:工具、技术和挑战

自计算机图形用户界面(GUI)诞生之日起,GUI自动化就一直是研究和应用的重要领域。最初,GUI自动化的目标是提高软件测试效率,专注于模拟用户在图形应用程序中的操作,如点击、文本输入和导航,以验证功能。早期的GUI自动化工具旨在执行静态界面上重复的测试用例。这些方法简化了质量保证过程,确保了一致性并减少了人工测试时间。随着对数字解决方案需求的不断增加,GUI自动化已扩展到测试之外的其他应用领域,包括机器人流程自动化(RPA)和人机交互(HCI)。RPA利用GUI自动化在业务流程中复制人类操作,自动化例行任务以提高操作效率。同样,HCI研究也利用GUI自动化来模拟用户行为,实现可用性评估和交互研究。在这两种情况下,自动化都通过最小化重复性任务和提高系统适应性,极大地提高了生产力和用户体验。

传统的GUI自动化方法主要依赖于脚本编程和基于规则的框架。基于脚本的自动化利用Python、Java和JavaScript等语言在程序层面控制GUI元素。这些脚本在界面上模拟用户操作,通常使用Selenium等工具进行基于Web的自动化,或使用AutoIt和SikuliX等工具进行桌面应用程序的自动化。与此同时,基于规则的方法则根据预定义的启发式规则运行,使用规则根据位置、颜色和文本标签等属性检测并与特定GUI元素交互。虽然这些方法对于可预测的、静态工作流程非常有效,但它们难以适应现代GUI的可变性,在现代GUI中,动态内容、响应式布局和用户驱动的变化使得维护一成不变的、基于规则的自动化变得极具挑战性。

计算机视觉(CV)已成为解释GUI视觉方面的关键技术,使自动化工具能够识别和交互屏幕上的元素,即使布局和设计发生变化。CV技术允许GUI自动化系统通过分析屏幕截图并识别感兴趣区域来检测和分类屏幕元素,如按钮、图标和文本字段。光学字符识别(OCR)进一步增强了这一能力,从图像中提取文本内容,使自动化系统能够准确解释标签、错误消息和表单说明。物体检测模型增加了系统的鲁棒性,使自动化Agent能够定位GUI元素,即使视觉布局发生改变。通过结合CV,GUI自动化系统在动态环境中实现了更大的弹性和适应性。

尽管取得了进展,但传统的GUI自动化方法在应对当代界面的复杂性和可变性方面仍显不足。如今的应用程序通常具有动态、自适应的元素,仅凭刚性的脚本编程或基于规则的方法无法可靠地实现自动化。现代界面越来越需要情境意识,例如处理屏幕文本、理解用户意图和识别视觉线索。这些需求暴露了现有自动化框架的局限性,以及对更加灵活、能够实时适应和基于上下文做出响应的解决方案的迫切需求。

大型语言模型(LLM)为解决这些挑战提供了一个有前景的方案。凭借其理解自然语言、解释上下文和生成自适应脚本的能力,LLM可以实现更智能、更灵活的GUI自动化。它们处理复杂指令和从上下文中学习的能力,使其能够弥合静态的基于规则方法与当代GUI动态需求之间的差距。通过将LLM与GUI Agent相结合,这些系统获得了根据当前界面状态实时生成脚本的能力,从而获得传统方法无法实现的适应性和复杂性水平。LLM和GUI Agent的结合为高级的以用户为中心的自动化范式铺平了道路,能够灵活响应用户请求,并与复杂、不断演进的界面无缝交互。

  1. LLM 驱动的 GUI Agent 的发展历程 =============================

古人云"冰冻三尺,非一日之寒"。LLM 驱动的 GUI Agent 的发展也是一个循序渐进的过程,其根基深植于数十年的研究和技术积累。从最初的简易 GUI 测试脚本和基于规则的自动化框架起步,该领域通过融合机器学习技术取得了长足进步,进而催生了更智能、适应性更强的系统。LLM 模型, 尤其是多模态模型的引入,使得自然语言交互成为可能,从根本上革新了用户与软件应用程序的交互方式,从而彻底改变了 GUI 自动化领域。

picture.image

如图 3 所示,在 2023 年 LLM 模型出现之前,GUI Agent 的工作范围和能力均受到较大限制。自那时起,基于 LLM 的方法在网络、移动和桌面环境等不同平台上蓬勃发展,推动了该领域众多创新成果的诞生。这一趋势方兴未艾,持续推动着该领域的创新。本节将回溯 GUI Agent 的演进历程,重点介绍推动该领域发展至今的关键里程碑。

4.1 早期自动化系统

在 GUI 自动化的早期阶段,研究人员主要依赖基于随机、规则和脚本的策略。尽管这些方法奠定了基础,但在灵活性和可适应性方面存在明显的局限性。

4.1.1 基于随机的自动化

基于随机的自动化在 GUI 中使用随机动作序列,不依赖于特定算法或结构化模型,例如 Monkey Test。这种方法被广泛应用于 GUI 测试,通过探索不可预测的输入序列来发现潜在问题。尽管能有效识别边缘情况和 bug,但基于随机的方法由于存在大量冗余或无关试验,往往效率较低。

4.1.2 基于规则的自动化

基于规则的自动化运用预定义的规则和逻辑来实现任务自动化。2001 年,Memon 等人提出了一种规划方法,通过一系列预定义的运算符将初始状态转换为目标状态,从而生成 GUI 测试用例。Hellmann 等人在 2011 年证明了基于规则方法在探索性测试中的潜力,增强了错误检测能力。在 RPA 领域,诞生于 2020 年的 SmartRPA 使用基于规则的处理来自动化例行任务,展示了规则在简化结构化流程方面的实用性。

4.1.3 基于脚本的自动化

基于脚本的自动化依赖于详细的脚本来管理 GUI 交互。jRapture 等工具使用 Java 二进制文件和 JVM 记录和重放Java-based的 GUI 序列,通过精确重现输入序列实现一致执行。类似地,DART(2003 年)自动化了 GUI 测试的整个生命周期,从结构分析到测试用例生成和执行,提供了一个全面的回归测试框架。

4.1.4 工具和软件

在此期间,一系列软件工具被开发出来,用于 GUI 测试和业务流程自动化。Microsoft Power Automate(2019 年)提供了一个低代码/无代码环境,用于在 Microsoft 应用程序中创建自动化工作流。Selenium(2004 年)支持跨浏览器 Web 测试,而 Appium(2012 年)则实现了移动 UI 自动化。TestComplete(1999 年)、Katalon Studio(2015 年)和 Ranorex(2007 年)等商业工具允许用户创建具有跨平台能力的自动化测试。

尽管这些早期系统能够有效地自动化特定的预定义工作流程,但它们缺乏灵活性,需要手动编写脚本或基于规则的逻辑。然而,它们为 GUI 自动化奠定了基础,为后续更智能的系统构建提供了支撑。

4.2 向智能 Agent 的转变

机器学习的融入标志着 GUI Agent 向更具适应性和更强大方向转变的一个重要转折点。这一阶段的早期里程碑包括将机器学习、自然语言处理、计算机视觉和强化学习应用于 GUI 任务的进展。

4.2.1 机器学习和计算机视觉

RoScript(2020 年)是一个开创性系统,引入了非侵入式机器人测试系统,将 GUI 自动化扩展到了多种平台。AppFlow(2018 年)使用机器学习识别常见的屏幕和 UI 组件,从而实现了针对广泛应用类别的模块化测试。计算机视觉的进步也推动了 GUI 测试的重大进展,例如 2010 年提出的 frameworks 自动化了视觉交互任务。Humanoid(2019 年)使用在 Android 系统中训练用户交互轨迹的深度神经网络模型,学习用户如何根据应用程序的 GUI 选择操作。然后,该模型被用于指导测试输入生成,从而提高了覆盖率,并在测试期间产生了更加贴近人类的交互模式。类似地,DeepGUI(2021 年)应用深度学习技术过滤掉屏幕上无关的部分,从而增强了 GUI 测试中的黑盒测试有效性,只关注重要元素。这些方法展示了深度学习使 GUI 测试更加高效和直观的潜力,通过紧密契合实际用户行为来实现。

White 等人(2019 年)展示的利用计算机视觉检测 Widget 来准确识别 UI 元素,作为支持技术使 GUI 自动化能够以更智能和响应式的方式与复杂动态 GUI 进行交互。通过检测和分类界面组件,该方法增强了 Agent 与复杂动态 GUI 有效交互的能力。

4.2.2 自然语言处理

自然语言处理功能为 GUI 自动化带来了新的维度。RUSS(2021 年)和 FLIN(2020 年)等系统允许用户通过自然语言命令控制 GUI,架起了人类语言与机器动作之间的桥梁。在数据集方面,部分学者(2020 年)将自然语言指令映射到移动 UI 操作,为 GUI 控制开辟了更广泛的应用。然而,这些方法仅限于处理简单的自然语言命令,无法管理长期任务。

4.2.3 强化学习

World of Bits (WoB)(2017 年)等环境的开发使得能够使用强化学习 (RL) 训练基于网络的 Agent。工作流引导探索(2018 年)提高了 RL 的效率和任务性能。DQT(2024 年)将深度强化学习应用于 Android GUI 测试,同时保留小部件结构和语义,而 AndroidEnv(2021 年)则提供了 Agent 在 Android 上训练的真实模拟环境。WebShop(2022 年)展示了大规模网络交互的潜力,凸显了 RL 驱动的 GUI 自动化日益增长的复杂性。

尽管这些基于机器学习的方法比早期的基于规则的系统更具适应性,但它们仍然难以推广到多样化的、未知的任务。它们依赖于预定义的工作流程,适应性有限,需要针对新环境进行重新训练或定制,而自然语言控制也仍然受限。

4.3 LLM 驱动的 GUI Agent 的兴起

LLM 模型的引入,尤其是像 GPT-4o(2023 年)这样的多模态模型,通过支持自然语言交互,从根本上改变了 GUI 自动化。与以前需要整合单独模块的方法不同,LLM 提供了 GUI 自动化的端到端解决方案,在自然语言理解、视觉识别和推理等方面具有先进的能力。

LLM 为 GUI Agent 带来了独特的优势,包括自然语言理解、多模态处理、规划和泛化能力。这些特性使 LLM 和 GUI Agent 成为强大的组合。尽管早期有一些尝试,但 2023 年是标志着 LLM 驱动的 GUI Agent 在网络、移动和桌面应用等各种平台上取得重大进展的关键一年。

4.3.1 Web 领域

最初,LLM 在图形用户界面自动化领域的应用始于 Web 领域,早期研究建立了基准数据集和环境。WebAgent 是一个关键里程碑,它与 WebGUM 一起,开创了使用 LLM 进行实际 Web 导航的先河。这些进展为后续发展铺平了道路,利用更专门的 LLM 来增强基于 Web 的交互。

4.3.2 移动设备

LLM 与移动设备的集成始于 AutoDroid,它将 LLM 与特定领域知识相结合,用于智能手机自动化。其他贡献如 MM-Navigator、AppAgent 、 Mobile-Agent 和 AutoGLM 实现了对智能手机应用程序的精细控制。研究持续改进模型微调,以提高移动 GUI 自动化的准确性。

4.3.3 计算机系统

对于桌面应用程序,UFO 是最早利用具有视觉功能的 GPT-4 在 Windows 环境中执行用户命令的系统之一。Cradle 扩展了这些能力,适用于软件应用程序和游戏,而吴等人则实现了跨不同桌面应用程序的交互,包括 Web 浏览器、代码终端和多媒体工具。

4.3.4 工业界模型

在工业界,Claude 3.5 Sonnet 模型推出了“电脑使用”功能,能够通过 UI 操作与桌面环境交互。这标志着业界对 LLM 驱动的 GUI Agent 价值的认可日益加深,相关利益方也越来越多地投资于这项技术。

毫无疑问,LLM 为 GUI Agent 引入了新的范式,提升了以往无法企及的智能水平。随着该领域不断发展,可以预见,一波商业化浪潮即将到来,从而带来用户与 GUI 应用程序交互方式的变革。

5 LLM 驱动的 GUI Agent:基础与设计

LLM 驱动的 GUI Agent 旨在处理用户以自然语言提出的指令或请求,通过屏幕截图或 UI 元素树理解 GUI 的当前状态,并执行模拟人机交互的动作,从而跨越各种软件界面。这些 Agent 利用 LLM 强大的自然语言理解、推理和生成能力,精准地理解用户意图、评估 GUI 上下文,并自主地在不同环境中与应用程序交互,完成复杂的多步骤任务。这种集成使其能够流畅地解释和响应用户请求,为 GUI 自动化赋予了适应性和智能。

作为一种特定类型的 LLM Agent,当前的 GUI Agent 大多采用相似的基础框架,集成了规划、记忆、工具使用等核心组件,以及多 Agent 协作等高级增强功能。然而,为了确保在不同应用程序环境中的适应性,每个组件都必须针对 GUI Agent 的特定目标进行调整。

接下来的部分将深入概述每个组件,提供构建 LLM 驱动 GUI Agent 的实用指南和教程。此全面解析可作为指导,用于利用强大 LLM 创建高效且智能的 GUI 自动化系统。

5.1 架构和工作流程概述

图 4 展示了 LLM 驱动 GUI Agent 的架构,呈现了从用户输入到任务完成的操作序列。该架构包括多个集成组件,每个组件都为 Agent 理解和执行基于用户自然语言指令的任务做出贡献。Agent 接收用户请求后,遵循系统化的工作流程,包括环境感知、提示工程、模型推理、动作执行和持续的记忆管理利用,直至任务完全完成。

picture.image

总体而言,GUI Agent包括以下组件:

  • 操作环境 :环境定义了Agent的操作上下文,包括移动设备、网页浏览器和 Windows 等桌面操作系统平台。为了有意义地交互,Agent通过屏幕截图、部件树或其他方法捕获 UI 结构,感知环境的当前状态。它持续监控每个动作的影响反馈,并实时调整策略,以确保任务有效进行。
  • Prompt 工程 :在环境感知之后,Agent构建详细的 prompt 来指导 LLM 的推理。该 prompt 包含用户指令、处理后的视觉数据(如屏幕截图)、UI 元素布局、属性和任何与任务相关的附加上下文。这种结构化输入最大幅度地提高了 LLM 生成与当前 GUI 状态相一致、内容感知的响应的能力。
  • 模型推理 :构建好的 prompt 被传递给 LLM,即Agent的推理核心,LLM 生成完成用户请求所需的一系列规划、动作和见解。该模型可以是通用的 LLM,也可以是经过 GUI 特定数据微调的专门模型,从而更好地理解 GUI 交互、用户流程和任务需求。
  • 动作执行 :根据模型推理结果,Agent确定任务执行所需的特定动作(如鼠标点击、键盘输入、触屏手势或 API 调用)。Agent中的执行器将这些高级指令转化为可操作的命令,直接影响 GUI, 有效模拟人机交互,覆盖不同的应用程序和设备。
  • 记忆 :对于多步骤任务,Agent维护内部记忆,跟踪之前的动作、任务进度和环境状态。这种记忆确保了复杂工作流程的连贯性,因为Agent可以参考先前的步骤并相应地调整动作。还可能融入外部记忆模块,以实现持续学习、访问外部知识,并增强适应新环境或需求的能力。

通过反复遍历这些阶段并组装基础组件,LLM 驱动的 GUI Agent 可以智能地操作,无缝地跨越各种软件界面,弥合基于语言的指令与具体动作之间的鸿沟。每个组件对于 Agent 的稳健性、响应性和处理动态环境中复杂任务的能力都至关重要。在下面的小节中,将详细介绍每个组件的设计和核心技术,为从头构建 LLM 驱动的 GUI Agent 提供全面指南。

5.2 操作环境

由大型语言模型驱动的 GUI Agent 的操作环境包括移动、网络和桌面操作系统等各种平台,在这些平台上,这些 Agent 可以与图形界面进行交互。每个平台都有其独特的特点,这影响了 GUI Agent 在其中感知、解释和采取行动的方式。以下将详细介绍了每个平台的细微差别、Agent收集环境信息的方式以及它们在适应不同操作环境时面临的挑战。

5.2.1 平台

GUI Agent 可以与多种平台进行交互,包括移动设备、网络应用程序和 Windows 等计算机操作系统。每个平台为 GUI 自动化提供了独特的功能和限制,要求 Agent 相应地调整其感知和交互策略。

  • 移动平台 :移动设备在有限的屏幕空间内运行,高度依赖触摸交互,并提供不同的应用架构(如本地与混合应用)。移动平台通常使用辅助功能框架,如Android的辅助功能API和iOS的VoiceOver辅助功能检查器,来公开有关UI元素的结构化信息。然而,GUI Agent必须处理移动环境中的额外复杂性,如手势识别、应用导航以及特定于平台的限制(如安全和隐私权限)。
  • 网络平台 :网络应用程序提供了相对标准化的界面,通常可通过超文本标记语言(HTML)和文档对象模型(DOM)结构访问。GUI Agent可以利用HTML属性(如元素ID、类和标签)来识别交互组件。Web环境还提供动态内容、响应式布局和异步更新(如AJAX请求),要求Agent持续评估DOM并适应不断变化的界面元素。
  • 计算机平台 :Windows等计算机操作系统平台提供了对GUI交互的完全控制。Agent可以使用系统级自动化API(如Windows UI Automation6)来获取全面的UI元素数据,包括类型、标签、位置和边框框。这些平台通常支持更广泛的交互类型,如鼠标、键盘和复杂的多窗口操作。这些使得GUI Agent能够执行复杂的工作流程。但是, 这些系统还需要针对从简单UI到复杂多层软件套件等各种应用程序进行复杂的适应。

总之,跨越移动、网络和桌面环境的平台多样性使 GUI Agent 能够提供广泛的自动化能力,使其成为可通过统一框架实现适应性的通用解决方案。然而,每个平台在系统和应用程序层面都呈现出独特的特点和约束,需要采取量身定制的方法来实现有效集成。通过考虑这些特定于平台的特性,GUI Agent 可以针对每种环境的独特需求进行优化,从而提高其在不同自动化场景中的适应性和可靠性。

5.2.2 环境状态感知

准确感知环境的当前状态对于由大型语言模型驱动的 GUI Agent 至关重要,因为它直接影响其决策和行动规划过程。这种感知是通过收集结构化数据(如部件树)和非结构化数据(如屏幕截图)的组合来实现的,以捕获界面及其组件的完整表示。在表III中,概述了跨各种平台收集 GUI 环境数据的关键工具包:

picture.image

并在下面详细讨论了它们的作用:

  • GUI截图 :截图提供了应用程序的可视快照,捕获了给定时刻GUI的整个状态。它们为Agent提供了布局、设计和可视内容的参考,这在UI元素的结构细节有限或不可用时至关重要。诸如图标、图像和其他可能含有重要上下文的图形线索等视觉元素,可以直接从截图中分析。许多平台都有内置工具可以捕获屏幕截图(如Windows的Snipping Tool、macOS的截图实用程序和Android的MediaProjection API), 并且截图可以通过为关键UI组件添加额外的注释(如Set-of-Mark (SoM)高亮显示或边界框)来增强,以简化Agent决策。图6说明了VS Code GUI的各种截图,包括一个干净的版本,以及带有SoM和边界框的版本,突出显示了可操作组件,帮助Agent专注于界面的最关键区域。

picture.image

  • 部件树(Widget Trees):部件树以分层视图呈现界面元素,提供有关布局和组件之间关系的结构化数据。在图7中展示了一个GUI及其部件树的示例。通过访问部件树,Agent可以识别元素类型、标签、角色和界面内部关系等属性,所有这些对于语境理解都至关重要。Windows UI Automation和macOS的Accessibility API10等工具为桌面应用程序提供了结构化视图,而Android的Accessibility API和HTML DOM结构则为移动和网络平台提供了服务。这种分层数据对Agent绘制逻辑交互和根据UI结构做出明智选择至关重要。

picture.image

  • UI元素属性 :界面中的每个UI元素都包含诸如控件类型、标签文本、位置和边界框尺寸等特定属性,这有助于Agent定位适当的组件。这些属性对于Agent决定空间关系(如相邻元素)和功能用途(如区分按钮和文本字段)至关重要。例如,网络应用程序公开了DOM属性(id、class、name)和CSS样式等属性,提供了上下文和控制信息。这些属性有助于Agent精确定位要与之交互的元素,提高了其在不同UI环境中导航和操作的能力。图8说明了Windows UI Automation API提取的选定UI元素属性示例,这些属性支持GUI Agent的决策。

picture.image

  • 辅助计算机视觉方法 :当结构化信息不完整或不可用时,计算机视觉技术可以提供额外的信息。例如,OCR允许Agent直接从屏幕截图中提取文本内容,方便阅读标签、错误消息和说明。此外,像SAM(Segment Anything Model)、DINO和OmniParser这类先进对象检测模型可以在不同布局中识别和分类UI组件,支持Agent在UI元素可能频繁变化的动态环境中运行。这些基于视觉的方法确保了GUI Agent的健壮性,使得Agent即使在标准UI API不足的情况下也能有效运行。在图9中说明了这种辅助信息的示例,并在5.7.1节进一步详细介绍这些先进的计算机视觉方法。

picture.image

总而言之,这些元素共同创建了GUI环境当前状态的全面多模态表示,提供了结构化和可视化数据。通过将此信息纳入提示构建,Agent可以做出明智、符合上下文的决策,而不会遗漏关键的环境线索。

5.2.3 环境反馈

有效的反馈机制对于GUI Agent评估每个动作的成功与否并为后续步骤做出明智决策至关重要。反馈可以采取多种形式,具体取决于平台和交互类型。图10展示了从环境中获得的各种类型反馈的示例。

  • 截图更新 :通过比较执行动作前后的截图,Agent可以识别表明应用程序状态变化的视觉差异。截图分析可以显示界面的细微变化,如通知、视觉线索或确认消息的出现,而这些可能无法通过结构化数据捕获到。
  • UI结构更改 :执行动作后,Agent可以检测到部件树结构的修改,如元素的出现或消失、元素属性的更新或层次结构的变化。这些变化表明交互成功(如打开下拉列表或点击按钮),有助于Agent根据更新后的环境状态确定下一步操作。
  • 函数返回值和异常 :某些平台可以通过函数返回值或系统生成的异常直接提供操作结果反馈。例如,Web平台上的API响应或JavaScript返回值可以确认操作成功,而异常或错误代码则可以指示交互失败,引导Agent重试或选择替代方法。

picture.image

环境提供的这些反馈对于 GUI Agent 评估之前行动的结果至关重要。这种实时信息使得 Agent 能够评估其干预措施的有效性,并确定是否坚持原定规划或转向替代战略。通过这种自我反思过程,Agent 可以调整其决策, 优化任务执行并提高在动态和多样的应用程序环境中的整体性能。

5.3 提示工程

在由大语言模型驱动的GUI Agent的运作中,有效的提示构建是一个关键步骤,其中包含了Agent生成适当响应和成功执行任务所需的全部信息。在从环境收集相关数据后,Agent构建一个综合性提示,结合了大语言模型推理所需的各种必要组成部分。每个组成部分都有特定的用途,共同使得Agent能够有效执行用户的请求。图11展示了一个以大语言模型为"大脑"的GUI Agent的基本提示构建示例。 提示的关键元素总结如下:

  • 用户请求 :这是用户提供的原始任务描述,概述了目标和预期结果。它是Agent行动的基础,对于确保大语言模型理解任务的上下文和范围至关重要。
  • Agent指令 :该部分为Agent的操作提供指导,详细说明其角色、需遵循的规则和特定目标。指令阐明了Agent将接收哪些输入,以及大语言模型的预期输出,为推理过程建立了一个框架。
  • 环境状态 :Agent包括感知到的GUI截图和UI信息,如5.2.2节所介绍。这种多模态数据可能包括截图的不同版本(如干净版和加了SoM注释的版本),以确保清晰度并降低UI控件被注释遮挡的风险。这种对环境的全面表述对于做出准确的决策至关重要。
  • 操作文档 :该组件概述了Agent可以采取的可用操作,详细说明了相关文档、函数名称、参数、返回值和任何其他必要的参数。提供此信息使大语言模型具备了为任务选择和生成适当操作所需的上下文。
  • 演示范例 :包含输入/输出示例对对于激活大语言模型的情景学习能力至关重要。这些示例有助于模型理解并概括任务要求,从而提高其执行GUI Agent任务的表现。
  • 补充信息 :还可以包含有助于规划和推理的其他上下文。这可以包括从Agent记忆(如5.6节所述)检索的历史数据,以及通过检索增强生成(RAG)方法获得的外部知识源(如文档)。这些补充信息可以提供有价值的见解,进一步完善Agent的决策过程。

picture.image

构建有效的提示是由大语言模型驱动的GUI Agent高效运行的基础。 通过系统地纳入上述信息,Agent确保了大语言模型获得了执行任务所需的必要上下文和指导。

5.4 模型推理

构建的提示被提交给大语言模型进行推理,在此过程中,大语言模型的任务是同时生成执行用户请求所需的规划和具体行动。这一推理过程至关重要,因为它决定了GUI Agent在动态环境中的有效性。它通常包括两个主要组成部分: 规划和行动推理 ,以及生成补充输出。图12显示了大语言模型推理输出的示例。

picture.image

5.4.1 规划

成功执行GUI任务通常需要一系列连续的动作,要求Agent参与有效的规划。类似于人类认知过程,深思熟虑的规划对于组织任务、安排行动以及确保成功完成至关重要。LLM必须最初设想长期目标,同时专注于短期行动来推进实现该目标。

为了有效应对多步骤任务的复杂性,Agent应该将总体任务分解为可管理的子任务,并制定执行时间表。可以采用CoT推理等技术,使LLM能够制定结构化的计划来指导行动的执行。这个计划可以存储供将来推理步骤参考,从而增强Agent活动的组织性和集中性。

规划的细粒度可能因任务性质和Agent角色而有所不同。对于复杂任务,结合全局规划(确定广泛的子目标)和局部规划(为这些子目标定义详细步骤)的分层方法,可以显著提高Agent有效管理长期目标的能力。

5.4.2 行动推理

行动推理是推理阶段的核心目标,因为它将规划转化为可执行的任务。推断出的行动通常表示为函数调用字符串,包括函数名称和相关参数。这些字符串可以直接转化为与环境的实际交互,如点击、键盘输入、手机手势或API调用。在5.5节对这些行动类型进行了详细讨论。

输入提示必须包括Agent可供选择的预定义行动集合。Agent可以从该集合中选择行动,或者如果允许,生成自定义代码或API调用以与环境交互。这种灵活性可以增强Agent适应未预期情况的能力;然而,它可能会带来可靠性问题,因为生成的代码可能容易出错。

5.4.3 补充输出

除了规划和行动推理之外,LLM还可以生成补充输出来增强Agent的能力。这些输出可能包括阐明Agent决策的推理过程(例如CoT推理)、与用户互动的消息,或与其他Agent或系统的交流,或任务状态(例如继续或完成)。可以根据特定需求量身定制这些功能的设计,从而丰富GUI Agent的整体性能。

通过有效平衡规划和行为推理,同时结合补充输出,Agent可以以更高层次的组织性和适应性应对复杂任务。

5.5 行动执行

经过推理过程后,GUI Agent执行从推断命令中得到的动作并在GUI环境中收集反馈是一个至关重要的后续步骤。虽然"GUI Agent"一词可能暗示了专注于用户界面操作,但通过结合各种工具箱,可以大大扩展Agent的行动空间,从而提高其通用性。总的来说,GUI Agent可用的行动可分为三大类:

  • 用户界面操作
  • 原生API调用
  • AI工具

每个类别都有独特的优势和挑战,使Agent能够更有效地应对各种任务。在表IV中总结了GUI Agent常用的各种行动, 并按不同类型分类,下面将对每个类别进行详细阐释。

picture.image

5.5.1 用户界面操作

用户界面操作包括用户通常与软件应用程序GUI进行的基本交互。这些操作包括各种形式的输入,如鼠标动作(点击、拖拽、悬停)、键盘动作(按键、组合键)、触摸动作(点击、滑动)和手势(捏、旋转)。这些动作在不同平台和应用程序中的细节可能有所不同,需要针对每种环境采取量身定制的方法。

虽然用户界面操作构成了与GUI交互的基础,但由于这些任务的连续性质,它们相对较慢。每个操作都必须一步步执行,这可能会导致延迟增加,尤其是对于涉及大量交互的复杂工作流程。尽管存在这一缺点,但用户界面操作对于保持跨不同应用程序的广泛兼容性至关重要,因为它们利用了标准的用户界面元素和交互。

5.5.2 原生API调用

与用户界面操作不同,一些应用程序提供原生API,允许GUI Agent更高效地执行操作。这些API提供了对应用程序中特定功能的直接访问, 使Agent能够通过单个命令执行复杂任务。例如,调用Outlook API允许Agent通过一个操作发送电子邮件,而使用UI操作则需要一系列步骤,如导航菜单和填写表单。

虽然原生API可以显著提高动作执行的速度和可靠性,但它们的可用性有限。并非所有应用程序或平台都向外部公开API,开发这些接口也需要大量的努力和专业知识。因此,尽管原生API为高效完成任务提供了强大手段,但它们可能无法像UI操作那样普遍应用于不同的应用程序。

5.5.3 AI工具

将AI工具整合到GUI Agent中,使得GUI Agent的能力产生变革性进步。这些工具可以协助完成广泛的任务,包括从截图或文本中总结内容、增强文档、生成图像或视频(例如调用ChatGPT、DALL·E)、甚至唤起其他Agent或Copilot工具进行协作辅助。生成式人工智能技术的快速发展使得GUI Agent能够应对之前无法完成的复杂挑战。

通过整合AI工具,Agent可以扩展其功能,在不同环境中提升性能。例如,GUI Agent可以使用人工智能摘要工具快速从冗长文档中提取关键信息,或利用图像生成工具为用户演示文稿创建自定义视觉效果。这种整合不仅可以简化工作流程,而且还可以使Agent以远低于传统所需时间就能提供高质量的输出,从而赋予其更大能力。

5.5.4 总结

先进的GUI Agent应熟练利用三大类操作:用户界面操作实现广泛兼容性、原生API实现高效执行、人工智能工具增强能力。这种多方面的方法使得Agent能够在各种应用程序中可靠运行,同时最大限度地提高效率和有效性。通过熟练地在这些操作类型间导航,GUI Agent可以更高效地满足用户需求,最终带来更加无缝和高效的用户体验。

5.6 记忆

为了在复杂的多步骤任务中实现健壮的性能,GUI Agent必须保留记忆,从而在本质上无状态的环境中管理状态。记忆使Agent能够跟踪先前的操作、结果和任务的整体状态,这对于在后续步骤中做出明智决策至关重要。通过建立连续性,记忆将Agent从反应式系统转变为具有主动性和有状态的系统,能够根据累积的知识自行调整。Agent的记忆通常分为两种主要类型:短期记忆和长期记忆。表V显示了GUI Agent中不同类型记忆的概览。

picture.image

5.6.1 短期记忆

短期记忆(Short-Term Memory,STM) 为大型语言模型在运行时提供了主要的、短暂的上下文。STM存储与当前任务相关的信息,例如最近的计划、操作、结果和环境状态,并持续更新以反映任务的进展状态。在多步骤任务中,每个决策都建立在前一个决策之上,需要Agent对任务轨迹有清晰的理解,因此这种记忆尤为宝贵。如图13所示,在独立任务执行期间,由操作和计划组成的任务轨迹存储在STM中。这使Agent能够高效地跟踪任务进度,从而做出更明智的决策。

picture.image

然而,STM受限于大型语言模型的上下文窗口,限制了它可以携带的信息量。为了管理这一限制,Agent可以采用选择性记忆管理策略,例如有选择地丢弃或总结不太相关的细节,优先保留最有影响力的信息。尽管规模有限,但STM对于确保连贯、与上下文相关的交互以及支持Agent执行复杂工作流程并获得即时相关反馈至关重要。

5.6.2 长期记忆

长期记忆(Long-Term Memory,LTM)作为一个外部存储库, 用于存放超出即时运行时的上下文信息。与短期记忆的暂时性特征不同,LTM可以保留历史任务数据,包括以前完成的任务、成功的操作序列、上下文提示和学习到的见解。LTM可以存储在磁盘或数据库中,使其能够比大型语言模型的即时上下文窗口容纳更大量的信息。在图13所示的示例中,当第二个任务要求下载与之前任务相关的游戏时,Agent会从其LTM中检索相关信息。这使Agent能够准确识别正确的游戏,从而高效完成任务。

LTM通过保存成功任务轨迹、操作指南和常见交互模式的示例,有助于Agent的自我改进。在应对新任务时,Agent可以使用检索增强生成(RAG)技术来检索相关的历史数据,从而增强其根据过往成功来适应策略的能力。这使LTM在培养Agent"学习"经验的能力方面发挥了重要作用,使其能够在累积经验后以更大的准确性和效率执行任务。例如,在Synapse计算机控制智能体系统中提供了一个说明性案例,展示如何使用存储在记忆中的过去任务轨迹来指导和增强未来决策,这是一种高度适用于GUI Agent的技术。它还通过保留以前任务的信息,实现了更好的个性化。

5.7 高级增强

虽然大多数大型语言模型驱动的GUI Agent都包含了诸如感知、规划、行动执行和记忆等基本组件,但研究人员还发展了若干先进技术,以显著提高这些Agent的推理能力和整体能力。在这里,将概述在研究中广泛采用的共享进展,以指导开发更加专门化和功能强大的大型语言模型驱动的GUI Agent。

5.7.1 基于计算机视觉的GUI解析

尽管各种工具使GUI Agent能够访问诸如窗口部件位置、标题和属性等信息,但某些非标准GUI或部件可能不遵循这些工具的协议,从而使其信息无法访问。此外,由于权限管理,这些工具并不总是可用的。这种信息不完整可能会给GUI Agent带来重大挑战,因为大型语言模型可能需要独立定位并与所需的部件交互,方法是估算其坐标以执行诸如单击等操作:这是一项在没有精确GUI数据的情况下本身就很困难的任务。

基于CV的模型提供了一种非侵入性的解决方案,可直接从屏幕截图解析GUI,实现对部件的检测、定位、分割,甚至功能估计。这种方法使Agent能够根据纯视觉线索解释GUI的视觉结构和元素,而无需依赖可能无法使用或不完整的系统级工具或内部元数据,从而增强了Agent识别并对屏幕上的元素采取行动的能力。图9提供了一个说明基于CV的GUI解析器如何工作的示例。虽然标准API检测捕获预定义的部件,但CV模型还可以识别缩略图和画布等其他元素,而这些元素在PowerPoint界面中可能没有显式的API表示。这增强了对部件的识别,使Agent能够检测超出API检测范围的组件。

一个值得注意的例子是OmniParser,它实现了一种多阶段解析技术,包括用于检测可交互图标的微调模型、用于提取文本的OCR模块以及生成每个UI元素的本地化语义描述的图标描述模型。通过集成这些组件,OmniParser构建了GUI的结构化表示,增强了Agent对交互区域和功能元素的理解。这种全面的解析策略已被证明可以显著提高GPT-4V对屏幕的理解和交互准确性。

此类基于CV的GUI解析层为Agent提供了关键的基础信息,极大地增强了其与不同GUI进行准确和直观交互的能力。这对于处理偏离典型辅助功能协议的自定义或非标准元素尤为有益。此外,诸如迭代缩小等提示方法已显示出提高VLM部件定位能力的前景。总的来说,这些方法为构建更具适应性和稳健性的GUI Agent铺平了道路,使其能够在更广泛的屏幕环境和应用程序上下文中高效运行。

5.7.2 多Agent框架

俗话说“三个臭皮匠,顶个诸葛亮”,这句话在GUI自动化任务中尤为适用。单个agent虽然有能力完成任务,但在多agent框架下,其能力可以得到显著提升。多agent系统利用多个agent的集体智慧、专业技能和互补优势,更有效地解决复杂任务,这是单个agent无法单独做到的。在GUI Agent的背景下,多agent系统通过两种主要机制提供高级功能: 专业化agent间的协作 。图14展示了一个由大型语言模型(LLM)驱动的多agent如何协作创建一个桌子的例子。

  • Agent专业化:在多agent框架中,每个agent都被设计为专注于特定的角色或功能,利用其独特的能力为整体任务做出贡献。如图14所示,专业化使不同的agent能够专注于任务流程的不同方面。例如,“文档提取器”专门从本地文档(如PDF)中提取相关内容,而“网络检索器”则专注于从在线资源中收集额外信息。类似地,“设计器(Designer)”将检索到的信息转换为具有视觉吸引力的幻灯片,而“评估器(Evaluator")”则提供反馈以改进和完善输出。这种功能分离确保每个agent都高度擅长其指定的任务,从而提高效率和结果质量。
  • 协作式Agent间动态:图14所示的多agent系统展示了agent如何动态协作来处理复杂任务。该过程从“文档提取器”和“网络检索器”开始,它们并行工作,从本地和在线资源收集信息。检索到的数据被传递给“设计器”,后者将其合成为一组连贯的幻灯片。幻灯片创建完成后,“评估器”会审查输出,并提供反馈以进行完善。这些agent共享信息、交换上下文并以协调的方式运行,反映了类似人类的团队合作动态。例如,如图所示,agent的角色紧密集成——每个输出都为下一阶段提供输入,从而创建一个简化的工作流程,该流程反映了现实世界的协作环境。

picture.image

在这样的系统中,agent可以集体参与需要规划、讨论和决策的任务。通过这些互动,系统可以利用每个agent的领域专业知识和潜在的专业化能力,从而最大限度地提高跨越不同多步骤流程的整体性能。

5.7.3 自我反思(Self-Reflection)

俗话说,“知错能改,善莫大焉”。在GUI多agent系统的背景下,自我反思指的是agent在整个任务执行过程中内省地评估其推理、行动和决策的能力。这种能力使agent能够检测潜在的错误、调整策略和改进行动,从而提高其决策的质量和稳健性,尤其是在复杂或不熟悉的GUI环境中。通过定期评估自身的表现,具有自我反思能力的agent可以动态地进行调整,从而产生更准确和有效的结果。

自我反思对于GUI agent尤为重要,因为用户界面的可变性以及即使在人工操作的系统中也可能出现错误。GUI agent经常遇到偏离预期的情况, 例如点击错误的按钮、遇到意外的广告、导航不熟悉的界面、收到来自API调用的错误消息,甚至是对任务结果的用户反馈做出响应。为了确保任务成功,GUI agent必须快速反思其行动, 评估这些反馈信号,并调整其计划以更好地与期望的目标保持一致。

如图15所示,当agent最初未能找到“设计”菜单中的“线条绘制”选项时,自我反思使其能够重新考虑并在“图片格式”菜单下的“艺术效果”中找到其正确位置,从而成功完成任务。

picture.image

在实践中,GUI agent的自我反思技术通常涉及两种主要方法:(i)ReAct和(ii)Reflexion。

  • ReAct(推理和行动):ReAct通过让agent评估每个行动的结果并推理出下一个最佳步骤,将自我反思集成到agent的行动链中。在这个框架中,agent不仅仅是遵循线性的行动序列;相反,它会动态地适应,不断地根据每个行动的反馈重新评估其策略。例如,如果一个试图填写表单的GUI agent意识到它点击了错误的字段,它可以通过回溯并选择正确的元素来调整。通过ReAct,agent可以实现更高的连贯性和准确性,因为它学会了在完成的每个步骤中改进其行为。
  • Reflexion:Reflexion强调基于语言的反馈,其中agent接收并处理来自环境的反馈作为语言输入,称为自我反思反馈。此反馈被上下文关联,并用作后续交互的输入,帮助agent从先前的错误中快速学习。例如,如果GUI agent收到来自应用程序的错误消息, Reflexion使agent能够处理此消息,更新其对界面的理解,并避免在未来的交互中出现类似的错误。Reflexion的迭代反馈循环促进了持续改进,并且对于GUI agent导航复杂的多步骤任务尤其有价值。

总的来说,自我反思是GUI多agent系统中的一项重要增强功能,使agent能够更好地应对GUI环境的可变性和不可预测性。这种内省能力不仅提高了单个agent的性能,而且还促进了协作环境中的韧性、适应性和长期学习。

5.7.4 自我进化(Self-Evolution)

自我进化是 GUI agent 应该具备的关键属性,它使得 agent 能够通过积累的经验逐步提升性能。在 GUI 多 agent 系统中,自我进化不仅允许单个 agent 改进,还通过在 agent 之间共享知识和策略来促进集体学习和适应。 在任务执行期间,GUI agent 会生成详细的动作轨迹,并附带有环境状态、内部推理过程(agent 的思考过程)和评估结果等补充信息。这些丰富的数据构成了宝贵的知识库,GUI agent 可以从中学习和进化。从这些经验中提取的知识可以分为三个主要领域:

  • 任务轨迹 :agent 执行的动作序列以及相应的环境状态,对于学习至关重要。这些成功的轨迹可以通过两种重要方式加以利用。首先,它们可以用于微调支撑 agent 的核心 LLM。使用这种特定领域和任务相关的数据进行微调,可以增强模型泛化能力,并提高未来在类似任务上的性能。其次,这些轨迹可以用作演示示例,以激活 LLM 在提示工程中的上下文学习能力。通过在提示中包含成功任务执行的示例,agent 可以更好地理解和复制期望的行为,而无需额外的模型训练。

例如,假设一个 agent 成功完成了一项复杂的任务,该任务涉及跨多个应用程序的自动化数据输入。记录下来的动作轨迹(包括采取的步骤、做出的决策和上下文线索)可以与其他 agent 共享。当这些 agent 面临类似任务时,可以使用此轨迹作为指导,从而缩短学习曲线并提高效率。

  • 指导和规则 :从积累的经验中,agent 可以提取出高层次的规则或指导方针,这些规则或指导方针概括了最佳实践、成功的策略以及从过去的错误中吸取的教训。这些知识可以被形式化为策略或启发式方法,供 agent 在决策过程中参考,从而增强其推理能力。

例如,如果 agent 在尝试执行某些操作时,由于没有适当的先决条件而反复遇到错误(例如,在指定文件路径之前尝试保存文件),则它们可以制定一条规则,在执行操作之前检查这些先决条件。这种主动方法降低了出错的可能性,并提高了任务成功率。

  • 新工具包 :在整个交互过程中,GUI agent 可能会发现或开发出更有效的方法、工具或动作序列,从而简化任务执行。这些可能包括优化的 API 调用、宏或 UI 操作的组合,这些组合比以前的方法更有效地完成任务。通过将这些新工具纳入其技能库,agent 可以扩展其能力并提高整体效率。

例如,一个 agent 可能会发现,使用批量处理 API 可以比在循环中执行单个 UI 操作更有效地自动化重复性任务。这种新方法可以在多 agent 系统中的 agent 之间共享,从而使所有 agent 都能从改进的方法中受益,并将其应用于相关任务。

图16 说明了 GUI agent 如何通过完成任务进行进化。在其操作过程中,agent 会向其技能集中添加新功能,例如图像摘要工具包,从阅读一篇关于创建 GUI agent 的论文中获得见解,并将网页提取等任务轨迹存储在其经验池中。当分配新任务时,例如“从 GitHub 存储库学习制作 GUI agent”,agent 会利用其获得的技能和过去的经验来适应并有效地执行任务。

picture.image

这种动态进化突出了 agent 不断学习、成长和完善其能力的能力。通过利用过去的经验、融入新的知识并扩展其工具集,GUI agent 可以适应各种挑战,改进任务执行,并显著提高系统的整体性能,从而培养一个协作且不断改进的环境。

5.7.5 强化学习

强化学习 (RL) 在使 LLM 与期望的行为保持一致方面取得了显著进展,并且最近已被用于 LLM agent 的开发。在 GUI 多 agent 系统中,RL 为增强 GUI agent 的性能、适应性和协作提供了巨大的潜力。GUI自动化任务自然地与马尔可夫决策过程 (MDP)的结构相一致, 这使得它们特别适合基于 RL 的解决方案。在这种情况下,状态对应于环境感知(例如 GUI 屏幕截图、UI 元素属性和布局配置),而动作直接映射到 UI 操作,包括鼠标点击、键盘输入和 API 调用。可以根据各种性能指标(例如任务完成、效率和准确性)明确定义奖励,从而使 agent 能够优化其动作以获得最大效果。图17说明了 GUI agent 中用于任务完成的 MDP 建模示例,其中明确定义了状态、动作和奖励。

picture.image

通过将GUI agent 交互形式化为 MDP,可以利用 RL 技术来训练 agent, 使其通过试错学习任务执行的最佳策略。这种方法使 agent 能够做出最大化随时间累积奖励的决策,从而实现更高效和有效的任务完成。例如,一个学习自动化 Web 应用程序中表单填写的 agent 可以使用 RL 来发现输入数据并成功提交表单的最有效动作序列,从而最大限度地减少错误和冗余步骤。此过程有助于使 agent 在 GUI 自动化任务中更紧密地与期望的行为保持一致,尤其是在预定义的动作序列不足的复杂或模糊情况下。

DigiRL是一种典型的方法,这是一个两阶段 RL 框架,用于在动态环境中训练 GUI agent。DigiRL 首先使用离线数据初始化 agent 模型的离线 RL 阶段,然后进行在线微调,其中模型直接与环境交互,通过使用 LLM 评估器提供可靠奖励信号的 Android 学习环境中的实时数据来改进其策略。这种自适应设置使 agent 能够学习并有效地响应动态 GUI 的复杂性。Wang 等人提出了 DistRL,这是一个专门为在 Android 中运行的设备上移动控制 agent 设计的 RL 微调管道。DistRL 采用异步架构,在异构工作设备和环境中部署 RL 微调 agent,以进行分散式数据收集。通过利用离策略 RL 技术,DistRL 可以利用从不同环境远程收集的数据进行集中训练,从而显著增强模型的可扩展性和鲁棒性。这些代表性的方法说明了 RL 在改进 GUI agent 方面的潜力,展示了集中式和分布式 RL 框架如何使现实世界应用中更具响应性、适应性和有效性的 GUI 自动化模型成为可能。

5.7.6 总结与要点

总而言之,这些先进技术显著提升了LLM驱动的GUI agent的能力,使其在多agent框架内更加通用、高效和具有适应性。重要的是,这些技术并非相互排斥——许多技术可以整合在一起,创造出更强大的agent。例如,在多agent框架中加入自我反思机制,可以让agent协同改进任务策略并从错误中恢复。通过利用这些进步,开发者可以设计出不仅擅长自动化复杂、多步骤任务,而且能够通过自我进化、适应动态环境以及有效的agent间协作来持续改进的LLM驱动的GUI agent。未来研究有望产生更复杂的技术,进一步扩展GUI自动化的范围和稳健性。

5.8 从基础到创新:Roadmap

构建稳健、适应性强且高效的LLM驱动的GUI agent是一个多方面的过程, 需要仔细整合几个核心组件。在第5节概述的架构、设计、环境交互和记忆方面打下坚实的基础后,后续章节将重点转向在实际场景中部署这些agent所需的关键要素。首先在第6节全面回顾最先进的LLM驱动的GUI agent框架,突出它们在该领域的进步和独特贡献。 在此基础上,深入研究为GUI agent优化LLM的方法,从第7章节的数据收集和处理策略开始,逐步深入到第8节的模型优化技术。为了确保稳健的开发和验证,在第9章研究评估方法和基准,这对于评估agent的性能和可靠性至关重要。最后,在第10章节探讨各种实际应用,展示这些agent在各个领域产生的变革性影响。

总而言之,这些章节为推动LLM驱动的GUI agent从基础概念到实际应用和创新提供了一个全面的路线图(Roadmap)。这个路线图,从基础组件到实际部署,概括了将LLM驱动的GUI agent概念从构思到实现所需的必要流程。

为了提供全面的视角,首先在图18中介绍一个分类法,该分类法将最近关于LLM驱动的GUI agent的工作按框架、数据、模型、评估和应用进行分类。这个分类法可以作为指导浏览每个领域广泛研究和开发工作的蓝图,同时也坦承类别之间的重叠,其中某些模型、框架或数据集对GUI agent功能的多个方面都有贡献。

picture.image

更多智能体(Agent)相关可以订阅此专题: 智能体(Agent) 专题

6 LLM驱动的GUI Agent框架

LLM的集成开启了构建GUI agent的新可能性,使其能够解释用户请求、分析GUI组件,并在各种环境中自主执行操作。通过为这些模型配备 第5节概述的基本组件和功能 ,研究人员已经创建了针对各种平台和应用的复杂框架。这些框架代表了一个快速发展的研究领域,每个框架都引入了创新技术和专业功能,推动了GUI agent所能达到的边界。

为了全面了解该领域,首先在表6、7、8和9中总结了Web、移动、计算机和跨平台的关键框架,重点介绍了它们的功能、目标平台和显著的创新。这些总结是理解LLM驱动的GUI agent开发广度的切入点。在概述之后,将详细讨论每个框架,研究它们的基本设计原则、技术进步以及它们在GUI自动化领域解决的具体挑战。通过深入研究这些方面,旨在更深入地了解这些agent如何塑造人机交互和任务自动化的未来,以及它们在该变革性领域发展中发挥的关键作用。

6.1 Web GUI Agent

Web GUI agent的进步在自动化各种动态Web环境中的复杂任务方面取得了显著进展。最近的框架引入了创新方法,利用多模态输入、预测建模和特定任务优化来提高性能、适应性和效率。在本小节中将深入研究这些框架,突出它们的独特贡献以及它们如何共同推动基于Web的GUI自动化边界。

picture.image

一个显著的趋势是集成多模态功能,以改善与动态Web内容的交互。例如,SeeAct利用GPT-4V的多模态能力,有效地将操作建立在实时网站上。通过利用视觉数据和HTML结构,SeeAct集成了使用图像注释、HTML属性和文本选择的接地技术,优化了与实时Web内容的交互。这种方法使SeeAct在实时Web任务中实现了51.1%的任务成功率,突显了动态评估在开发稳健Web agent中的重要性。

WebVoyager 凭借多模态输入的优势,通过支持真实网络环境中的端到端任务完成,推动了自主网络导航的发展。它利用 GPT-4V 处理视觉(屏幕截图)和文本(HTML 元素)输入,有效地与动态 Web 界面交互, 包括那些具有动态渲染内容和复杂交互元素的界面。这种多模态能力使得 WebVoyager 能够管理复杂的界面,其成功率显著高于传统的纯文本方法,为基于 Web 的任务自动化设定了新的基准。

除了多模态集成,一些框架专注于解析复杂的 Web 结构并生成可执行代码来导航复杂的网站。WebAgent 采用了一种双层模型方法,结合了用于解析长而复杂的 HTML 文档的 HTML-T5 和用于程序合成的 Flan-U-PaLM。这种模块化设计使 WebAgent 能够将用户指令转换为可执行的 Python 代码,通过特定于任务的子指令自主处理复杂的真实网站。与传统的单Agent模型相比,WebAgent 在真实网站上的成功率提高了 50%,这展示了将 HTML 特定解析与代码生成相结合,应用于多样化和动态 Web 环境的优势。

为了增强网络导航中的决策能力,一些框架引入了状态空间探索和搜索算法。LASER将网络导航建模为状态空间探索,允许灵活的回溯和高效的决策,而无需大量的上下文示例。通过将动作与特定状态相关联,并利用 GPT-4 的函数调用功能进行基于状态的动作选择,LASER 最大限度地减少了错误并提高了任务成功率,尤其是在 WebShop 和亚马逊等电子商务导航任务中。这种基于状态的方法提供了一种可扩展且高效的解决方案,提高了 LLM agent 在 GUI 导航中的效率。

类似地,Search-Agent创新性地引入了最佳优先搜索算法,以增强交互式 Web 环境中的多步推理。 通过探索多个动作路径,这种方法提高了决策能力,在 WebArena等基准测试中成功率提高了高达39%。 Search-Agent 与现有多模态 LLM 的兼容性证明了基于搜索的算法对于复杂、交互式 Web 任务的有效性。

在基于搜索的策略基础上,WebPilot采用了一种结合全局和局部蒙特卡洛树搜索 (MCTS) 的双重优化策略,以提高在复杂和动态环境中的适应性。如图 19 所示,WebPilot 将总体任务分解为可管理的子任务,每个子任务都进行局部优化。这种方法使 WebPilot 能够根据实时观察不断调整其策略,模拟类似人类的决策和灵活性。在 WebArena和MiniWoB++等基准测试上的广泛测试表明,WebPilot 具有最先进的性能,与现有方法相比,展现出卓越的适应性。

picture.image

为了进一步推进预测建模的概念,WMA 引入了一个世界模型来模拟和预测 UI 交互的结果。通过关注基于转换的观察,WMA 允许 agent 在执行操作之前模拟操作结果,从而减少不必要的操作并提高任务效率。这种预测能力在需要高精度的长时程任务中尤其有效,WMA 在 WebArena 和 Mind2Web 等基准测试中表现出强大的性能。

与此类似,WebDreamer 创新性地利用 LLM 进行 Web 导航中的基于模型的规划,如图 20 所示。WebDreamer 在执行之前使用 LLM 模拟和评估潜在的动作及其多步结果,类似于一个“梦想家”设想各种场景。通过预先评估不同计划的潜在价值,WebDreamer 选择并执行预期价值最高的计划。这种方法解决了 Web 自动化中的关键挑战, 例如安全问题以及在复杂和动态环境中进行稳健决策的需求,在 VisualWebArena 和 Mind2Web-live 等基准测试中表现出优于反应式 agent 的性能。

picture.image

除了预测建模之外,将 API 交互集成到 Web 导航中可以提供更高的灵活性和效率。Hybrid Agent结合了 Web 浏览和 API 交互,根据任务需求动态切换方法。通过利用 API 调用进行结构化数据交互,Hybrid Agent 减少了传统 Web 导航所涉及的时间和复杂性,在任务执行中实现了更高的准确性和效率。这种混合架构强调了在 AI agent 系统中集成结构化 API 数据和类似人类的浏览能力的优势。

为了解决复杂Web结构和跨域交互的挑战,AutoWebGLM 提供了一种高效的解决方案,通过简化 HTML 来关注关键网页组件, 从而提高任务准确性。通过使用强化学习和拒绝采样进行微调,AutoWebGLM 在英语和中文网站上的复杂导航任务中表现出色。其双语数据集和结构化的动作感知模块使其适用于跨域 Web 交互,强调了在多样化 Web 任务中高效处理的重要性。

总而言之,最近的 Web GUI agent 框架通过集成多模态输入、 预测模型和高级任务特定优化取得了实质性进展。这些创新为现实世界的任务提供了强大的解决方案,增强了基于 Web 的 GUI agent 的能力,并在开发智能、自适应的 Web 自动化方面迈出了重要一步。

6.2 移动GUI Agent

移动GUI Agent的发展经历了显著的技术进步,通过多模态模型、复杂架构和自适应规划,成功应对了移动环境中的独特挑战。这些Agent从最初的基础交互功能,发展到能够在各种移动应用中执行动态、上下文感知操作的复杂系统。

picture.image

早期的研究重点在于实现类人化的GUI交互,而无需访问后台系统。其中一个开创性的框架是 AppAgent ,它利用了GPT-4V的多模态能力,能够理解并响应视觉和文本信息。通过实时截图和结构化XML数据,AppAgent可以直接与GUI进行交互,例如执行点击和滑动操作,适用于从社交媒体到复杂图像编辑的多种应用。AppAgent通过自主探索和观察人类演示来学习新应用的使用方式,这种独特的学习方法展现了多模态能力在移动Agent中的高效性和适应性。

在此基础上, AppAgent-V2 对框架进行了进一步改进,增强了视觉识别能力,并引入了结构化数据解析。这使其能够进行更精确的上下文感知交互,并在不同应用中执行复杂的多步操作。此外, AppAgent-V2 还引入了安全检查机制以处理敏感数据,并通过实时跟踪和适应交互来支持跨应用任务。该框架的进化突显了高级视觉识别和结构化数据处理在提升任务精度和安全性方面的重要性,尤其是在实时移动环境中。

与此同时,以视觉为核心的方法也逐步兴起,进一步提升了移动任务自动化能力,而无需依赖特定应用的数据。例如, Mobile-Agent 利用OCR、CLIP和 Grounding DINO等视觉感知工具,通过截图和视觉工具进行操作。Mobile-Agent能够按照指令执行从应用导航到复杂多任务的操作,并通过自我反思机制调整错误。这种基于视觉的方法使Mobile-Agent成为了一个灵活且适应性强的移动任务助手。

为了解决长序列导航和复杂多应用场景中的挑战, Mobile-Agent-v2 引入了一种多Agent架构,将规划、决策和反思任务分离。通过三个Agent分工协作,该框架优化了任务进度跟踪,保留了与任务相关的信息,并在错误发生时进行纠正。结合诸如Grounding DINO 和 Qwen-VL-Int4 等先进的视觉感知工具,Mobile-Agent-v2 在Android和Harmony OS上的任务完成率显著提升,展示了多Agent系统在处理复杂移动任务中的潜力。

除了以视觉为核心的方法外,一些框架还尝试将GUI状态转换为自然语言,从而实现基于LLM的动作规划。 VisionTasker 通过处理移动UI截图,将视觉UI解析与顺序化LLM任务规划相结合,生成结构化的自然语言描述。借助YOLO-v8和 PaddleOCR28 进行组件检测,VisionTasker能够在陌生应用中自动化处理复杂任务,其在某些任务上的准确率甚至超过人类操作员。这种两阶段设计展示了一种灵活适应的框架,为移动自动化树立了强有力的标杆。

类似地, DroidBot-GPT 提出了一种创新方法,通过将GUI状态转换为自然语言提示,使LLM能够自主决策动作序列。通过解析GUI结构并将其转化为GPT模型可理解的语言,DroidBot-GPT无需对应用进行特定调整,即可在多种应用间实现通用性。这种适应能力凸显了LLM在处理复杂多步任务时的变革性作用,同时减少了对定制化数据的依赖。

为了提升动作预测和上下文感知能力,一些先进框架将感知与动作系统集成到多模态LLM中。例如, CoCo-Agent 通过其综合事件感知模块和综合动作规划模块,处理GUI元素(如图标和布局)。通过将操作分解为可管理的步骤,并利用如Android in the Wild (AITW) 和 META-GUI 等基准数据中的高质量数据,CoCo-Agent 展现了在各种智能手机应用中可靠自动化移动任务的能力。

进一步推进这种集成, CoAT 引入了“链式动作思考”过程,以增强动作预测和上下文感知能力。CoAT利用先进模型(如GPT-4V)和标签化标记技术解决了传统基于坐标的动作识别限制。通过构建Android-In-The-Zoo (AITZ) 数据集,CoAT提供了深度的上下文感知能力,显著提高了动作预测的准确性和任务完成率。这种方法在提升Android平台的可访问性和用户便利性方面展现了巨大潜力。

为了解决多步任务处理中的高计算成本问题, AutoDroid 结合了基于LLM的理解能力与应用特定知识。通过采用HTML风格的GUI表示和基于记忆的架构,AutoDroid减少了对大量LLM查询的依赖。其混合架构结合了云端模型和本地模型,从而提升了响应速度和可访问性,使AutoDroid成为处理各种移动任务的实用解决方案。

MobileGPT 则通过模拟人类的任务分解认知过程(探索、选择、推导和回忆)来自动化Android设备上的任务。这种方法极大地提高了任务执行的效率和准确性。MobileGPT的分层记忆结构支持模块化、可重用和可适应的任务及子任务,适用于多种上下文。在任务成功率、成本效率和适应性方面,MobileGPT表现优于现有最先进系统,展现了其推进移动任务自动化的潜力。

小结一下,移动GUI Agent取得了显著的发展,从单一Agent系统演进为能够进行动态、上下文感知操作的复杂多Agent框架。这些创新展示了复杂架构、多模态处理以及高级规划策略在应对移动环境多样化挑战中的重要性,同时标志着移动自动化能力的巨大进步。

6.3 计算机 GUI Agent

计算机 GUI Agent 已发展出在不同操作系统中提供复杂自动化功能的能力,能够解决跨应用交互、任务泛化以及高级任务规划等挑战。

picture.image

近年来,计算机 GUI Agent 的进步催生了能够在桌面环境中处理复杂任务的高级框架。这些 Agent 从简单的自动化工具演变为智能系统,利用多模态输入、先进架构和自适应学习技术,以高效且灵活的方式完成多应用任务。

在这一领域的一个重要进展是多 Agent 架构的引入,这种架构提升了任务管理和执行的能力。例如,专为 Windows 操作系统设计的 UI-Focused Agent (UFO) 就是一个开创性的框架。UFO 通过其先进的双 Agent 架构重新定义了以 UI 为中心的自动化,它利用 GPT-Vision 解释 GUI 元素,并能够在多个应用之间自主执行操作。该框架包含两个核心组件: HostAgentAppAgent 。HostAgent 负责全局规划、任务分解以及应用选择,而 AppAgent 则负责在单一应用内执行分配的子任务,如图 21 所示。这种集中式结构使 UFO 能够管理复杂的多应用工作流,例如信息聚合和报告生成。类似的架构也被其他 GUI Agent 框架采用。通过整合安全机制和可定制的操作,UFO 在处理复杂指令时保证了效率和安全性,成为 Windows 操作系统上一款前沿的助手。其架构展现了动态适应性和强大的任务解决能力,在多种应用场景中体现了多 Agent 系统在桌面自动化中的潜力。

picture.image

在适应性和通用能力的主题基础上, Cradle 将通用计算机控制的边界进一步拓展。Cradle 利用 VLM(视觉语言模型)与各种软件交互,从游戏到专业应用,无需依赖 API 接口即可完成任务。Cradle 使用 GPT-4o 解释屏幕输入并执行底层操作,使其在不同类型的软件环境中表现出极大的灵活性。其六模块结构涵盖信息收集、自我反思等功能,使 Agent 能够执行任务、推理行动,并通过过去的交互经验指导未来决策。Cradle 能够在动态环境(包括复杂软件)中运行,标志着通用型 Agent 的重要进步,其广泛适用性在桌面环境中具有重大意义。

为了将计算机 GUI Agent 的能力扩展到多个操作系统, OS-Copilot 提出了一个通用框架,可在 Linux 和 macOS 系统中运行。其突出功能 FRIDAY 展示了自我驱动学习的潜力, 能够适应多种应用并在无需针对每个应用进行专门训练的情况下完成任务。与特定应用的 Agent 不同,FRIDAY 集成了 API、键盘鼠标控制和命令行操作,构建了一个灵活的平台,可以在与新应用交互时自主生成和优化工具。OS-Copilot 在 GAIA 基准测试中的表现验证了其在未见过的应用中进行任务泛化的能力,为能在复杂环境中不断演进的操作系统级 Agent 提供了基础模型。这为创建能够处理多样化桌面环境和复杂任务需求的自适应数字助手指明了方向。

总之,计算机 GUI Agent 已实现了显著的发展,从单任务自动化工具成长为能够执行复杂多应用任务并从交互中学习的高级多 Agent 系统。像 UFO、Cradle 和 OS-Copilot 这样的框架展现了适应性和通用型 Agent 在桌面自动化中的潜力,为更智能、更多功能的 AgentOS 框架的演进铺平了道路。

6.4 跨平台 GUI Agent

跨平台 GUI agent 已经成为能够适应多种环境的多功能解决方案,从桌面和移动平台到更复杂的系统,这些框架注重适应性和高效性,通过轻量级模型和multi-agent 架构的结合,提升跨平台操作能力。本小节探讨了一些体现跨平台 GUI 自动化最新进展的关键框架。

picture.image

在该领域,一个重要的进步是 AutoGLM ,它通过集成大型多模态模型,实现了跨平台的无缝 GUI 交互,在网页浏览和 Android 控制之间架起桥梁。AutoGLM 引入了一种“中间接口设计”(Intermediate Interface Design),将规划(planning)与落地(grounding)任务分离,从而提升动态决策能力与适应性。通过强化学习的在线自我进化式课程设计,AutoGLM 能够从真实世界的反馈中逐步学习,并具备错误恢复能力。这种适应性和鲁棒性使得 AutoGLM 成为多样化用户应用中理想的解决方案,为跨平台自动化设立了新标准,同时也为基础型 agent 的未来研究指明了方向。

部分框架专注于集成先进模型以实现跨平台交互,而另一些则强调效率和可访问性。例如, TinyClick 针对单轮次 GUI 交互需求,提供了一种轻量化解决方案。它基于 Florence-2-Base 视觉-语言模型,通过用户指令和屏幕截图完成任务,仅需 0.27 亿参数。尽管模型规模较小,但 TinyClick 依然取得了出色的准确率——在 Screenspot 数据集上达到了 73%,在 OmniAct 数据集上达到了 58.3%,甚至超越了更大的多模态模型(如 GPT-4V),同时保持了高效率。其多任务训练和基于多模态大模型(MLLM)的数据增强技术,能够精确定位 UI 元素,适用于低资源环境,并有效解决 UI 定位和动作执行中的延迟及资源限制问题。

除了轻量化模型,multi-agent 架构在提升跨平台 GUI 交互方面也发挥了关键作用。 OSCAR 是这一领域的典范,它引入了一种通用型 GUI agent,能够自主导航和控制桌面及移动应用。OSCAR 采用状态机架构,根据实时反馈动态处理错误并调整操作,使其适用于自然语言引导的复杂工作流自动化。通过整合标准化的操作系统控制(如键盘和鼠标输入),OSCAR 能够以通用方式与应用程序交互,从而提升在各种 GUI 环境中的生产力。其开源设计促进了广泛的应用与无缝集成,为跨平台任务自动化和效率提升提供了灵活的工具。

在multi-agent系统的概念上, AgentStore 提供了一个灵活且可扩展的框架,用于集成多种异构 agent,实现跨操作系统的任务自动化。AgentStore的核心特性是 MetaAgent,它通过创新的 AgentToken 策略动态管理不断扩展的专业化 agent 集群。通过支持动态的 agent 注册,AgentStore 具有极高的适应性和可扩展性,能够让专业化和通用化的能力共存。该multi-agent 架构支持桌面和移动平台等多种环境,并利用多模态感知(如 GUI 结构和系统状态)增强交互能力。AgentStore 的贡献表明,将专业化与通用化能力结合起来,是突破以往系统局限性的关键。

进一步推动跨平台 GUI 交互发展的是 MMAC-Copilot ,它采用multi-agent 和多模态方法,无需依赖 API 即可处理 3D 游戏、办公和移动应用中的任务。通过使用 Planner、Viewer 和 Programmer 等专业化 agent,MMAC-Copilot 能够协作应对视觉复杂环境中的挑战。借助 GPT-4V 进行视觉识别,以及 OCR 用于文本分析,MMAC-Copilot 在视觉复杂环境中实现了高任务完成率。其与 VIBench(一个针对非 API 应用的基准测试工具)的集成,进一步凸显了其在真实场景中的适用性和适应能力。MMAC-Copilot 为跨平台动态交互奠定了坚实基础,其应用领域扩展到游戏、医疗和生产力等行业。

AGUVIS 利用纯视觉方法实现了 GUI 自动化,克服了基于文本系统(如 HTML 或辅助功能树)的局限性。 其平台无关的设计支持网页、桌面和移动应用,同时有效降低了推理成本。AGUVIS 采用两阶段训练过程:第一阶段专注于 GUI 定位(grounding),第二阶段将规划(planning)与推理(reasoning)整合到一个统一的模型中。该方法在离线和在线场景下均表现出色,显著简化了决策和执行的过程。

总之,跨平台 GUI agent 体现了未来自动化的多样化发展趋势,从轻量化模型(如 TinyClick)到复杂的multi-agent 系统(如 MMAC-Copilot),各框架均带来了独特的创新。这些进步共同构建了一个丰富多样的 GUI 自动化工具生态系统,显著提升了在不同平台间的交互能力,标志着跨平台 GUI 自动化领域的重大突破。

6.5 关键要点

GUI agent 框架领域取得了显著进展,尤其是在多agent架构、多模态输入和增强的动作集方面。这些发展为更通用、更强大的agent奠定了基础,使其能够处理复杂、动态的环境。近期进展的关键要点包括:

  1. 多Agent协同: 多agent系统,例如UFO 和 MMAC-Copilot 中的系统,代表了GUI agent开发的一个重要趋势。通过在框架内为不同的agent分配专门的角色,多agent系统可以提高任务效率、适应性和整体性能。随着agent在不同平台上承担更复杂的任务,多个agent的协同使用被证明是一种强大的方法,使agent能够以更高的精度和速度处理复杂的流程。
  2. 多模态输入优势: 虽然一些agent仍然只依赖基于文本的输入(例如,DOM结构或HTML),但结合视觉输入(如屏幕截图)已显示出明显的性能优势。像 WebVoyager 和 SeeAct 这样的agent突显了视觉数据与文本输入相结合如何提供更丰富的环境状态表示,帮助agent做出更明智的决策。这种多模态输入的集成对于在视觉复杂或动态环境中进行准确解释至关重要,在这些环境中,仅靠文本可能无法捕捉到所有必要的上下文。
  3. 将动作集扩展到UI操作之外: 最近的agent已将其动作集扩展到标准UI操作之外,包括API调用和AI驱动的动作,如 Hybrid Agent 和 AutoWebGLM 中所示。整合多样化的动作使agent能够实现更高水平的交互和任务完成,特别是在可以通过API调用直接检索或操作数据的环境中。这种灵活性增强了agent的能力,使其在更广泛的应用中更高效、更具适应性。
  4. 改进决策的新兴技术: 诸如 WMA 中的世界模型和 Search-Agent 中的基于搜索的策略等新方法,代表了更高级决策的有希望的方向。世界模型允许agent模拟动作结果,减少不必要的交互并提高效率,尤其是在长时程任务中。类似地,像最佳优先和MCTS这样的基于搜索的算法可以帮助agent更有效地探索动作路径,增强其在复杂、实时环境中的适应性。
  5. 迈向跨平台泛化: 诸如 AutoGLM 和 OSCAR 等跨平台框架,突显了GUI agent设计中泛化性的价值。这些agent正在率先努力创建可以在移动、桌面和Web平台上无缝工作的解决方案,从而更接近于实现可以在多个生态系统中运行的一站式GUI agent的目标。跨平台灵活性对于旨在帮助用户在其数字交互中保持一致的agent至关重要。
  6. 纯视觉Agent: 为了实现通用的GUI控制,纯视觉框架已成为一种突出的解决方案。这些agent仅依赖屏幕截图进行决策,无需访问诸如小部件树或元素属性之类的元数据。像 AGUVIS 这样的杰出工作就体现了这种方法。虽然纯视觉方法提供了更大的泛化性并绕过了系统API限制,但它们需要强大的“基础”能力来精确定位UI元素并与之交互——许多基础模型通常缺乏这种能力。专门针对视觉基础和GUI理解微调模型,或整合像 OmniParser 这样的GUI解析技术,可以解决这一挑战,并增强agent执行精确交互的能力。

GUI agent 领域正朝着多agent架构、多模态能力、多样化的动作集和新颖的决策策略发展。这些创新标志着在创建智能、适应性强的agent方面迈出了重要一步,这些agent能够在各种动态环境中实现高性能。GUI agent 的未来在于不断完善这些趋势,推动agent在更广泛的适用性和跨平台更复杂、更像人类的交互方面发展。

更多智能体(Agent)相关可以订阅此专题: 智能体(Agent) 专题

7 用于优化GUI Agent的数据

在上一章节中,探讨了 基于LLM的GUI agent的通用框架 ,其中大多数框架依赖于诸如 GPT-4V 和 GPT-4o 之类的基础LLM。然而,为了提高这些agent的性能和效率,优化它们的“大脑”,即底层模型至关重要。实现这一目标通常需要使用大规模、多样化和高质量的上下文GUI数据集来微调基础模型,这些数据集经过专门策划,使这些模型能够在GUI特定任务中表现出色。收集此类数据集,特别是那些富含GUI屏幕截图、元数据和交互的数据集,需要一个精心设计的数据获取、过滤和预处理过程,每个过程都需要大量的精力和资源。

随着GUI agent的持续发展,研究人员专注于整合能够代表广泛各类平台并捕捉GUI环境多样、复杂的数据集。这些数据集对于训练能够有效泛化的模型至关重要,这归功于它们对各种界面、工作流程和用户交互的覆盖。为了确保全面性,诸多学者已经采用了各种创新的方法来收集和构建这些数据资产。在接下来的章节中,将详细介绍一个 为训练GUI特定LLM量身定制的端到端数据收集和处理流程 。还将检查来自各个平台的重要数据集,深入了解它们的独特功能、创建方法以及它们在推进基于LLM的GUI agent领域方面的潜在应用。 为了提供结构化的概述,表10、11和12总结了不同平台上的这些数据集,突出了它们的主要属性和对GUI agent研究发展所做的贡献。

picture.image

picture.image

picture.image

7.1 数据收集

数据对于训练定制化的 GUI agent 至关重要,但由于任务的复杂性和所涉及环境的多样性,收集数据需要大量的时间和精力。

7.1.1 数据构成与来源

GUI agent 训练所需的基本数据组成与 第 5.2.2 节5.4 节中 讨论的 agent 的感知和推理需求密切相关。从宏观层面来看,这些数据包括:

  1. 用户指令 :这些指令提供了任务的总体目标、目的和具体细节,通常以自然语言形式呈现,为 agent 提供了一个明确的待完成目标,例如,“将所有文本的字体大小更改为 12”。
  2. 环境感知 :这通常包括 GUI 截图,通常带有各种视觉增强,以及可选的补充数据,如部件树和 UI 元素属性,以丰富上下文。
  3. 任务轨迹 :这包含完成任务所需的关键动作序列,以及诸如 agent 计划之类的补充信息。一个轨迹通常涉及多个步骤和动作来完成任务。

用户指令和环境感知作为模型的输入,而模型的预期输出是任务轨迹。任务轨迹中的动作序列随后在环境中执行以完成任务。

对于用户指令,确保其真实并反映实际用户场景至关重要。指令可以通过多种方式获取:

  • 直接来自人类设计者,他们可以根据实际应用提供见解;
  • 如果存在合适的数据,则从现有的相关数据集中提取;
  • 从公共材料中获取,例如网站、应用程序帮助文档和其他公开可用的资源;
  • 由 LLM 生成,它可以模拟不同上下文中各种各样的用户请求。此外,LLM 可用于数据增强,从而提高从原始数据中获得的指令的质量和多样性。

为了收集环境感知数据,可以使用各种工具包(例如 第 5.2.2 节中讨论的工具包 )来捕获所需的 GUI 数据。这可以在环境模拟器(例如,Android Studio Emulator29、Selenium WebDriver30、Windows Sandbox31)中完成, 也可以通过直接与真实环境交互来捕获 GUI 元素的状态,包括屏幕截图、部件树以及对 agent 操作至关重要的其他元数据。

收集任务轨迹(代表 agent 完成任务的动作序列)通常是最具挑战性的方面。任务轨迹需要准确、可执行且经过充分验证。收集方法包括:

  1. 使用以编程方式生成的脚本,这些脚本定义了预定义任务的动作序列,提供了一个高度受控的数据源;
  2. 聘请人工标注员,他们以众包方式完成任务,并记录每个步骤,从而获得丰富、真实的动作数据;
  3. 利用模型或 agent 自举(bootstrapping),其中现有的 LLM 或 GUI agent 尝试完成任务并记录其动作, 尽管此方法可能由于潜在的不准确性而需要额外的验证。

所有这些方法都需要大量的努力,反映了为训练 GUI agent 收集可靠、任务准确的数据的复杂性。

7.1.2 收集流程

图 22 展示了一个完整的数据收集流程,旨在训练 GUI agent 模型。该过程首先收集初始用户指令,这些指令可能来自上述各种来源。这些指令通常是原型,尚未针对特定环境进行定制或关联。例如,来自一般网站的“如何更改字体大小?”之类的指令缺乏具体性,并且与用户在特定应用程序中可能提出的具体请求不一致。为了解决这个问题,需要一个实例化步骤,其中指令在特定环境中进行上下文关联,使其更具可操作性。例如,指令可能会被细化为“将 draft.docx 的 Word 文档中第三段的字体大小更改为 20”,从而赋予其明确的、特定于环境的目标。此实例化过程可以由人工手动执行,也可以使用 LLM 以编程方式执行。

picture.image

实例化之后,指令可能会经历一个过滤步骤,以删除低质量的数据,确保只保留相关且可操作的指令。此外,可以应用数据增强技术来扩展和多样化数据集,从而提高鲁棒性。这两个过程都可以涉及人工验证或利用 LLM 来提高效率。

一旦指令细化完成,任务轨迹和环境感知就会同时收集。当在环境中执行操作时,每个步骤都会被记录下来,从而提供环境状态和所采取的具体操作的记录。在记录完整的任务轨迹后,需要进行评估阶段,以识别并删除任何失败或不准确的序列,从而保持数据集的质量。通过迭代此流程,可以编译高质量的 GUI agent 数据集,这对于训练优化的模型至关重要。

在接下来的章节中,将回顾跨各种平台的现有 GUI agent 数据集,从而深入了解当前的实践和潜在的改进领域。

7.2 Web Agent 数据

基于Web的GUI agent 需要能够捕捉真实世界网络交互复杂性和多样性的数据集。这些数据集通常包含各种网站结构,包括DOM树和HTML内容,以及反映真实用户导航和交互模式的多步骤任务标注。开发能够跨不同网站泛化并执行复杂任务的agent,需要提供丰富上下文信息的综合数据集。

基于此需求,已经开发了几个重要的数据集来推进基于Web的GUI agent 的发展。与专注于狭窄、预定义任务的传统数据集不同,Mind2Web 通过强调开放式的任务描述,推动 agent 独立解释高层次目标,代表着一个重大的进步。它提供了跨越137个不同网站的2350多个人工标注的任务,捕捉了Web导航中典型的复杂交互模式和序列。这种设置有助于评估 agent 在未见领域中的泛化能力, 并作为基于Web的GUI中语言基础的基准,增强了对实际应用的适应性。

类似地,WebVLN 通过将导航与问答相结合,扩展了Web GUI任务。它为 agent 提供基于文本的查询, 引导它们定位相关的网页并提取信息。通过利用网站的HTML和视觉内容,WebVLN与Web浏览的实际挑战相一致。对于旨在开发能够在GUI驱动的Web空间中进行复杂、类人交互的 agent 的研究人员来说,此数据集尤其有价值。

此外,WebLINX 专注于会话式GUI agent,特别强调通过多轮对话进行真实世界的Web导航。WebLINX 提供了跨越155个真实世界网站的2300多个专家演示,创建了一个具有DOM树和屏幕截图的丰富环境,用于训练和评估能够执行动态、用户引导的导航任务的 agent。此数据集促进了 agent 在新网站和任务上的泛化,其中全面的动作和对话数据提供了关于增强 agent 在真实Web场景中响应能力的见解。

总而言之,这些数据集代表了重要的资源,能够促进Web agent 能力的进步,支持为各种Web应用开发适应性强且智能的 agent。

7.3 Mobile Agent 数据

由于移动平台涉及各种应用程序和独特的用户交互,因此对于GUI agent 而言至关重要。为了开发能够有效地导航和与移动界面交互的 agent,数据集必须提供单步和多步任务的组合,重点关注自然语言指令、UI布局和用户交互。

该领域早期且基础性的贡献是Rico数据集,它提供了来自9700多个Android应用程序的72000多个独特的UI屏幕和10811个用户交互轨迹。Rico在UI布局相似性、交互建模和感知建模等任务中发挥了重要作用,为移动界面理解和GUI agent 开发奠定了基础。

基于将自然语言指令与移动UI动作进行关联的需求,PIXELHELP引入了一个专门为此目的设计的数据集。它包括多步骤指令、屏幕截图和结构化的UI元素数据,可以详细分析如何将口头指令转换为移动动作。此数据集在可访问性和任务自动化方面具有重要的应用,支持基于口头提示自主执行任务的 agent。

进一步扩展范围,Android in the Wild (AITW)数据集提供了最广泛的自然设备交互集合之一。AITW 涵盖了广泛的Android应用程序和不同的UI状态,捕捉了模拟真实设备使用的多步骤任务。它通过与Android模拟器的交互收集,包括屏幕截图和动作序列,使其成为开发无需依赖特定应用程序API即可导航应用程序界面的GUI agent 的理想选择。由于其规模和多样性,AITW已成为该领域广泛使用的标准。

此外,META-GUI 通过支持与移动GUI的直接交互,绕过对基于API的控制的需求,为移动面向任务的对话系统提供了一个独特的数据集。这种方法允许 agent 使用多轮对话和GUI轨迹跨各种移动应用程序进行交互,从而扩展了它们在没有自定义API依赖的实际应用中的能力。该数据集对复杂交互和多轮对话场景的支持使其对于构建强大的会话式 agent 非常有价值。

最近,MobileViews 作为迄今为止最大的移动屏幕数据集出现,提供了来自20000个Android应用程序的600000多个屏幕截图-视图层次结构对。它使用LLM增强的应用程序遍历工具收集,为移动GUI agent 在屏幕摘要、可点击性预测和UI组件识别等任务中提供了高保真资源。其规模和对屏幕状态的全面覆盖使MobileViews成为推进移动GUI agent 能力的关键资源。

总而言之,由于其通用的工具、模拟器支持和多样化的用例,移动平台目前拥有最丰富的数据集,反映了移动应用中对高质量、适应性强的GUI agent 的需求。

7.4 计算机 Agent 数据

与移动和 Web 平台相比,尽管桌面 GUI agent 对于生产力工具和企业软件等应用至关重要,但其专用数据集相对较少。然而,在支持为复杂、多步骤桌面任务设计的 agent 的开发和评估方面,已经取得了显著的进展。

ScreenAgent 是该领域的一项重要贡献,它是一个专门的数据集和模型,旨在促进 Linux 和 Windows 桌面环境中的 GUI 控制。ScreenAgent 提供了一个全面的流程,使 agent 能够自主执行多步骤任务, 包括规划、行动和反思阶段。通过利用带注释的屏幕截图和详细的动作序列,它实现了 UI 元素定位和任务完成的高精度,在准确性方面超越了之前的模型。对于那些旨在提升桌面领域 GUI agent 能力的研究人员来说,这个数据集非常宝贵,可以增强 agent 的决策准确性和用户界面交互能力。

LAM 数据集专门用于训练和评估 GUI 环境中的大型动作模型 (LAMs), 它弥合了自然语言任务理解和动作执行之间的鸿沟。它包含两个核心组成部分:任务-计划数据,详细描述了带有逐步计划的用户任务;以及任务-动作数据,将这些计划转化为可执行的 GUI 动作。该数据集来源于应用程序文档、WikiHow 文章和 Bing 搜索查询,并使用 GPT-4 进行了丰富和结构化。该数据集针对 Windows 操作系统,专注于自动化 Microsoft Word 中的任务,包括 76672 个任务-计划对和 2688 个任务-动作轨迹,使其成为基于 GUI 的动作学习的最大集合之一。 数据质量通过一个强大的验证流程来保证,该流程结合了基于 LLM 的实例化、GUI 交互测试和人工审查。每个条目都附有 GUI 屏幕截图和元数据,使模型能够学习高层次的任务规划和低层次的执行。该数据集的模块化设计支持针对特定 GUI 任务进行微调,并为在其他环境中构建数据集提供了一个可复制的框架,标志着在推进基于 GUI 的自动化方面做出了重大贡献。

尽管与移动和 Web 平台相比,桌面领域的数据集较少,但像 ScreenAgent 和 LAMs 这样的努力突显了人们对开发用于计算机系统的复杂 GUI agent 的日益增长的兴趣和潜力。

7.5 跨平台 Agent 数据

跨平台数据集在开发能够跨移动、计算机和 Web 环境无缝运行的多功能 GUI agent 方面起着关键作用。这些数据集支持泛化和适应性,使 agent 能够处理现实应用中各种不同的界面和任务。

ScreenAI 是一项重要的贡献,它将数据收集范围扩展到包括移动和桌面界面。ScreenAI 涵盖了屏幕注释、问答和导航等任务,提供了数亿个带注释的样本。其全面的规模和混合平台覆盖使其成为需要管理跨各种界面的复杂布局和交互的 GUI agent 的强大基础。通过强调元素识别和屏幕摘要,ScreenAI 推进了能够处理各种视觉结构的多平台 GUI agent 的开发。

VisualAgentBench 建立在跨环境评估视觉基础模型的需求之上,是一个开创性的跨平台基准,旨在评估移动和 Web 环境中的 GUI agent。它强调以交互为中心的任务,使用 Android 虚拟设备和 WebArena-Lite 等环境来评估和改进 agent 对 GUI 布局和用户界面动作的响应。该数据集的创新收集方法,结合了基于程序的求解器和大型多模态模型引导,促进了强大的训练轨迹,增强了 GUI agent 任务中的适应性和错误恢复能力。

此外,GUI-World 跨越了包括桌面、移动和 XR 环境在内的多个平台,拥有超过 12000 个带注释的视频。GUI-World 旨在解决动态和顺序 GUI 任务的挑战,允许研究人员在各种界面上对 GUI agent 的能力进行基准测试。通过提供详细的动作序列和问答对,它为在复杂的现实场景中评估 agent 设定了高标准。

此外,xLAM 通过 提供统一的数据集格式 来支持多轮交互、推理和函数调用任务,为可操作的 agent 开发做出了重大贡献。xLAM 源自 WebShop 、ToolBench 和 AgentBoard 等数据集,标准化了跨各种环境的数据格式,解决了阻碍 agent 训练和跨环境兼容性的数据结构不一致的常见问题。通过提供一致的结构,xLAM 增强了 GUI agent 的适应性和错误检测能力,从而可以在不同的应用程序中实现更无缝的集成和性能。

总而言之,这些跨平台数据集有助于构建多平台 GUI agent,为能够在不同界面之间无缝导航和执行任务的 agent 铺平了道路,从而促进了更加通用和适应性强的系统。

7.6 总结

为基于大型语言模型 (LLM) 的图形用户界面 (GUI) agent 进行数据收集和整理是一项密集的过程,通常需要大量的人工参与,尤其是在生成准确的动作序列和注释方面。早期的数据集在规模和任务多样性方面都有限,但最近的进展促成了大规模、多平台数据集的出现,这些数据集支持更复杂和真实的 GUI 交互。这些发展中的关键见解包括:

  1. 规模和多样性 :高质量、大规模的数据对于训练能够处理各种 UI 状态和任务的强大 GUI agent 至关重要。诸如 MobileViews 和 ScreenAI 等数据集说明了庞大且多样化的数据对于适应移动和桌面应用程序动态特性的重要性,从而增强了 agent 在不同环境中的适应能力。
  2. 跨平台灵活性 :诸如 VisualAgentBench 和 GUI-World 等跨平台数据集强调了泛化性的价值,使 agent 能够在移动、Web 和桌面环境中保持一致的性能。这种跨平台适应性是创建一站式解决方案的关键一步,其中单个 GUI agent 可以在多个平台上无缝运行。
  3. 自动化数据收集 :以 OmniParser 和 MobileViews 为例的 AI 驱动的数据收集工具, 展示了显著减少人工工作量并加速可扩展数据集创建的潜力。通过自动化注释过程,这些工具为更高效的数据管道铺平了道路,朝着 AI 通过加速复杂 GUI 交互的数据收集和标记来支持 AI 的未来迈进。
  4. 统一的数据格式和协议 :xLAM 的统一数据格式是一项重要的创新,它提高了跨不同平台的兼容性,解决了跨平台 GUI agent 开发中的一个重大瓶颈。考虑到不同平台之间的数据格式、动作空间和环境表示形式各不相同,为数据收集建立标准化协议或动作空间对于促进 agent 的泛化和一致性至关重要。

总而言之,用于基于 LLM 的 GUI agent 的数据集的演变涵盖了多个平台,每个数据集都解决了特定于其环境的独特挑战和需求。这些基础资源是使 agent 能够理解复杂的 UI、执行细致的交互并提高在各种应用程序中的泛化能力的关键。推动跨平台适应性、自动化数据收集和标准化数据格式将继续塑造 GUI agent 的未来。

更多智能体(Agent)相关可以订阅此专题: 智能体(Agent) 专题

8 优化基于 LLM 的 GUI Agent模型

LLM 充当 GUI agent 的“大脑”,使它们能够解释用户意图、理解 GUI 屏幕并执行直接影响其环境的动作。虽然一些现有的基础模型足够强大,可以作为这个核心大脑,但可以进一步微调和优化,以升级为大型动作模型(LAM)——专门为提高 GUI agent 的性能和效率而定制的模型。这些 LAM 弥合了通用能力与基于 GUI交互的特定需求之间的差距。

在本节中,首先介绍目前构成 GUI agent 主干的基础模型,重点介绍它们的优势和局限性。然后,深入探讨 LAM 的概念,讨论如何使用特定于 GUI 的数据集对这些模型进行微调,以增强它们在 GUI 环境中的适应性、准确性和面向动作的能力。通过这种探索,阐述了从通用 LLM 到专门构建的 LAM 的演变过程,为先进的智能 GUI agent 奠定了基础。

8.1 基础模型

基础模型是基于 LLM 的 GUI agent 的核心,为理解和与图形用户界面交互提供基本能力。最近在闭源和开源多模态大型语言模型 (MLLM) 方面的进展显著增强了 GUI agent 的潜力,改进了效率、可扩展性和多模态推理等方面。本小节探讨了这些基础模型,重点介绍它们的创新、贡献以及对 GUI agent 应用的适用性。为了快速参考,表13 概述了关键模型及其特性。

picture.image

8.1.1 闭源模型

虽然专有的闭源模型不公开而无法定制,但它们提供了强大的功能,可以直接用作 GUI agent 的“大脑”。

其中,GPT-4V 和 GPT-4o 由于其强大的能力,在现有的 GUI agent 框架中使用最为广泛,如 第 6 节所述 。GPT-4V 代表了多模态 AI 的重大进步,它结合了文本和图像分析,扩展了传统 LLM 的功能。它基于文本和视觉输入理解和生成响应的能力使其非常适合需要深度多模态推理的 GUI agent 任务。尽管由于安全和伦理方面的考虑,其部署受到限制,但需要强调的是 GPT-4V 作为基础模型通过增强效率和灵活性彻底改变 GUI agent 开发的潜力。

同样,GPT-4o 提供了一个统一的多模态自回归架构,能够处理文本、音频、图像和视频。该模型擅长高效生成多样化的输出,与之前的模型相比,以更低的成本实现了更快的响应。其严格的安全和对齐实践使其对于敏感任务依然可靠,使其成为需要全面多模态理解的智能 GUI agent 的强大工具。

Gemini 模型系列 通过提供针对高复杂度任务、可扩展性能和设备端效率量身定制的版本,推进了多模态 AI 建模。值得注意的是,Nano 模型尽管体积小巧,但在推理和编码任务中表现出显著的能力,使其适用于资源受限的设备。Gemini 的多功能性和效率使其成为为需要性能和适应性的 GUI agent 提供动力的一个引人注目的选择。

此外,需要强调一下工业界对 GUI 自动化的投入,如Claude 3.5 Sonnet (Computer Use,计算机使用) 开创性地利用仅视觉范例进行桌面任务自动化。它利用实时屏幕截图来观察 GUI 状态并生成动作,无需元数据或底层 GUI 结构。 该模型通过解释屏幕、移动光标、单击按钮和键入文本来有效地自动化 GUI 任务。其独特的架构将基于 ReAct 的推理范例与选择性观察相结合,通过仅在必要时观察环境来减少计算开销。此外,Claude 3.5 维护 GUI 屏幕截图的历史记录,增强了任务适应性,并实现了与软件环境的类人动态交互。尽管在处理动态界面和错误恢复方面存在挑战,但该模型代表了创建通用 GUI agent 的重要一步。它的开发突显了业界对该领域的大量投入,表明人们越来越关注利用 LLM 进行高级 GUI 自动化。

8.1.2 开源模型

开源模型为定制和优化提供了灵活性,使开发者能够利用上下文数据调整GUI agent,并将其部署在资源有限的设备上。

Qwen-VL 系列以其精细的视觉理解和多模态能力而著称。它采用基于 Vision Transformer 的视觉编码器和 Qwen-7B 语言模型,在视觉-语言基准测试中取得了最先进的成果,同时支持多语言交互。其高效性和开源特性,以及为提高资源效率而提供的量化版本,使其非常适合开发需要精确视觉理解的GUI agent。

在此基础上, Qwen2-VL 引入了诸如朴素动态分辨率和多模态旋转位置嵌入等创新技术,能够高效处理包括长视频在内的各种模态。Qwen2-VL 的可扩展版本平衡了计算效率和性能,使其能够适应设备端应用和GUI环境中复杂的的多模态任务。

InternVL-2 将 Vision Transformer 与大型语言模型相结合, 以处理文本、图像、视频和医疗数据输入。其渐进式对齐策略和各种尺寸版本的可用性使其在部署方面具有灵活性。通过在复杂的多模态任务中取得最先进的性能,InternVL-2 展示了强大的能力,这对于需要全面多模态理解的GUI agent来说非常有价值。

CogVLM 在视觉和语言信息的有效集成方面取得了进展,它在跨模态任务中表现出色,且可训练参数相对较少。它能够在保留大型语言模型全部功能的同时,深度整合视觉和语言特征,使其成为GUI agent开发的基础,尤其是在资源效率至关重要的应用中。

Ferret 增强了空间理解和定位能力,为GUI agent提供了一种量身定制的创新方法。通过在单个框架内统一指代和定位任务,并采用混合区域表示,它提供了与图形界面的精确交互。其针对对象幻觉的鲁棒性和高效的架构使其成为在实时GUI应用中进行设备端部署的理想选择。

LLaVA 模型将视觉编码器与语言解码器集成,促进了模态之间的有效对齐。其轻量级的投影层和模块化设计实现了快速实验和调整,使其适用于需要快速开发周期和强大的多模态推理能力的GUI agent。在此基础上,LLaVA-1.5 引入了一种新型的基于MLP的跨模态连接器,并扩展到高分辨率图像输入,以最少的训练数据实现了令人印象深刻的性能。其数据效率和开源特性为在需要详细视觉推理的GUI应用中的广泛使用铺平了道路。

BLIP-2 通过利用冻结的预训练模型并引入轻量级的查询 Transformer, 采用了一种计算高效的策略。这种设计允许在可训练参数较少的情况下,在视觉-语言任务上实现最先进的性能。BLIP-2 的模块化和高效性使其适用于资源受限的环境,突显了其在设备端GUI agent中的潜力。

最后,Phi-3.5-Vision 在紧凑的模型尺寸内实现了多模态推理方面的竞争性性能。其创新的训练方法以及图像和文本理解的有效集成,使其成为需要多模态推理和设备端推理的GUI agent的有力候选者,而无需大型模型的计算开销。

总而言之,闭源和开源的基础模型都显著提高了由LLM驱动的GUI agent的能力。虽然专有模型提供了强大的开箱即用性能,但开源模型为定制和优化提供了灵活性,从而为各种GUI agent应用提供了量身定制的解决方案。这些模型在多模态推理、效率和可扩展性方面的创新突显了基础模型不断发展的态势,为更智能、更易于访问的GUI agent铺平了道路。

8.2 大型动作模型

虽然通用基础LLM在多模态理解、任务规划和工具利用等能力方面表现出色,但它们通常缺乏GUI导向型任务所需的专门优化。为了解决这个问题,研究人员引入了大型动作模型(LAM),这些模型是使用上下文的、 GUI特定的数据集(如第7节所述) 进行微调的基础LLM,以增强其动作驱动能力。这些模型代表了在改进GUI agent的“大脑”以获得卓越性能方面迈出的重要一步。

在GUI agent领域,LAM提供了几个变革性的优势:

  1. 增强的动作导向性: 通过专注于动作导向型任务,LAM能够准确解释用户意图并生成精确的动作序列。这种微调确保了LAM能够将其输出与GUI操作无缝对齐,从而提供为用户请求量身定制的可操作步骤。
  2. 针对长期复杂任务的专业规划: LAM擅长制定和执行复杂的、多步骤的工作流程。无论任务跨越多个应用程序还是涉及相互依赖的操作,LAM都会利用其在广泛的动作序列数据集上的训练,来创建连贯的长期计划。这使得它们非常适合需要跨各种工具进行复杂规划的以生产力为中心的工作。
  3. 改进的GUI理解和视觉定位: 通过在包含GUI屏幕截图的数据集上进行训练,LAM能够提高其检测、定位和解释UI组件(如按钮、菜单和表单)的能力。通过利用视觉线索而不是仅仅依赖结构化的UI元数据,LAM变得高度适应,可以在各种软件环境中有效地执行操作。
  4. 通过减小模型尺寸提高效率: 许多LAM都建立在较小的基础模型之上——通常约为70亿参数——这些模型针对GUI特定任务进行了优化。这种紧凑的、目标驱动的设计减少了计算开销,即使在资源受限的环境中(如设备端推理)也能实现高效运行。

如图23所示,为GUI agent开发专用LAM的过程始于一个强大的通用基础模型,理想情况下应具有VLM能力。在全面、专业的GUI数据集(包括用户指令、控件树、UI属性、动作序列和带注释的屏幕截图)上对这些模型进行微调,将其转化为优化的LAM,从而有效地使其成为GUI agent的“大脑”。

picture.image

这种优化 弥合了规划和执行之间的差距 。通用LLM可能仅提供文本计划或抽象指令来响应用户查询,这些指令可能缺乏精确性。相比之下,由LAM赋能的GUI agent超越了规划,能够积极且智能地在GUI上执行任务。通过直接与应用程序界面交互,这些agent能够以卓越的精度和适应性执行任务。这种范式转变标志着GUI agent从被动的任务规划者向主动的、智能的执行者的演变。

在接下来的章节中,将对针对不同平台的GUI agent量身定制的LAM进行分析, 总结在表14、15和16中,并在随后的子章节中进行深入讨论。

picture.image

picture.image

picture.image

8.3 面向网页GUI Agent的LAMs

在基于网页的GUI agent领域,研究人员开发了专门的LAMs,以增强在网页环境中的交互和导航。这些模型经过定制,能够理解网页GUI的复杂性,包括动态内容和多样的交互模式。

为了满足多模态理解的需求,WebGUM 通过时序和局部token将HTML理解与视觉感知相结合。它利用Flan-T5 进行指令微调,并使用 ViT 处理视觉输入, 从而能够高效地处理文本和视觉信息。这种多模态基础使得 WebGUM 能够有效地泛化任务,在 MiniWoB++ 和 WebShop 等基准测试中显著优于先前的模型。凭借其数据高效的设计和多步骤推理能力,WebGUM强调了结合多模态输入在增强GUI agent性能方面的重要性。

针对GUI环境中多步骤推理和规划的挑战,研究人员引入了包含高级搜索和学习机制的框架。例如,Agent Q 采用MCTS结合自我批判机制和直接偏好优化(DPO),以提高产品搜索和预订等复杂任务的成功率。通过微调LLaMA-3 70B模型来处理HTML DOM表示并生成结构化的行动计划、思考过程和特定于环境的命令,该框架展示了整合推理、搜索和迭代微调在自主agent开发中的强大作用。

GLAINTEL 利用较小的模型进行高效的网页交互,表明无需大量计算资源即可实现高性能。该模型使用具有7.8亿参数的Flan-T5模型,专注于模拟电子商务平台等动态网页环境。该模型结合了强化学习来优化查询制定和导航等操作,有效地整合了人类演示和无监督学习。GLAINTEL 以远低于基于GPT-4的方法的计算成本实现了可比的结果,突显了强化学习在增强基于网页的GUI agent以进行特定任务优化方面的潜力。

为了实现跨不同网页领域的持续改进和泛化,OpenWebVoyager 将模仿学习与迭代探索-反馈-优化循环相结合。它利用Idefics2-8B 等大型多模态模型执行自主网页导航任务。通过在多样化的数据集上进行训练,并使用GPT-4反馈验证的轨迹进行微调,该agent解决了现实世界的复杂性,而无需依赖合成环境。这种方法通过展示跨不同网页领域和任务进行泛化的能力,显著推进了GUI agent框架的发展。

此外,为了应对稀疏训练数据和策略分布漂移等挑战,WebRL 引入了自我演化的课程和强大的奖励机制,用于训练LLM作为熟练的网页agent。通过根据agent的性能动态生成任务,WebRL微调了Llama-3.1 和GLM-4 等模型,在WebArena环境中的网页任务中取得了显著的成功率。该框架的性能优于专有API和其他开源模型,突显了自适应任务生成和持续学习改进在开发高级GUI agent方面的有效性。

这些在面向网页GUI agent的LAMs方面的进展,说明了整合多模态输入、高效的模型设计和创新的训练框架对于增强agent在复杂网页环境中的能力的重要性。

8.4 面向移动GUI Agent的LAMs

移动平台为GUI agent带来了独特的挑战,包括不同的屏幕尺寸、触摸交互和资源限制。研究人员开发了专门的LAMs来应对这些挑战,从而增强了在移动环境中的交互和导航。

MobileVLM 专注于详细的UI理解,引入了一种专门为移动UI操作任务设计的高级视觉语言模型。它基于Qwen-VL-Chat,结合了针对UI内部和UI之间理解的移动特定预训练任务。通过利用Mobile3M数据集——一个包含300万个UI页面和交互轨迹的综合语料库,这些数据被组织成有向图——该模型在动作预测和导航任务中表现出色。MobileVLM的新颖的两阶段预训练框架显著增强了其对移动UI的适应性,在ScreenQA 和Auto-UI 等基准测试中优于现有的VLM。这项工作突出了定制预训练在提高移动GUI agent性能方面的有效性。

为了解决动态环境中鲁棒交互的需求,DigiRL提出了一个基于强化学习的框架,该框架专为在Android环境中训练GUI agent而定制。

通过利用离线到在线的强化学习,DigiRL 能够适应真实世界的随机性, 使其适用于多样化的多步骤任务。与先前依赖于模仿学习的模型不同,DigiRL 从交互数据中自主学习,不断改进自身以从错误中恢复并适应新的场景。使用具有13亿参数的预训练视觉语言模型能够高效地处理GUI截图和导航命令。其在AITW数据集上的表现表明,它比基线方法有了显著的改进,这使得DigiRL成为开发针对复杂GUI交互进行优化的智能agent的基准。

为了增强GUI理解并减少对文本数据的依赖,VGA 采用了微调的视觉语言模型,该模型优先考虑基于图像的线索,如形状、颜色和位置。VGA 使用 RICO 数据集进行训练,专为Android GUI定制,并采用两阶段微调过程,使响应与视觉数据和人类意图保持一致。该模型擅长理解GUI布局、预测设计意图并促进精确的用户交互。通过在GUI理解基准测试中优于GPT-4V等现有模型,VGA 为移动GUI agent的准确性和效率设定了新标准。

在轻量级和高效模型的背景下,UINav 展示了一个实用的系统, 用于训练神经agent以自动化移动设备上的UI任务。它通过宏操作和错误驱动的演示收集过程,平衡了准确性、泛化性和计算效率。UINav 使用紧凑的编码器-解码器架构和 SmallBERT 进行文本和屏幕元素编码,使其适用于设备上的推理。一个关键的创新之处在于,它能够通过最少的演示在不同的任务和应用程序中进行泛化,从而通过一个通用的框架解决了UI自动化中的关键挑战。

这些模型通过创新的训练方法、高效的模型架构和专门的数据集,共同推动了移动GUI agent领域的发展,从而应对了特定于平台的挑战。

8.5 计算机 GUI Agent 的 LAMs

在桌面和笔记本电脑环境中,GUI agent 必须处理复杂的应用程序、多任务以及各种交互模式。专为计算机 GUI agent 设计的 LAMs 增强了在这些环境中的能力,从而实现更复杂的任务执行。

ScreenAgent 集成了规划、执行和反思阶段,旨在实现与计算机屏幕的自主交互。它基于 CogAgent ,并使用 ScreenAgent 数据集进行微调,该数据集提供了跨各种任务的全面 GUI 交互数据。ScreenAgent 以屏幕截图作为输入,并以 JSON 格式输出鼠标和键盘操作,实现了精确的 UI 元素定位,并能处理连续的多步骤任务。它利用基础模型处理实时 GUI 交互的能力,为 LLM 驱动的 GUI agent 树立了新的基准,使其成为未来研究构建更通用的智能 agent 的理想参考。

Octopus(Octopus: Embodied vision-language programmer from environmental feedback) 将高层规划与现实世界的操作相结合, 代表了具身视觉语言编程的开创性一步。Octopus 利用 MPT-7B 和 CLIP ViT-L/14 ,整合了以自我为中心的视角和鸟瞰视角进行视觉理解,并生成可执行的操作代码。它使用 OctoVerse 套件进行训练,其数据集涵盖了像 OmniGibson、Minecraft 和 GTA-V 这样具有丰富注释的环境,涵盖了常规任务和需要推理的任务。值得注意的是,Octopus 通过环境反馈的强化学习进行创新,确保了自适应的规划和执行。其依赖视觉的功能在未见场景中提供了无缝的任务泛化,突显了其作为在复杂 GUI 环境中运行的具身 agent 的统一模型的能力。

Wang 等人(Large action models:From inception to implementation)对 LAMs 进行了全面的概述,这是一种旨在在 GUI 环境中执行实际操作的新型 AI 范式,并以 Windows 操作系统上的 UFO 作为案例研究平台。LAMs 基于 Mistral-7B 基础模型构建,通过将任务规划与可操作的输出相结合,超越了传统的 LLM。LAMs 利用来自 UI 自动化 (UIA) API 等工具的结构化输入,生成用于动态规划和自适应响应的可执行步骤。多阶段训练策略——包括任务计划预训练、模仿学习、自我增强探索和强化学习——确保了其稳健性和准确性。在真实 GUI 任务上的评估突显了 LAMs 相较于标准模型具有更高的任务成功率。这项创新为能够将用户请求转化为实际操作的智能 GUI agent 奠定了基础,推动了生产力和自动化方面的重大进展。

计算机 GUI agent 的这些发展突显了高级视觉理解、规划和动作执行的集成,为更复杂和功能强大的桌面 agent 铺平了道路。

8.6 跨平台大型动作模型

为了实现跨各种平台的通用性,开发了跨平台 LAMs,使 GUI agent 能够在移动设备、桌面和 Web 界面等多种环境中无缝运行。

CogAgent 是一款先进的视觉语言模型,专门用于理解和导航 PC、Web 和 Android 平台上的 GUI。它基于 CogVLM 构建,并集成了一个新的高分辨率跨模块,以高效处理 GUI 屏幕截图,从而能够详细理解 GUI 元素及其空间关系。CogAgent 在需要 OCR 和 GUI 接地的任务中表现出色,并在 Mind2Web 和 AITW 等基准测试中取得了最先进的性能。它生成准确的行动规划并与 GUI 交互的能力,使其成为开发针对 GUI 环境优化的智能 agent 的关键一步。CogAgent 进一步发展成为其 beta 版本 GLM-PC,提供了增强的控制能力。

苹果公司的 Ferret-UI 2( Ferret-UI 2解读:简介版Ferret-UI 2解读:详解版 ) 专注于通用 GUI 理解,是一款最先进的多模态大型语言模型,旨在掌握包括 iPhone、Android 设备、iPad、Web 和 AppleTV 在内的各种平台上的 UI 理解。通过采用动态高分辨率图像编码、自适应网格划分以及通过 GPT-4 生成的高质量多模态训练数据,它在 UI 指代、接地和交互任务中优于其前身和其他竞争模型。Ferret-UI 2 的高级数据集和创新训练技术确保了在空间理解和以用户为中心的交互方面的高精度,为跨平台 UI 适应性和性能树立了新的基准。

ShowUI 推进了 GUI 自动化,引入了一种开创性的视觉-语言-动作模型,该模型将高分辨率视觉输入与文本理解相结合,以执行接地、导航和任务规划。 ShowUI 针对 Web、桌面和移动环境进行了优化,利用 Phi-3.5-vision-instruct 主干和全面的数据集,在 ScreenSpot 和 GUI-Odyssey 等基准测试中取得了稳健的结果。它处理多帧和动态视觉输入以及 JSON 结构化输出操作的能力突显了其多功能性。凭借交错的图像-文本处理和函数调用功能的创新, ShowUI 为 LLM 驱动的 GUI agent 设定了新标准。

为了满足统一动作空间的需求,OS-ATLAS 引入了一种基础动作模型,专门为 Windows、macOS、Linux、Android 和 Web 等平台上的 GUI agent 设计。通过利用大规模多平台数据集并实施统一的动作空间,OS-ATLAS 在 GUI 接地和分布外泛化任务中取得了最先进的性能。其可扩展的配置可适应不同的计算需求,同时保持在处理自然语言指令和 GUI 元素方面的多功能性。作为商业解决方案的强大开源替代方案,OS-ATLAS 标志着在普及高级 GUI agent 方面迈出了重要一步。

这些跨平台 LAMs 展示了统一模型适应不同环境的潜力,从而增强了 GUI agent 在各种环境中的可扩展性和适用性。

8.7 总结

对 GUI agent 的 LAMs 的探索揭示了一些关键见解,这些见解正在塑造与图形用户界面进行智能交互的未来:

  1. 用于设备端推理的较小模型: 许多优化的 LAMs 都是基于较小的基础模型构建的,通常参数范围在 10 亿到 70 亿之间。这种模型尺寸的缩小提高了计算效率,使得在移动电话和边缘设备等资源受限的设备上部署这些模型成为可能。在不依赖云服务的情况下执行设备端推理的能力解决了隐私问题并减少了延迟,从而带来了更快速的用户体验。
  2. 增强的 GUI 理解减少了对结构化数据的依赖: 像 VGA 和 OmniParser 这样的模型强调了视觉接地和以图像为中心的微调的重要性,以减少对结构化 UI 元数据的依赖。通过直接从视觉输入改进 GUI 理解,agent 变得更适应不同的软件环境,包括那些可能无法访问或不一致的结构化数据的环境。
  3. 强化学习弥合了静态和动态环境之间的差距: 在 DigiRL 等模型中应用强化学习证明了将静态训练数据与动态真实世界环境联系起来的有效性。这种方法允许 agent 从交互中学习、从错误中恢复并适应变化,从而增强了其在实际应用中的稳健性和可靠性。
  4. 统一的函数调用增强了互操作性: 如 xLAM 等模型所示,标准化数据格式和函数调用机制的努力有助于跨不同平台进行多轮交互和推理。这种统一解决了兼容性问题,并增强了 agent 执行涉及多个 API 和服务的复杂任务的能力。

GUI agent 的 LAMs 的进步突显了向专业化、高效和适应性强的模型发展的趋势,这些模型能够在各种平台上执行复杂的任务。通过专注于专业化、多模态集成和创新训练方法,研究人员正在克服通用 LLM 的局限性。这些见解为更智能、更快速响应且用户友好的 GUI agent 铺平了道路,这些 agent 可以改变与软件应用程序的交互方式。

  1. LLM驱动的GUI Agent的评估 ========================

在GUI agent领域,评估对于提升功能和用户体验至关重要,并且应该从多个方面进行。通过系统地评估这些agent在各种任务中的有效性,评估不仅衡量了它们在不同维度上的表现,还为它们的持续改进提供了框架。此外,它通过识别潜在的开发领域来鼓励创新,确保GUI agent与LLM的进步同步发展,并符合用户期望。

如图24所示,当一个GUI agent完成一项任务时,它会生成一个动作序列,捕获屏幕截图,提取UI结构,并记录由此产生的环境状态。这些输出是评估agent在不同平台上通过各种指标和测量来衡量其性能的基础。在接下来的章节中,将深入探讨这些评估方法,讨论用于全面评估GUI agent的指标和测量方法。还将概述针对不同平台上GUI agent的现有基准,突出它们的主要特征以及它们所解决的挑战。

picture.image

9.1 评估指标

评估GUI agent需要强大且多维的指标,以评估它们在各个维度上的性能,包括准确性、效率和合规性(例如,安全性)。在一个典型的基准测试设置中,GUI agent会收到自然语言指令作为输入,并期望自主执行动作直到任务完成。在此过程中,可以收集各种资产,例如agent采取的动作序列、逐步观察(例如,DOM或HTML结构)、屏幕截图、运行时日志、最终状态和执行时间。这些资产使评估人员能够确定任务是否已成功完成,并分析agent的性能。在本节中,总结了常用于基准测试GUI agent的关键评估指标。请注意,不同的研究工作可能会使用不同的名称来表示这些指标,但计算方式相似。在本节中,将统一它们的名称。

  1. 步骤成功率(Step Success Rate) : 完成一项任务可能需要多个步骤。此指标衡量的是成功步骤数与任务中总步骤数的比率。较高的步骤成功率表明对细粒度步骤的精确和准确执行,这对于涉及多个步骤的任务的可靠性能至关重要。
  2. 回合成功率(Turn Success Rate) : 一个回合表示用户和agent之间的一次交互。一个回合可能包含多个步骤,而完成一项任务可能包含多个回合。此指标衡量的是在交互中成功解决请求的回合数与所有回合数的比例。它侧重于agent在交互式或基于对话的任务中理解和满足用户期望的能力,确保agent在迭代交互中的响应性和可靠性,尤其是在需要动态用户-agent通信的任务中。
  3. 任务成功率(Task Success Rate) : 任务成功率衡量的是在基准测试中设置的所有任务中成功完成的任务数。它评估是否达到了最终的任务完成状态,而忽略了中间步骤。此指标提供了端到端任务完成的整体衡量标准,反映了agent整体处理复杂工作流程的能力。
  4. 效率得分(Efficiency Score) : 效率得分评估agent在完成任务时的效率,同时考虑资源消耗、执行时间或agent可能采取的总步骤数。此指标可以细分为以下子指标:

根据使用的具体指标,效率得分在不同的论文中可能有不同的解释。

  • 时间成本(Time Cost) : 衡量完成任务所花费的时间。
  • 资源成本(Resource Cost) : 衡量完成任务所使用的内存/CPU/GPU使用率。
  • LLM成本(LLM Cost) : 评估任务执行期间使用的LLM调用的计算或货币成本。
  • 步骤成本(Step Cost) : 衡量完成任务所需的总步骤数。
  • 策略下的完成率(Completion under Policy) : 此指标衡量在遵守策略约束的情况下成功完成任务的比率。它确保agent在任务执行期间遵守用户定义或组织规则,例如安全、道德、安全、隐私或业务指南。此指标对于合规性与任务成功同等重要的应用尤其相关。

  • 风险比率(Risk Ratio) : 与前一个指标类似,风险比率评估agent在任务执行期间的行为相关的潜在风险。它识别在任务处理过程中可能出现的漏洞、错误或安全问题。较低的风险比率表示较高的可信度和可靠性,而较高的比率可能表明需要改进的领域,以最大限度地降低风险并增强鲁棒性。

每个GUI agent基准中指标的实现可能会因平台和任务制定而异。在表17至表21中,将基准测试中使用的原始指标(可能具有不同的名称)映射到上面定义的类别。

9.2 评估指标

为了有效地评估GUI agent,采用了各种测量技术来评估它们的准确性以及与预期输出的一致性。这些测量使用代码、模型,甚至agent作为评估器,验证了agent性能的不同方面,从文本和视觉正确性到交互准确性和系统状态感知。下面总结了在基准测试GUI agent中使用的关键测量方法。基于这些测量,可以相应地计算先前定义的评估指标。

  1. 文本匹配(Text Match) : 此测量评估agent的基于文本的输出是否与预期结果匹配。例如,当agent浏览电子商务网站时,是否达到了目标产品名称。它可以涉及不同级别的严格性,包括:

文本匹配广泛应用于涉及文本选择、数据输入或自然语言响应的任务中。

  • 精确匹配(Exact Match) : 确保输出与预期结果完全匹配。
  • 部分或模糊匹配(Partial or Fuzzy Match) : 允许近似匹配,这对于处理诸如拼写错误或同义词之类的细微变化很有用。
  • 语义相似性(Semantic Similarity) : 使用文本嵌入的余弦相似性或其他语义相似性度量等技术来衡量语义意义上的更深层次的一致性。
  • 图像匹配(Image Match) : 图像匹配侧重于验证agent是否在预期的页面(例如,网页、应用程序UI)上执行操作或停止,或者是否选择了正确的图像。它涉及使用图像相似性指标或视觉问答(VQA)方法将屏幕截图、选定的图形元素或视觉结果与真实图像进行比较。此测量对于需要精确视觉识别的任务至关重要。

  • 元素匹配(Element Match) : 此测量检查agent交互的特定小部件元素(例如,HTML、DOM或应用程序UI层次结构中的元素)是否与预期元素一致。这些可能包括:

元素匹配确保在任务执行期间与不同平台上的用户界面组件进行稳健的交互。

  • HTML标签和属性(HTML Tags and Attributes) : 确保agent识别并与正确的结构元素交互。
  • URL和链接(URLs and Links) : 验证与导航相关的元素。
  • DOM层次结构(DOM Hierarchies) : 确认与动态或复杂Web界面中预期DOM结构的一致性。
  • UI控件和小部件(UI Controls and Widgets) : 验证与平台特定控件的交互,例如桌面和移动应用程序中的按钮、滑块、复选框、下拉菜单或其他GUI组件。
  • 辅助功能标识符(Accessibility Identifiers) : 在Android和iOS等移动平台中利用辅助功能标识符或资源ID来确保正确选择元素。
  • 视图层次结构(View Hierarchies) : 评估与移动应用程序中预期视图层次结构的一致性,类似于Web应用程序中的DOM层次结构。
  • 系统控件和API(System Controls and APIs) : 确保与操作系统控件或API的正确交互,例如桌面环境中的文件对话框、系统菜单或通知。
  • 动作匹配(Action Match) : 此测量通过将agent的动作(例如,点击、滚动或按键)与预期序列进行比较来评估其准确性。它涉及:

动作匹配对于评估任务完成中的逐步正确性至关重要。

  • 动作准确性(Action Accuracy) : 验证每个动作(包括动作类型及其参数)是否正确执行(例如,点击正确的按钮,输入正确的输入)。
  • 动作序列对齐(Action Sequence Alignment) : 确保动作以正确的顺序发生以满足任务要求。
  • 位置预测(Location Prediction) : 检查空间动作(例如,鼠标点击或触摸手势)是否针对界面的预期区域。
  • 状态信息(State Information) : 状态信息捕获任务执行期间与系统环境相关的运行时数据。它提供了对可能影响agent行为的上下文因素的见解,例如:

此测量对于调试、性能分析以及确保在各种条件下可靠性非常有用。

  • 应用程序状态(Application State) : 有关正在交互的应用程序状态的信息(例如,打开的文件、活动窗口、保存在给定位置的文件)。
  • 系统日志(System Logs) : 记录agent决策和交互的详细日志。
  • 环境变量(Environment Variables) : 关于操作系统或运行时环境的上下文数据。

每种测量技术都有助于建立一个全面的评估框架,确保agent不仅能够完成任务,而且能够以精确、高效和适应性强的方式完成任务。它们共同帮助建立对agent在真实场景中可靠执行任务能力,同时保持对策略约束的遵守的信任。

9.3 评估平台

评估图形用户界面(GUI) agent 需要多样化的平台,以捕捉这些 agent 运行的各种环境。这些平台涵盖了网页、移动和桌面环境,每个环境都有其独特的特点、挑战和评估工具。本节总结了这些平台的关键方面及其在 GUI agent 基准测试中的作用。

  1. 网页 (Web): 网页平台是 GUI agent 最常见的环境之一,反映了它们在日常任务中的普及,例如浏览、填写表单和数据抓取。用于评估的网页平台的关键特征包括:
  • 动态内容: 网页应用程序通常涉及通过 JavaScript、AJAX 或类似技术生成的动态元素,这要求 agent 有效处理异步更新。
  • 多样化的框架: 各种网页技术(例如,HTML、CSS、JavaScript 框架)要求 agent 能够与各种界面设计和结构进行交互。
  • 工具和库: 评估通常使用诸如 Selenium、Puppeteer 或 Playwright 之类的工具来模拟浏览器交互、收集运行时信息以及将结果与预期结果进行比较。
  • 可访问性合规性: 还可以评估诸如 WCAG(Web 内容可访问性指南)遵守情况之类的指标,以确保包容性。
  • 移动 (Mobile): 移动平台,特别是 Android 和 iOS,由于其受限的界面和基于触摸的交互,给 GUI agent 带来了独特的挑战。在移动平台上评估 agent 包括:
  • 屏幕尺寸限制: Agent 必须适应有限的屏幕空间,确保交互保持准确和高效。
  • 触摸手势: 评估 agent 模拟诸如点击、滑动和捏合等手势的能力至关重要。
  • 平台多样性: Android 设备在屏幕尺寸、分辨率和系统版本方面差异很大,而 iOS 则提供更标准化的条件。
  • 评估工具: 诸如 Appium 和 Espresso(用于 Android)或 XCTest(用于 iOS)之类的工具以及模拟器通常用于测试和评估。
  • 桌面 (Desktop): 桌面平台为 GUI agent 提供了更丰富和更复杂的环境,涵盖了诸如 Windows、macOS 和 Linux 之类的多种操作系统。在桌面平台上进行的评估通常强调:
  • 应用程序多样性: Agent 必须处理各种桌面应用程序,包括生产力工具、网页浏览器和自定义企业软件。
  • 交互复杂性: 桌面界面通常包含诸如键盘快捷键、拖放和上下文菜单之类的高级功能,agent 必须正确处理这些功能。
  • 跨平台兼容性: 评估可能涉及确保 agent 可以在多种操作系统和版本上运行。
  • 自动化框架: 诸如 Windows UI Automation、macOS Accessibility APIs 和 Linux 的 AT-SPI 之类的工具用于自动化和监视 agent 交互。
  • 资源使用: 内存和 CPU 使用率是重要的指标,特别是对于长时间运行的任务或资源密集型应用程序。

每个平台都为评估 GUI agent 提出了不同的挑战和机遇。网页平台强调可扩展性和动态交互,移动平台侧重于触摸界面和性能,而桌面平台则需要处理复杂的工作流程和跨应用程序任务。一些基准测试是跨平台的,要求 agent 具有稳健性、适应性并且能够跨不同环境进行泛化。

所有讨论的指标、测量和平台对于全面评估 GUI agent 的多个方面至关重要。大多数现有的基准测试都依赖它们进行评估。接下来,首先在表17 到表21 中概述这些 GUI agent 的基准测试,然后在以下小节中选择性地详细介绍它们。

picture.image

picture.image

picture.image

picture.image

picture.image

9.4 网页 Agent 测试基准

评估网页环境中的 GUI agent 需要捕捉任务的复杂性。多个基准测试的开发推动了这一领域的进展。

MiniWoB++ 是开创性工作,聚焦于强化学习 agent 在真实交互场景中的表现,包括单击和导航。它通过工作流引导探索 (WGE) 提高稀疏奖励环境的效率,以成功率评估 agent 的适应性。

Mind2Web 进一步提升真实环境测试,使 agent 能处理真实 HTML 内容,提供2000多个任务,涵盖从基本操作到复杂多页面工作流程。它通过元素准确率和任务成功率等指标评估端到端性能。

MT-Mind2Web 扩展了 Mind2Web 的功能,引入对话式网页导航,包含720个会话和3525个指令,测试 agent 的对话能力。

WebArena 设定了新标准,模拟真实人类交互,包含812个任务,重点在多标签网页的复杂交互。

VisualWebArena 评估 agent 在视觉基础网页任务上的表现,包含910个分类广告等任务,增加了视觉任务的挑战。

VideoWebArena 聚焦于 agent 与视频内容的交互,提供74个视频和2021个任务,强调推理和视频理解的不足。

VisualWebBench 提供多模态基准,涵盖1.5K个样本,评估诸如OCR和推理能力等挑战。

EnvDistraction 评估 agent 在非恶意干扰下的表现,揭示了高级 agent 的脆弱性。

ST-WebAgentBench 专注于安全性,通过管理不安全行为的策略进行评估,包括235个任务。

WorkArena 针对企业软件任务,强调在 ServiceNow 平台上的表现,包含19912个实例。

WebOlympus 通过 Chrome 扩展支持实时网站交互,为 agent 提供评估工具。

这些基准测试在真实性、多模态、安全性和企业应用等多个方面推动了网页 GUI agent 的评估。

9.5 移动端 Agent 测试基准

移动平台评估 GUI agent 面临独特挑战,多个基准测试已被开发以应对。

PIXELHELP 早期工作将自然语言与移动 UI 操作关联,提供187个多步骤指令,评估任务准确性。

ANDROIDLAB 为 Android agent 建立了框架,支持文本和多模态模型的评估,涵盖138个任务。

Mobile-Bench 整合 API 和 UI 操作,测试简单与复杂移动交互的能力。

MobileSafetyBench 强调安全性,提供结构化评估框架,测试常见移动任务中的 agent 表现。

SPA-BENCH 针对多种语言和应用场景,评估单应用和跨应用任务的能力。

MobileAgentBench 提供高效评估,涵盖100个任务,注重用户友好性。

LlamaTouch 引入状态注释,提供真实 Android 环境中的任务自动化评估。

这些基准测试推动了移动端 GUI agent 的评估,解决了任务复杂性、安全性和效率等挑战。

9.6 计算机 Agent 测试基准

在桌面计算机上评估 GUI agent 需要应对复杂工作流程,多个基准测试已针对特定挑战而开发。

Act2Cap 记录光标操作,评估 GUI 交互的细节,涵盖4189个样本。

OSWorld 提供跨系统任务设置,支持多模态 agent 的评估,包含多种环境的任务。

WindowsArena 为 Windows 创建150多个任务,专注于多步骤任务的规划和屏幕理解。

OFFICEBENCH 在办公应用中评估 agent,使用复杂任务考验其能力。

Spider2-V 针对数据科学工作流程,涵盖494个真实任务,评估 agent 在企业环境中的表现。

AssistGUI 引入具身 agent 框架,强调复杂任务规划和操作生成。

这些基准测试为桌面平台的 GUI agent 提供全面评估,推动了多应用程序自动化和可扩展性的发展。

9.7 跨平台 Agent 测试基准

跨平台基准测试对于评估多环境下的 GUI agent 至关重要。

VisualAgentBench (VAB) 评估不同平台的 agent,采用多层次数据收集,确保全面性能评估。

CRAB 评估多模态 agent 在跨环境交互中的表现,支持无缝多设备任务执行。

ScreenSpot 强调视觉 agent 的 GUI 定位,包含600多个屏幕截图,评估点击准确性和定位精度。

这些基准测试推动了跨平台 GUI agent 的发展,提升了通用性和适应性。

9.8 要点总结

GUI agent 基准测试的演变反映了向更真实、交互式评估环境的转变。主要趋势包括:

  1. 真实交互环境的进展。
  2. 跨平台评估的出现,简化了基准测试过程。
  3. 融入人类交互,严格测试 agent 的动态处理能力。
  4. 可扩展性和自动化的挑战,提升评估效率。
  5. 安全性和合规性的重要性,确保 agent 的合法性和道德标准。

这些发展为构建更复杂的 GUI agent 铺平了道路,持续的创新和协作至关重要。

10 LLM 驱动的 GUI Agent 的应用

随着 LLM 驱动的 GUI agent 的不断发展,越来越多的应用程序利用这一概念创建更智能、用户友好的界面。这些应用主要包括:

  • GUI 测试 :从传统脚本方法转变为基于自然语言的交互。
  • 虚拟助手 :通过自然语言界面自动化用户的日常任务。

10.1 GUI 测试

GUI 测试评估软件应用的图形用户界面,以确保符合规范、功能和用户体验标准。最初手动进行,后通过自动化工具如 Selenium 和 Appium 实现。LLM 驱动的 GUI agent 允许非专业人员通过自然语言测试 GUI,涵盖通用测试、输入生成和错误重现。

图 25 显示了如何使用 LLM agent 在 Windows 上测试字体大小调整,减少了人工和脚本测试的工作量。

picture.image

10.1.1 通用测试

研究表明,LLM 能通过自然语言测试用例自动化 GUI 测试。GPT-3 和后续版本结合 Selenium 实现了更高的测试覆盖率。GPTDroid 和 DROIDAGENT 等工具进一步提高了测试覆盖率和效率。AUITestAgent 和 VisionDroid 通过多模态分析和视觉对齐改进了测试过程。AXNav 通过自然语言指令自动执行可访问性测试。

10.1.2 文本输入生成

Cui 等人展示了如何利用 GPT-3.5 和 GPT-4 为 UI 字段生成上下文感知的文本,从而提高 Android 应用程序的测试覆盖率。QTypist 也通过填空任务提高了覆盖率。

10.1.3 错误复现

CrashTranslator 结合强化学习和 LLM 自动重现崩溃,显著减少调试时间。AdbGPT 通过动态推断 GUI 操作提供高效的错误重现解决方案。

10.1.4 验证

MagicWand 展示了 LLM 在自动化“操作指南”验证方面的潜力,提升了工作流程的可靠性。

总之,LLM 驱动的 GUI agent 通过自然语言方法、视觉对齐和自动化错误重现,改变了 GUI 测试的面貌。

10.2 虚拟助手

虚拟助手如 Siri 是 AI 驱动的应用,帮助用户通过自然语言命令完成任务。随着 LLM 和 agent 的发展,虚拟助手变得更加智能,通过上下文感知的交互提高用户生产力。

图 26 展示了基于 GUI agent 的虚拟助手概念,其简化了复杂任务的执行。

picture.image

10.2.1 研究

研究显示基于 LLM 的 GUI agent 在多种应用中实现智能交互。例如,Proagent 系统引入了 Agentic 流程自动化,能够自动创建和执行 GUI 工作流程。LLMPA 和 PromptRPA 通过自然语言提示提升了移动平台的任务自动化能力。VizAbility 和 EasyAsk 通过增强可访问性来改善用户体验。

10.2.2 开源项目

开源项目如 OpenAdapt 和 AgentSea 为 LLM GUI agent 的发展提供支持,促进了智能虚拟助手的定制和应用。Open Interpreter 允许用户通过自然语言命令执行代码,增强了灵活性和控制。

10.2.3 生产应用

基于 LLM 的 GUI agent 在生产环境中展现出实际应用价值。例如,Power Automate 通过自然语言描述任务增强了用户与桌面应用的互动。MultiOn 和 YOYO Agent 通过智能化操作提高了网络和移动平台上的用户体验。

10.3 总结

基于 LLM 的 GUI agent 正在引入自然语言交互和自动化,改变用户与软件应用的互动方式。尽管仍处于早期阶段,但这些技术的进步为未来设定了新的基准。

11 局限性、挑战与未来发展路线

尽管 LLM 驱动的 GUI agent 已取得显著进展,但仍存在技术挑战和局限性,需要解决以提高其有效性和用户接受度。

11.1 隐私问题

LLM GUI agent 通常需要访问用户敏感数据,增加隐私风险。解决方案包括设备端推理和隐私保护技术的实施。

11.2 延迟、性能和资源限制

高计算需求可能导致高延迟和用户体验不佳。未来应优化模型架构和探索边缘计算等技术。

11.3 安全性和可靠性

错误操作可能导致数据损坏或安全漏洞。应加强错误检测机制和权限管理。

11.4 人机交互

用户与 agent 的交互复杂,可能导致误解。应设计以用户为中心的系统以提高任务准确性。

11.5 定制化与个性化

agent 需理解用户偏好以提供最佳体验。未来研究应关注用户建模和偏好学习。

11.6 伦理与监管挑战

部署 LLM GUI agent 引发伦理问题。应建立明确的道德准则和监管框架。

11.7 可扩展性和泛化性

现有 agent 多为特定应用定制,限制了可扩展性。应创建多样化数据集并探索迁移学习技术。

11.8 总结

解决上述局限性对实现 LLM GUI agent 的潜力至关重要。跨学科合作将促进更强大、广泛采用的 agent 开发。

12 结论

LLM 与 GUI 自动化的结合标志着人机交互的变革,提供了以自然语言控制应用程序的新范式。本文全面概述了 LLM GUI agent 的核心组件、挑战及未来方向,期待这一技术改善日常生活的生产力和可访问性。

0
0
0
0
相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论