Bootstrap

大模型GUI系列论文阅读 DAY1:《基于大型语言模型的图形用户界面智能体:综述》(6.6W 字长文)

 摘要

图形用户界面(Graphical User Interfaces, GUIs)长期以来一直是人机交互的核心,为用户提供了直观且以视觉为驱动的方式来访问和操作数字系统。传统上,GUI交互的自动化依赖于基于脚本或规则的方法,这些方法在固定工作流中虽行之有效,但缺乏动态和实际应用场景中所需的灵活性和适应性。大型语言模型(Large Language Models, LLMs),尤其是多模态模型的出现,开启了GUI自动化的新纪元。这些模型在自然语言理解、代码生成、任务泛化以及视觉处理方面展现出卓越能力,为新一代“以LLM为大脑”的GUI智能体奠定了基础。这些智能体能够理解复杂的GUI元素,并基于自然语言指令自主执行操作,标志着一种全新的范式转变,使用户能够通过简单的对话命令完成复杂的多步骤任务。它们的应用涵盖了网页导航、移动应用交互以及桌面自动化,为用户体验带来革命性变革,重新定义了人与软件的交互方式。

这一新兴领域正在快速发展,无论在研究还是工业界都取得了显著进展。为了提供对这一趋势的系统性理解,本文对基于LLM的GUI智能体进行了全面综述,探讨了其历史演变、核心组件及其高级技术。我们关注以下关键研究问题:现有的GUI智能体框架、用于训练专业GUI智能体的数据收集与利用、针对GUI任务的大型动作模型的开发,以及评估其有效性所需的评价指标与基准。同时,我们还审视了由这些智能体驱动的新兴应用。通过详细分析,本文识别了关键研究空白并制定了未来发展的路线图。通过整合基础知识和最前沿的研究进展,本综述旨在指导研究人员和实践者克服挑战,释放LLM驱动的GUI智能体的全部潜能。

我们希望本综述既能作为构建LLM驱动GUI智能体的实践手册,也能作为推动该领域研究的权威参考。综述中提到的论文集合将托管在GitHub仓库(GitHub - vyokky/LLM-Brained-GUI-Agents-Survey: GitHub page for "Large Language Model-Brained GUI Agents: A Survey")上,并定期更新。此外,还提供了一个便于访问与探索的可搜索网页(LLM-Brained GUI Agents Survey)。

关键词
大型语言模型、图形用户界面、人工智能智能体、自动化、人机交互

1 引言
图形用户界面(Graphical User Interfaces, GUIs)一直是人机交互的基石,从根本上改变了用户在数字系统中导航和操作的方式 [1]。GUI 的设计旨在让计算更加直观和易于访问,用以视觉驱动和用户友好的环境替代了命令行界面(Command-Line Interfaces, CLIs)[2]。通过使用图标、按钮、窗口和菜单,GUI 使更多用户能够通过简单的操作(如点击、输入和手势)与计算机交互。这一转变普及了计算机的使用,使非技术用户也能高效地操作复杂系统。然而,GUI 往往在追求可用性的同时牺牲了效率,尤其是在需要重复或多步骤交互的工作流中,CLI 通常仍然更为简洁高效 [3]。

尽管 GUI 革新了可用性,但其主要为人类视觉交互设计的特性,在自动化方面带来了显著挑战。GUI 的多样性、动态性以及平台特定性使得开发灵活且智能的自动化工具变得困难,这些工具需要适应各种环境。早期的 GUI 自动化尝试主要依赖于基于脚本或规则的方法 [4][5]。虽然这些方法对预定义的工作流有效,但其本质上范围狭窄,主要集中在软件测试和机器人流程自动化(Robotic Process Automation, RPA)等任务 [6]。这些方法的刚性使得在应对新任务、GUI 布局的变化或工作流的演变时需要频繁手动更新,限制了其可扩展性和灵活性。此外,这些方法缺乏支持动态、人类式交互的复杂性,因而在复杂或不可预测的场景中应用受限。

大型语言模型(Large Language Models, LLMs)的兴起 [8][9],特别是那些增强了多模态能力的模型 [10],为 GUI 自动化带来了颠覆性变化,重新定义了智能体与图形用户界面交互的方式。从 ChatGPT [11] 等模型开始,LLMs 展现了在自然语言理解、代码生成以及跨任务泛化方面的卓越能力 [8][12]–[14]。视觉语言模型(Visual Language Models, VLMs)的引入进一步扩展了这些能力,使这些模型能够处理视觉数据,例如 GUI 的复杂布局 [15]。这一演进弥合了语言与视觉理解之间的差距,使智能体能够以更类似人类和更具适应性的方式与 GUI 交互。通过利用这些进展,LLMs 和 VLMs 展现了变革性的潜力,使智能体能够在复杂的数字环境中导航、动态执行任务,并彻底革新 GUI 自动化领域。

1.1 LLM驱动GUI智能体的动机
以大型语言模型(LLM)作为“核心大脑”的支持,LLM驱动的GUI自动化引入了一类全新的智能体。这些智能体能够理解用户的自然语言请求、分析GUI界面及其元素,并自主执行适当的操作。值得注意的是,这些能力的实现并不依赖复杂的、特定于平台的脚本或预定义的工作流。这些智能体被称为“LLM驱动的GUI智能体”(LLM-brained GUI agents),其形式定义如下:
在GUI环境中操作的智能体,以LLM作为其核心推理和认知引擎,以灵活和适应性的方式生成、规划和执行操作。

这一范式代表了GUI自动化领域的重大飞跃,促进了跨各种平台的动态、类人交互。它使智能、适应性系统的创建成为可能,这些系统能够推理、实时决策,并灵活应对不断变化的任务和环境。我们在图1中展示了这一高级概念。

传统的GUI自动化通常受限于预定义的规则或专注于特定任务,限制了它们适应动态环境和多样化应用的能力。相比之下,LLM驱动的GUI智能体通过将自然语言理解、视觉识别和决策能力整合到一个统一框架中,实现了范式的转变。这使得它们能够在广泛的用例中泛化,彻底改变任务自动化,并显著提升人机交互的直观性和效率。

此外,与当前兴起的纯应用编程接口(API)智能体趋势不同——后者依赖于并非总是公开或可访问的API——GUI智能体利用图形界面的通用性。GUI提供了控制大多数软件应用程序的一般机制,使智能体能够以非侵入的方式运行,而无需访问内部API。这一能力不仅拓宽了GUI智能体的适用性,还使外部开发者能够基于现有软件在不同平台和生态系统上构建高级功能。综合这些创新,GUI智能体被定位为未来智能自动化领域中多功能且变革性的技术。 

这一新范式使用户能够通过对话命令控制通用的软件系统。通过减少多步骤GUI操作的认知负担,LLM驱动的智能体让复杂系统变得对非技术用户更易接近,同时简化了各个领域的工作流程。典型示例包括用于网页导航的SeeAct [16]、用于移动交互的AppAgent [17],以及用于Windows操作系统应用的UFO [18]。这些智能体类似于《钢铁侠》中的J.A.R.V.I.S.,是一种直观且适应性强的系统,能够理解用户的目标并自主执行跨应用操作。一个由人工智能驱动的操作系统的未来概念——能够以流畅和精准的方式执行跨应用任务——正在迅速成为现实 [20][21]。 

LLM驱动的GUI智能体的实际应用已经逐渐出现。
例如,微软的Power Automate利用LLM简化了低代码/无代码自动化 [2],使用户能够以较少的技术知识设计跨微软应用的工作流。在生产力软件中集成的AI助手(如微软Copilot [3]),正在弥合自然语言指令与应用操作之间的鸿沟。此外,LLM驱动的智能体在提升可访问性方面显示出潜力 [22],例如通过将自然语言命令转换为可执行步骤,可能让视障用户更有效地导航GUI。这些进展凸显了LLM驱动GUI智能体在各种应用中的时效性和变革性潜力。

LLM与GUI自动化的融合解决了人机交互中的长期挑战,并带来了智能GUI控制的新机遇 [23]。
这一整合催生了研究活动的激增,涵盖了应用框架 [18]、数据收集 [24]、模型优化 [15] 和评估基准 [25] 等领域。尽管取得了这些进展,仍然存在关键的挑战和局限性,许多基础性问题尚未被深入探索。然而,目前缺乏对这一快速发展的领域的系统性综述,导致对该领域的理解存在重要空白。 

1.2 调查范围
为了填补这一空白,本文提供了一篇开创性的、全面的关于“LLM驱动的GUI智能体”的综述。我们将回顾GUI智能体的发展历史,提供构建这些智能体的分步指南,汇总基本和高级技术,评审与框架、数据和模型相关的重要工具和研究,展示典型应用,并概述未来发展方向。具体而言,本综述旨在回答以下研究问题(RQs):

  1. RQ1:LLM驱动的GUI智能体的发展历史轨迹是什么?(第4节)
  2. RQ2:构成LLM驱动GUI智能体的基础组件和高级技术有哪些?(第5节)
  3. RQ3:LLM GUI智能体的主要框架是什么?它们有哪些显著特征?(第6节)
  4. RQ4:有哪些现有数据集?如何收集全面的数据集以训练优化的LLM用于GUI智能体?(第7节)
  5. RQ5:如何利用收集的数据训练专用的大型动作模型(Large Action Models, LAMs)用于GUI智能体?当前领域中的领先模型有哪些?(第8节)
  6. RQ6:使用哪些指标和基准来评估GUI智能体的能力和性能?(第9节)
  7. RQ7:LLM驱动的GUI智能体最显著的实际应用是什么?它们如何适应实际用途?(第10节)
  8. RQ8:开发稳健且智能的GUI智能体面临的主要挑战、局限性及未来研究方向是什么?(第11节)

通过这些问题,本综述旨在提供对该领域现状的全面概览,为构建LLM驱动的GUI智能体提供指导,识别关键研究空白,并提出未来工作的方向。本综述是首批系统性研究LLM驱动GUI智能体领域的尝试之一,整合了LLM的进展、GUI自动化和人机交互的视角。

1.3 调查结构

本综述的组织结构如下,图2展示了具体的结构示意图:

  • 第2节:回顾与LLM智能体和GUI自动化相关的综述和文献研究。
  • 第3节:提供LLM、LLM智能体和GUI自动化的基础背景知识。
  • 第4节:梳理LLM驱动的GUI智能体的发展历程。
  • 第5节:介绍LLM驱动GUI智能体的关键组成部分和先进技术,作为全面指南。
  • 第6节:展示LLM驱动GUI智能体的典型框架。
  • 第7节:讨论数据集的收集以及用于优化GUI智能体中LLM的数据驱动研究。
  • 第8节:覆盖GUI智能体的基础和优化模型。
  • 第9节:概述评估指标和基准方法。
  • 第10节:探讨实际应用和用例。
  • 第11节:审视当前的局限性、挑战及潜在的未来研究方向。
  • 第12节:对本综述进行总结。

为便于理解,表1提供了缩略词列表。

2 相关工作

将大型语言模型(LLMs)与GUI智能体结合是一个新兴且快速增长的研究领域。一些相关的综述和教程提供了基础性见解和指导。我们简要回顾现有的关于GUI自动化和LLM智能体的综述文章,因为这些主题与我们的研究重点密切相关,并提供了重要的参考信息。

首先,我们对关于GUI自动化、LLM智能体及其整合的代表性综述和书籍进行了概述,具体内容总结在表2中。这些研究要么直接聚焦于GUI自动化和LLM驱动智能体的一个或两个核心领域,要么通过间接方式为推动该领域的发展提供了宝贵的见解,尽管其主题未直接针对本文的研究焦点。

2.1 GUI自动化综述

GUI自动化历史悠久,在工业界有广泛的应用,特别是在GUI测试 [26]–[28] 和用于任务自动化的机器人流程自动化(Robotic Process Automation, RPA)[6][41] 中。

Said等人 [29] 对移动应用程序的GUI测试进行了综述,涵盖了该领域的目标、方法和挑战。Li [30] 进一步缩小了研究范围,聚焦于Android应用程序,而Oksanen等人 [31] 探讨了Windows GUI应用程序的自动化测试技术,这一平台是智能体操作的重要基础。同样地,Moura等人 [60] 对Web应用程序的GUI测试进行了综述,包括多种工具、输入和方法学。Deshmukh等人 [32] 讨论了自动化GUI测试在提升用户体验方面的应用,这是LLMs展现新能力的领域之一。

现代GUI测试的基石是计算机视觉(Computer Vision, CV),它被用来解释用户界面元素并识别可操作控件 [33]。Yu等人 [34] 对CV在移动GUI测试中的应用进行了综述,突出了其重要性及相关挑战。在LLM驱动的GUI智能体中,应用程序UI的截图同样是关键输入,能够支持任务的可靠理解和执行。

另一方面,RPA专注于自动化重复性的人工任务,也在相关流程中大量依赖GUI自动化。Syed等人 [35] 对该领域进行了综述,指出了当代RPA的主题和未来研究中的关键挑战。Chakraborti等人 [36] 强调了从传统的、基于脚本的RPA向更智能、适应性更强的范式转变的重要性,并系统性地概述了这一方向上的进展。鉴于RPA在工业中的广泛应用,Enriquez等人 [37] 和Ribeiro等人 [38] 从工业视角对该领域进行了综述,强调了其重要性,并对RPA方法、发展趋势及实际挑战进行了全面概述。

无论是GUI测试 [39] 还是RPA [40],在实现更高的智能性和稳健性方面仍然面临显著挑战。LLM驱动的GUI智能体有望在这些领域中发挥变革性作用,通过增强能力和增加价值来解决这些长期存在的问题。

2.2 关于LLM智能体的综述

大型语言模型(LLMs)的出现显著提升了智能体的能力 [42],使其能够应对以前难以实现的复杂任务,尤其是在自然语言理解和代码生成领域 [43]。这一进展推动了基于LLM的智能体在广泛应用中的大量研究 [44]。

Xie等人 [45] 和Wang等人 [46] 提供了关于LLM驱动智能体的全面综述,包括基础信息、详细的组件分析、分类体系以及各种应用。这些综述为理解LLM驱动的智能体提供了宝贵的参考,奠定了进一步探索LLM驱动GUI智能体的基础。Xie等人 [55] 还广泛综述了多模态智能体,它们除了文本外,还能处理图像、视频和音频。这种多模态能力显著扩展了传统基于文本的智能体的应用范围 [56]。值得注意的是,大多数GUI智能体属于这一类别,因为它们依赖于图像输入(如截图)来有效地解释和操作图形界面。

多智能体框架在GUI智能体的设计中被频繁采用,以增强其能力和可扩展性。Guo等人 [47] 和Han等人 [48] 提供了关于当前多智能体系统的概述,包括其现状、挑战和未来方向。Sun等人 [49] 综述了利用强化学习增强多智能体LLM系统的最新方法,为提高其能力和适应性开辟了新路径。这些研究为设计高效的多智能体系统提供了宝贵的见解和指导。

在数字环境领域,Wu等人 [57] 提供了一篇关于移动环境中LLM智能体的综述,涵盖了移动GUI智能体的关键方面。在更广泛的范围内,Wang等人 [58] 综述了基础模型与GUI智能体的集成。另一个由Gao等人撰写的综述总结了跨各种数字平台运行的自主智能体 [59],突出了它们的能力、挑战和应用。这些综述不仅提供了关键的任务理解支持,还突出了这一领域中的新兴趋势,为进一步研究提供了重要参考。

关于LLM智能体的各个组件,一些综述提供了详细的见解,这些见解对于GUI智能体尤其重要。

Huang等人 [50] 探讨了LLM智能体中的规划机制,这对于执行长期任务至关重要——这是GUI自动化中的常见需求。
Zhang等人 [51] 研究了记忆机制,它使智能体能够存储关键的历史信息,从而帮助知识保留和决策制定。
此外,Shen [13] 综述了LLM使用工具(如API和代码)与环境有效交互的方法,通过这些工具将行动与能够产生实际影响的方式联系起来。
Chang等人 [52] 则提供了一篇关于LLM评估方法的全面综述,这对于确保GUI智能体的稳健性和安全性至关重要。
另外,其他两篇综述 [53][54] 对多模态LLM的基准测试和评估方法进行了综合概述。这些评估还支持了反馈循环,使智能体能够根据评估结果迭代改进。

总体而言,这些综述为LLM智能体的关键组件提供了宝贵的指导,并为基于LLM的GUI智能体奠定了坚实的基础。

我们的综述与现有研究的区别在于,它首次对LLMs与GUI智能体的交叉点和整合进行了开创性和全面的分析。本文深入探讨了基础组件、先进技术、框架架构、数据与模型优化策略、应用场景、关键挑战,以及面向未来的发展路线——这些领域在以往的研究中尚未得到充分的探索。

3 背景

LLM驱动GUI智能体的开发基于以下三个主要进展:

  1. 大型语言模型(LLMs) [8]:具备先进的自然语言理解和代码生成能力,构成这些智能体的核心智能。
  2. 相关的智能体架构和工具 [46]:扩展了LLM的能力,弥合了语言模型与物理环境之间的差距,使其能够产生实际的影响。
  3. GUI自动化 [61]:发展出一套健全的工具、模型和方法,为GUI智能体的功能提供了重要支持。

上述每个组件在LLM驱动GUI智能体的出现过程中都发挥了关键作用。在以下小节中,我们将简要概述这些领域,为后续讨论奠定基础。

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

语言模型的研究有着悠久而丰富的历史 [62],从早期的统计语言模型 [63] 和小型神经网络架构 [64] 开始。在这些基础概念之上,近年来的进展集中于基于Transformer的大型语言模型(LLMs),如生成式预训练Transformer(Generative Pre-trained Transformers, GPTs)[65]。这些模型通过在大规模文本语料库上的预训练,具有显著更大的模型规模,不仅验证了扩展定律,还在广泛的自然语言任务中展现了卓越的能力。除了规模之外,这些LLMs还表现出增强的语言理解与生成能力,以及在小型语言模型中缺乏的涌现特性 [66]。

早期的神经语言模型基于循环神经网络(RNNs)[67] 和长短时记忆网络(LSTMs)[68] 构建,在性能和泛化能力上都有限。Transformer模型的引入,基于注意力机制 [69],标志着一个变革性的里程碑,确立了几乎所有后续LLMs的基础架构。这一发展催生了多种模型结构的变体,包括:

  • 仅编码器模型(如BERT [70]、RoBERTa [71]、ALBERT [72]);
  • 仅解码器模型(如GPT-1 [73]、GPT-2 [74]);
  • 编码器-解码器模型(如T5 [75]、BART [76])。

2022年,基于GPT-3.5的ChatGPT [11] 发布,这一具有突破性的LLM从根本上改变了人们对语言模型潜能的认知。从那时起,诸如GPT-4 [78]、LLaMA-3 [79] 和Gemini [80] 等众多先进的LLMs相继出现,推动了该领域的快速发展。

如今的LLMs高度多功能化,其中许多能够处理多模态数据,并执行多种任务,从问答到代码生成,使其成为各种应用中不可或缺的工具 [81]–[84]。

大型语言模型(LLMs)的出现引入了许多先进特性,这些特性显著扩展了其应用范围,使得之前极具挑战的任务(如基于自然语言的GUI智能体)成为可能。这些进步包括:

  1. 小样本学习(Few-Shot Learning)[65]

    • 也被称为上下文学习(In-Context Learning)[85],指的是LLMs在推理过程中可以通过在提示中提供的一小组示例学习新任务,而无需重新训练。
    • 这一能力对于GUI智能体尤为关键,因为它能够以最小的努力在不同环境中实现任务的泛化。
  2. 指令执行(Instruction Following)[86]

    • 经过指令微调(Instruction Tuning)后,LLMs展现了出色的指令执行能力,可以在新任务中表现出强大的泛化技能 [77]。
    • 这使得LLMs能够准确理解用户对GUI智能体的请求,并遵循预定义的目标执行操作。
  3. 长期推理(Long-Term Reasoning)[87]

    • LLMs具备将复杂任务分解为可管理步骤进行规划和解决的能力,经常使用链式推理(Chain-of-Thought, CoT)[88][89]等技术。
    • 这一能力对GUI智能体尤为重要,因为许多任务需要多步骤的执行以及稳健的规划框架。
  4. 代码生成和工具利用(Code Generation and Tool Utilization)[90]

    • LLMs在代码生成和工具使用(如API调用)方面表现出色 [13]。
    • 这一能力对于GUI智能体至关重要,因为代码和工具是其与环境交互的核心手段。
  5. 多模态理解(Multimodal Comprehension)[10]

    • 先进的LLMs能够将图像等额外数据模态整合到训练过程中,演变为多模态模型。
    • 这一能力对GUI智能体尤为重要,因为它们需要解释以图像形式呈现的GUI截图以正常工作 [91]。

为了进一步增强LLMs在GUI智能体中的专业化表现,研究人员通常会使用领域特定的数据(如用户请求、GUI截图和操作序列)对这些模型进行微调,从而提升其定制化能力和有效性。在第8节中,我们将深入探讨这些为GUI智能体定制的高级模型,讨论其在图形界面交互中的独特适应性和改进能力。

3.2 LLM智能体:从语言到行动

传统的AI智能体通常专注于增强某些特定能力,例如符号推理或在特定任务(如围棋或国际象棋)中表现出色。与此不同,大型语言模型(LLMs)的出现通过提供自然语言接口,赋予AI智能体类似人类的决策能力,并使其能够在各种环境中执行多样化任务并产生实际影响 [12][46][92][93]。在LLM驱动的智能体中,如果说LLMs是GUI智能体的“大脑”,那么它的相关组件就相当于“眼睛和手”,使LLMs能够感知环境状态并将其文本输出转化为可执行的步骤,从而产生实际的效果 [45]。

这些组件将LLMs从被动的信息源转变为可以为用户执行任务的交互式智能体,这重新定义了LLMs的角色:从纯粹的文本生成模型转变为能够驱动行动并实现具体目标的系统。

在GUI智能体的场景中,智能体通常通过截图和控件树(widget trees)感知GUI的状态 [94],然后在环境中执行操作以模仿用户行为(例如鼠标点击、键盘输入、手机上的触控手势)。由于任务可能是长期的,因此通常需要有效的规划和任务分解,这也带来了独特的挑战。因此,一个由LLM驱动的GUI智能体通常具备以下特性:

  1. 多模态能力 [55]:能够处理图像(如截图)和文本输入。
  2. 强大的规划系统 [50]:用于分解和执行复杂任务。
  3. 记忆机制 [51]:用于分析历史交互信息,帮助智能体更好地理解上下文。
  4. 专用工具包 [26]:用于与环境交互(如调用API或模拟用户操作)。

我们将在第5节中详细讨论这些为GUI智能体量身定制的设计。

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

GUI自动化自计算领域图形用户界面(GUI)诞生以来,一直是研究和应用的关键领域。最初的开发目的是提高软件测试的效率,GUI自动化通过模拟用户操作(如点击、文本输入和导航)来验证图形应用程序的功能 [29]。早期的GUI自动化工具专为静态界面上重复测试用例的执行而设计 [27],这些方法优化了质量保证流程,确保了一致性并减少了手动测试时间。随着对数字化解决方案需求的增长,GUI自动化的应用已超越测试领域,扩展到机器人流程自动化(RPA)[6]和人机交互(HCI)[95]等领域。

1. GUI自动化的传统应用

  1. 软件测试
    • GUI自动化工具可以模拟用户操作以验证应用程序功能,显著减少了人工干预,提高了测试效率。
  2. RPA(机器人流程自动化)
    • GUI自动化被用于模仿业务流程中的人工操作,自动完成重复性任务,从而提高运营效率。
  3. HCI研究
    • GUI自动化被用来模拟用户行为,用于可用性评估和交互研究。

这些应用显著提升了生产力和用户体验,通过减少重复任务和提高系统适应性,显著改善了工作流的效率 [96][97]。

2. 传统GUI自动化的方法

  1. 基于脚本的自动化

    • 使用编程语言(如Python、Java、JavaScript)通过脚本控制GUI元素。
    • 示例工具:
      • Selenium:用于Web应用自动化。
      • AutoItSikuliX:用于桌面应用自动化。
    • 这些脚本通过程序化的方式模拟用户操作,如点击、输入和拖拽。
  2. 基于规则的自动化

    • 通过预定义的规则(如位置、颜色、文本标签等属性)与特定GUI元素交互。
    • 优点:在静态和可预测的工作流中表现良好。
    • 缺点:面对现代GUI的动态内容、响应式布局和用户驱动的变化时,这种方法难以适应 [102][103]。

3. 计算机视觉(CV)在GUI自动化中的应用

随着GUI的复杂性增加,**计算机视觉(CV)**成为解释GUI视觉元素的关键技术,显著提升了GUI自动化的适应性:

  1. 屏幕元素识别

    • CV技术通过分析屏幕截图,检测并分类按钮、图标、文本框等元素。
    • 示例:对象检测模型可以定位GUI元素,即使布局发生变化 [91]。
  2. OCR(光学字符识别)

    • OCR可以从图像中提取文本,使自动化系统能够准确解释标签、错误消息和表单说明 [109]。
  3. 鲁棒性提升

    • CV技术让GUI自动化工具能够适应动态布局和设计变动,在现代环境中表现出更高的弹性和适应性 [106]–[108]。

4. 当前方法的局限性

尽管传统GUI自动化方法取得了长足进展,但面对现代界面的复杂性和多样性,仍存在以下局限:

  1. 动态和自适应元素

    • 现代应用程序中的动态内容和自适应布局难以用僵硬的脚本或规则进行自动化 [110][111]。
  2. 缺乏上下文感知

    • 传统工具无法处理屏幕文本的语义信息、用户意图或视觉线索的解释 [112]。
  3. 灵活性不足

    • 静态脚本或基于规则的方法无法应对实时变化和复杂的用户请求。

5. LLM在GUI自动化中的潜力

大型语言模型(LLMs)为克服这些局限提供了有前景的解决方案:

  1. 自然语言理解与上下文处理

    • LLMs具备理解自然语言指令、解释上下文并生成适应性脚本的能力,使自动化更智能、更灵活 [113]。
  2. 生成动态脚本

    • LLMs能够根据当前界面状态实时生成脚本,而无需事先定义规则或脚本 [114]。
  3. 适应复杂界面

    • 通过整合LLMs与GUI智能体,这些系统可以实时响应用户请求,灵活处理复杂的动态界面,并提供高度用户中心化的自动化体验。

4 LLM驱动的GUI智能体的演化与进展

俗话说,“罗马不是一天建成的”。LLM驱动的GUI智能体的发展是一段渐进的旅程,其根基建立在数十年的研究和技术进步之上。从最初的简单GUI测试脚本和基于规则的自动化框架开始,该领域通过机器学习技术的融入,逐步演变为更加智能和适应性强的系统。

特别是大型语言模型(LLMs),尤其是多模态模型的引入,彻底改变了GUI自动化的面貌,使得自然语言交互成为可能,并从根本上重新定义了用户与软件应用程序的交互方式。

正如图3所示,在2023年之前和LLMs出现之前,GUI智能体的工作在范围和能力上都较为有限。然而,自那时起,基于LLM的方法的普及推动了在Web、移动端和桌面环境等多个平台上的显著发展。这一浪潮仍在继续,为该领域带来持续的创新。

本节将带您回顾GUI智能体的演化历程,着重介绍将这一领域推向当前状态的关键里程碑。

4.1 早期自动化系统

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

4.1.1 基于随机的自动化

基于随机的自动化通过在GUI中执行随机操作序列,而不依赖特定算法或结构化模型(通常称为“猴子测试”)[115]。这种方法被广泛用于GUI测试,以通过不可预测的输入序列发现潜在问题 [116]。

  • 优点:能够有效发现边界情况和隐藏的Bug。
  • 缺点:由于包含大量冗余或无关的尝试,效率往往较低。

4.1.2 基于规则的自动化

基于规则的自动化通过应用预定义的规则和逻辑来自动化任务。

  • 关键进展
    • 2001年,Memon等人 [117] 提出了一个规划方法,通过一系列预定义的操作将初始状态转化为目标状态,从而生成GUI测试用例。
    • 2011年,Hellmann等人 [4] 在探索性测试中展示了基于规则方法的潜力,提升了Bug检测能力。
    • 2020年,在RPA领域,SmartRPA [118] 使用基于规则的处理来自动化日常任务,展示了规则在简化结构化流程中的实用性。

优点:适用于结构化和可预测的任务流程。
缺点:难以适应现代GUI中的动态变化和复杂交互。

4.1.3 基于脚本的自动化

基于脚本的自动化依赖详细的脚本来管理GUI交互。

  • 关键工具与进展
    • jRapture [5] (2000):记录并重放基于Java的GUI操作序列,使用Java二进制文件和JVM精确重现输入序列,实现一致的执行。
    • DART [119] (2003):自动化GUI测试生命周期,从结构分析到测试用例生成和执行,提供了一个全面的回归测试框架。

优点:可重复性强,适合回归测试。
缺点:脚本高度依赖特定的GUI结构,当GUI发生变化时,脚本需要频繁更新,维护成本高。

4.1.4 工具与软件

在这一时期,开发了许多用于GUI测试和业务流程自动化的软件工具。

  • Microsoft Power Automate [120] (2019):提供了一个低代码/无代码环境,用于在Microsoft应用程序中创建自动化工作流。
  • Selenium [121] (2004):支持跨浏览器的Web测试,是一种广泛使用的Web自动化工具。
  • Appium [122] (2012):专注于移动端用户界面(UI)的自动化。
  • 商业化工具:
    • TestComplete [123] (1999):支持跨平台的自动化测试工具。
    • Katalon Studio [124] (2015):提供简单易用的界面,适用于自动化测试的多种场景。
    • Ranorex [125] (2007):允许用户创建支持跨平台的自动化测试用例。

局限性与贡献

尽管这些早期系统在自动化特定、预定义的工作流方面表现出色,但它们的灵活性较差,通常需要手动编写脚本或依赖规则逻辑。然而,这些工具为GUI自动化奠定了基础,为后续更智能的自动化系统的开发提供了起点。 

4.2 向智能化代理的转变

将机器学习引入GUI任务标志着向更加灵活和强大的GUI智能体的重要转变。这一阶段的早期里程碑包括在GUI任务中应用机器学习、自然语言处理、计算机视觉和强化学习等技术。

4.2.1 机器学习与计算机视觉

关键系统与进展:
  1. RoScript [98] (2020):
    • 一个开创性的系统,提出了非侵入式的触屏应用机器人测试方法,将GUI自动化扩展到了多种平台。
  2. AppFlow [126] (2018):
    • 利用机器学习识别常见的屏幕和UI组件,从而为广泛的应用类别实现模块化测试。
  3. Humanoid [127] (2019):
    • 基于Android系统的人机交互痕迹训练深度神经网络模型,学习用户如何根据应用程序的GUI选择操作。
    • 该模型用于指导测试输入的生成,提升测试覆盖率并模拟更接近人类的交互模式。
计算机视觉的进步:
  1. Deep GUI [128] (2021):
    • 应用深度学习技术过滤掉屏幕中无关的部分,从而在GUI测试中增强黑盒测试的效果,专注于重要元素。
  2. 控件检测(Widget Detection) [91] (2019):
    • 利用计算机视觉精确识别UI元素,例如按钮、文本框和菜单。
    • 这种方法通过检测和分类界面组件,提升了智能体在复杂和动态GUI中进行有效交互的能力 [129]。

4.2.2 自然语言处理

自然语言处理(NLP)的能力为GUI自动化引入了新的维度。像 RUSS [130] (2021) 和 FLIN [131] (2020) 这样的系统,允许用户通过自然语言命令控制GUI,实现了人类语言与机器操作之间的桥梁。

2020年的相关数据集 [132] 进一步推动了该领域的发展,这些数据集将自然语言指令映射到移动界面(UI)操作中,拓展了GUI控制的应用范围。然而,这些方法的局限性在于它们只能处理简单的自然语言命令,无法应对长期任务的管理。

4.2.3 强化学习

环境如 World of Bits (WoB) [133] (2017) 的开发,使得基于Web的智能体可以利用强化学习(Reinforcement Learning, RL)进行训练。Workflow-guided exploration [134] (2018) 改进了RL的效率和任务性能。

DQT [135] (2024) 将深度强化学习应用于Android GUI测试,通过保留控件结构和语义,实现了自动化测试。同时,AndroidEnv [136] (2021) 提供了用于智能体训练的现实模拟环境,专注于Android系统。WebShop [137] (2022) 展现了大规模Web交互的潜力,强调了RL驱动的GUI自动化日益复杂的能力。

优点与局限性

  • 优点:这些基于机器学习的方法比早期基于规则的系统 [138][139] 更具适应性。
  • 局限性
    • 在处理多样化和不可预见任务方面仍存在困难。
    • 对预定义工作流的依赖限制了其泛化能力。
    • 需要针对新环境重新训练或定制。
    • 对自然语言控制的支持仍然有限。

这些方法尽管在灵活性和性能上有所提升,但距离真正的智能化和通用性仍有改进空间。

4.3 LLM驱动GUI智能体的崛起

大型语言模型(LLMs),特别是多模态模型(如GPT-4o [81] (2023)),的引入彻底改变了GUI自动化,使得通过自然语言实现直观交互成为可能。与过去需要多个独立模块集成的方法不同,LLMs为GUI自动化提供了端到端的解决方案,具备自然语言理解、视觉识别和推理等高级能力。

LLMs为GUI智能体带来了以下独特优势:

  1. 自然语言理解。
  2. 多模态处理能力。
  3. 规划和推理能力。
  4. 对任务的泛化能力。

这些特性使LLMs和GUI智能体的结合成为强大的解决方案。尽管早期已经有一些探索,2023年是LLM驱动GUI智能体的关键节点,在Web、移动端和桌面应用等多个平台上实现了重要突破。

4.3.1 Web领域

LLMs最早在Web领域的GUI自动化中得到应用,早期研究建立了基准数据集和测试环境 [133][137]。

  • 重要里程碑
    • WebAgent [140] (2023):与WebGUM [141] (2023) 一起,率先使用LLMs实现了真实世界的Web导航。
  • 影响:这些进展为后续研究铺平了道路,利用更专业化的LLMs进一步提升了基于Web的交互体验 [16][142][143]。

4.3.2 移动设备

LLMs在移动设备中的整合始于 AutoDroid [144] (2023),该系统结合了LLMs和领域知识,实现了智能手机自动化。

  • 其他贡献
    • MM-Navigator [145] (2023):改进了手机应用程序的控制能力。
    • AppAgent [17] (2023):提供了更精细的智能手机自动化功能。
    • Mobile-Agent [146] (2023):进一步优化了移动端的GUI控制。
  • 研究进展:通过模型微调,研究在2024年继续提高移动GUI自动化的精确度 [147][148]。

4.3.3 计算机系统

在桌面应用领域,UFO [18] (2024) 是最早利用具有视觉能力的GPT-4实现Windows环境下用户命令执行的系统之一。

  • 扩展应用
    • Cradle [149] (2024):将这些能力扩展到软件应用和游戏领域。
    • Wu等人 [150] (2024):实现了跨多种桌面应用的交互,包括Web浏览器、代码终端和多媒体工具。

4.3.4 行业内的模型

在工业领域,Claude 3.5 Sonnet模型 [151] (2024) 引入了一项“计算机使用”(computer use)功能,可以通过UI操作与桌面环境进行交互 [152]。这表明LLM驱动的GUI智能体作为一种有价值的技术应用,正受到行业的广泛认可,越来越多的利益相关者正在投资这一领域。

毫无疑问,LLMs为GUI智能体带来了全新的范式,通过实现此前无法达到的智能化水平,彻底变革了这一领域。随着这一领域的持续发展,我们预计将迎来一波商业化浪潮,从根本上改变用户与GUI应用程序的交互方式。

4.3.5 GUI智能体与基于API的智能体

在数字环境中运行的LLM驱动智能体,其操作空间可以分为两种主要类型:

  1. GUI智能体(GUI Agents):主要依赖于GUI操作(如点击、按键)完成任务。
  2. 基于API的智能体(API-Based Agents):利用系统或应用程序的原生API完成目标。

每种类型都有其独特的优势,深入理解这些方法对于设计高效的智能体至关重要。具体操作空间的细节将在第5.5节中讨论。

GUI智能体的特点
  • 优点
    • 提供了一种通用的控制接口,可以通过相同的操作原语(如点击、输入)跨多种应用程序运行。
    • 高度的通用性使得GUI智能体能够与各种软件环境交互,而无需针对特定应用程序进行适配。
  • 缺点
    • GUI交互的复杂性较高,即使是简单任务也可能需要多个顺序步骤。
    • 复杂的多步工作流会增加智能体的决策成本以及计算资源的消耗。
基于API智能体的特点
  • 优点
    • 提供更高效、更直接的任务完成方式,通常通过一个精确的API调用即可实现目标。
    • 显著减少了执行时间和任务复杂性。
  • 缺点
    • 原生API通常是私有的或特定于某些应用程序,导致其可访问性和通用性受到限制。
    • 在没有API支持的场景下,基于API的智能体难以适应。
混合方法

最有效的数字智能体可能采用一种混合方式,结合两种方法的优势:

  • 在需要广泛兼容性时利用GUI操作。
  • 在可用的情况下利用原生API来最大化效率和效果。

这种混合型智能体在通用性和任务优化之间实现了平衡,因此成为本综述的一个关键研究方向。

5 LLM驱动的GUI智能体:基础与设计

本质上,LLM驱动的GUI智能体旨在处理用户通过自然语言提供的指令或请求,解释GUI的当前状态(通过截图或UI元素树),并执行模拟人类交互的操作,适用于各种软件界面 [18]。这些智能体利用LLMs在自然语言理解、推理和生成方面的先进能力,准确理解用户意图,评估GUI上下文,并能够在多种环境中自主操作应用程序,从而完成复杂的多步骤任务。这种整合使得智能体能够无缝解释并响应用户请求,为GUI自动化带来适应性和智能化。

作为LLM智能体的一种特定类型,大多数当前的GUI智能体采用了类似的基础框架,集成了核心组件,如规划、记忆、工具使用以及多智能体协作等高级增强功能 [46]。然而,每个组件都需要根据GUI智能体的特定目标进行定制,以确保其在各种应用环境中的适应性和功能性。

接下来的章节将对每个组件进行深入概述,提供从零开始构建一个LLM驱动的GUI智能体的实用指南和教程。这一详细的分解相当于一本“配方书”,旨在帮助创建高效且智能的GUI自动化系统,充分利用LLMs的能力。

5.1 架构与工作流程概述

图4展示了LLM驱动GUI智能体的架构,说明了从用户输入到任务完成的操作序列。该架构由多个集成组件组成,各组件共同作用,使智能体能够基于用户提供的自然语言指令进行解释和执行任务。接收到用户请求后,智能体遵循系统化的工作流程,包括环境感知、提示设计(Prompt Engineering)、模型推理、动作执行,以及任务完成前的持续记忆使用。

组件概述:

1. 操作环境(Operating Environment)
  • 定义:环境决定了智能体的运行上下文,涵盖移动设备、Web浏览器和桌面操作系统(如Windows)。
  • 环境感知:智能体通过截图、控件树(Widget Tree)或其他捕获UI结构的方法感知环境的当前状态 [153]。
  • 实时调整:智能体持续监控每个动作的反馈,根据反馈动态调整策略,以确保任务顺利推进。
2. 提示设计(Prompt Engineering)
  • 步骤:在感知环境后,智能体构建详细的提示以指导LLM进行推理 [154]。
  • 提示内容:提示包含用户指令、处理过的视觉数据(如截图)、UI元素布局及属性,以及与任务相关的上下文信息。
  • 目的:通过结构化输入,最大化LLM生成与当前GUI状态一致的连贯、上下文感知的响应能力。
3. 模型推理(Model Inference)
  • 过程:构建好的提示被传递给LLM(智能体的推理核心),生成完成用户请求所需的一系列计划、动作和洞见。
  • 模型选择
    • 通用LLM:适合大范围任务。
    • 专用LLM:经过GUI特定数据的微调,能够更细致地理解GUI交互、用户流程和任务需求。
4. 动作执行(Actions Execution)
  • 执行逻辑:根据模型的推理结果,智能体识别需要执行的具体动作,例如鼠标点击、键盘输入、触屏手势或API调用 [13]。
  • 执行器:智能体内的执行器将高层次的指令翻译为具体的可执行命令,直接作用于GUI,模拟人类在多种应用和设备上的交互。
5. 记忆(Memory)
  • 内部记忆
    • 追踪多步骤任务的先前动作、任务进度和环境状态 [51]。
    • 保证复杂工作流中的连贯性,使智能体能够参考之前的步骤并动态调整行为。
  • 外部记忆(可选)
    • 提供持续学习功能,访问外部知识,增强智能体适应新环境或新需求的能力。

通过迭代式地遍历这些阶段并组装基础组件,LLM驱动的GUI代理能够智能地运行,灵活适应各种软件界面,在基于语言的指令和具体操作之间架起桥梁。每个组件对于代理的鲁棒性、响应能力以及在动态环境中处理复杂任务的能力都至关重要。在接下来的小节中,我们将详细介绍这些组件的设计和核心技术,为从零构建LLM驱动的GUI代理提供一份全面指南。 

5.2 操作环境

LLM驱动的GUI智能体可以在多种平台上运行,包括移动端、Web应用程序和桌面操作系统。这些平台为智能体与图形界面交互提供了不同的特点和挑战,影响着智能体感知、解释和执行任务的方式。图5展示了每个平台的GUI示例。本节将详细介绍各个平台的特性、智能体如何收集环境信息,以及适应多样化操作环境时面临的挑战。

5.2.1 平台

GUI智能体可以与多种平台交互,包括移动设备、Web应用程序和计算机操作系统(如Windows)。每个平台在GUI自动化中都有其独特的能力和限制,智能体需要调整其感知和交互策略以适应。

1) 移动平台
  • 特点
    • 屏幕空间有限,主要依赖触控交互 [155]。
    • 应用架构多样化(如原生应用与混合应用)。
  • 技术支持
    • 移动平台通常提供辅助功能框架,如Android的Accessibility API [156] 和iOS的VoiceOver Accessibility Inspector,用于暴露UI元素的结构化信息。
  • 挑战
    • 手势识别:需要处理复杂的触控手势(如滑动、缩放)[157]。
    • 应用导航:管理不同页面之间的导航 [158]。
    • 平台特定约束:包括安全和隐私权限 [159][160]。
2) Web平台
  • 特点
    • 提供相对标准化的界面,通常通过HTML和DOM(文档对象模型)结构访问 [161][162]。
  • 技术支持
    • GUI智能体可以利用HTML属性(如元素ID、类名、标签名)识别交互组件。
  • 挑战
    • 动态内容:处理不断变化的内容(如AJAX请求)[163]。
    • 响应式布局:适应不同屏幕大小的界面。
    • 异步更新:需要持续评估DOM结构,并根据界面变化调整操作。
3) 计算机平台
  • 特点
    • 提供对GUI交互的全面控制(如Windows操作系统)。
  • 技术支持
    • 使用系统级自动化API(如Windows的UI Automation [31])获取UI元素的详细数据(包括类型、标签、位置和边界框)。
    • 支持更广泛的交互类型,如鼠标、键盘操作,以及复杂的多窗口任务。
  • 挑战
    • 需要在简单界面和复杂多层软件套件之间进行适配。
    • 管理复杂的工作流,例如跨多个窗口或应用程序的操作。

移动端、Web端和桌面端的多样化平台为GUI智能体提供了广泛的自动化能力,使其成为适用于统一框架的通用解决方案。然而,每个平台在系统级和应用级都存在独特的特性和限制,这要求智能体在集成时采用针对性的设计策略。通过考虑这些平台特定的特性,GUI智能体可以被优化以满足每个环境的独特需求,从而在不同的自动化场景中增强其适应性和可靠性。

5.2.2 环境状态感知

准确感知环境的当前状态对于LLM驱动的GUI智能体至关重要,因为这直接影响其决策和行动规划过程。这种感知通过收集结构化数据(如控件树)和非结构化数据(如截图)来实现,从而全面捕获界面及其组件的表示。表3列出了可用于不同平台GUI环境数据收集的主要工具包,以下详细讨论了它们的作用:

1. GUI截图

  • 功能

    • 截图提供了应用程序的视觉快照,捕获了给定时刻GUI的完整状态。
    • 它们为智能体提供了布局、设计和视觉内容的参考,尤其是在UI元素的结构化细节有限或不可用时。
    • 智能体可以直接从截图中分析图标、图像和其他图形线索,这些内容可能包含重要的上下文信息。
  • 技术支持

    • 各个平台通常内置截图工具(如Windows的截图工具、macOS的截图工具和Android的MediaProjection API)。
    • 截图可以通过添加注释(如关键UI组件周围的标记集 [164] 或边界框 [165])进一步增强,以简化智能体的决策。
  • 示例

    • 图6展示了VS Code GUI的各种截图,包括干净版本和带有标记集与边界框的版本,这些标记帮助智能体聚焦于界面中最关键的区域。

2. 控件树(Widget Trees)

  • 功能

    • 控件树提供了界面元素的分层视图,展示了组件之间的布局和关系 [166]。
    • 通过访问控件树,智能体可以识别元素的属性(如类型、标签、角色和关系),这些信息对于上下文理解至关重要。
  • 技术支持

    • 桌面应用:工具如Windows的UI Automation和macOS的Accessibility API 提供结构化视图。
    • 移动与Web平台:Android的Accessibility API和HTML DOM结构提供类似功能。
  • 作用

    • 分层数据对于智能体规划逻辑交互至关重要,使其能够基于UI结构做出明智选择。
    • 图7展示了一个GUI及其对应的控件树示例。

3. UI元素属性

  • 功能

    • 每个UI元素都包含特定属性,例如控件类型、标签文本、位置和边界框尺寸。
    • 这些属性帮助智能体准确定位目标组件。
  • 技术支持

    • Web应用:通过DOM属性(如id、class、name)和CSS样式提供上下文和控制信息。
    • 桌面应用:如Windows UI Automation API提取的UI元素属性。
  • 作用

    • 属性使智能体能够理解空间关系(如相邻元素)和功能用途(如区分按钮与文本框)。
    • 图8展示了通过Windows UI Automation API提取的UI元素属性示例,这些属性支持智能体决策。

4. 辅助计算机视觉方法

  • 功能

    • 当结构化信息不完整或不可用时,计算机视觉(CV)技术可以提供额外洞见 [167]。
  • 关键技术

    • OCR(光学字符识别):直接从截图中提取文本内容,用于读取标签、错误消息和指令 [109]。
    • 高级对象检测模型
      • SAM(Segment Anything Model) [168]、DINO [169] 和OmniParser [170],可在各种布局中识别和分类UI组件。
    • 这些技术确保智能体在标准UI API不足的情况下仍能高效运作。
  • 示例

    • 图9展示了利用计算机视觉技术补充结构化信息的示例。
    • 更详细的计算机视觉方法将在第5.7.1节中讨论。

这些元素共同构成了对GUI环境当前状态的全面、多模态表示,涵盖了结构化数据和视觉数据。通过将这些信息整合到提示构建中,智能体能够做出信息充分且具有上下文意识的决策,同时避免遗漏关键的环境线索。

5.2.3 环境反馈

有效的反馈机制对于GUI智能体至关重要,它能够帮助智能体评估每个操作的成功与否,并为后续步骤提供信息支持。反馈的形式因平台和交互类型的不同而有所变化。图10展示了从环境中获取的各种反馈类型的示例。

1) 截图更新

  • 方法
    • 通过比较操作前后的截图,智能体可以识别出应用程序状态变化所带来的视觉差异。
  • 功能
    • 截图分析能够揭示界面中的细微变化,例如通知的弹出、视觉提示的出现或确认消息的显示,这些变化可能无法通过结构化数据捕获 [171]。

2) UI结构变化

  • 方法
    • 执行操作后,智能体可以检测控件树结构的变化,例如元素的出现或消失、元素属性的更新,或层级结构的调整 [172]。
  • 功能
    • 这些变化表明交互的成功(如打开下拉菜单或点击按钮),并帮助智能体根据更新后的环境状态确定下一步动作。

3) 函数返回值与异常

  • 方法
    • 某些平台通过函数返回值或系统生成的异常为操作结果提供直接反馈 [173]。
    • 例如:
      • Web平台上的API响应或JavaScript返回值可以确认操作的成功。
      • 异常或错误代码可以指示交互失败,并引导智能体重新尝试或选择替代方法。
  • 功能
    • 这些反馈帮助智能体快速判断操作是否成功,并采取适当的补救措施。

环境反馈的重要性

环境提供的反馈对于GUI智能体评估其操作结果至关重要。这些实时信息可以让智能体判断干预的有效性,并决定是继续执行初始计划还是调整策略。通过这一自我反思过程,智能体能够适应动态多变的应用环境,优化任务执行,并提升整体性能。

5.3 提示设计(Prompt Engineering)

在LLM驱动的GUI智能体操作中,构建有效的提示(prompt)是一个关键步骤,它汇总了所有必要信息,使智能体能够生成适当的响应并成功执行任务 [154]。在从环境中收集相关数据后,智能体会制定一个全面的提示,将各种对LLM推理至关重要的组件结合起来。每个组件都具有特定的作用,它们共同使智能体能够高效地执行用户的请求。图11展示了一个LLM驱动GUI智能体中提示设计的基本示例。以下是提示的关键要素总结:

1) 用户请求(User Request)

  • 作用:这是用户提供的原始任务描述,概述了目标和期望的结果。
  • 意义:用户请求是智能体行动的基础,确保LLM能够理解任务的上下文和范围。

2) 智能体指令(Agent Instruction)

  • 作用:为智能体的操作提供指导,包括角色定义、遵循的规则和具体目标。
  • 内容
    • 详细说明智能体将接收的输入。
    • 明确LLM预期生成的输出。
  • 意义:建立推理过程的框架,确保操作有条不紊。

3) 环境状态(Environment States)

  • 作用:智能体包含从环境中感知到的GUI截图和UI信息(参见5.2.2)。
  • 内容
    • 多模态数据,包括不同版本的截图(如干净版本和带注释的版本)。
    • 注释可能包括关键控件的标记(如SoM标注)以增强决策的准确性。
  • 意义:提供界面的全面表示,有助于精确决策。

4) 动作文档(Action Documents)

  • 作用:列出智能体可执行的操作,提供相关文档、函数名称、参数和返回值等详细信息。
  • 意义:为LLM提供足够的上下文,使其能够选择并生成适当的操作来完成任务。

5) 示例对(Demonstrated Examples)

  • 作用:包括示例输入/输出对,以激活LLM的上下文学习(in-context learning)能力 [85]。
  • 意义:帮助模型理解和概括任务需求,提升其在执行GUI智能体任务时的性能。

6) 补充信息(Complementary Information)

  • 作用:包括有助于规划和推理的额外上下文。
  • 内容
    • 从智能体记忆中检索的历史数据(参见5.6)。
    • 外部知识源(如通过检索增强生成(RAG)方法获取的文档) [174][175]。
  • 意义:提供有价值的补充信息,进一步优化智能体的决策过程。

提示设计的重要性

构建有效的提示是LLM驱动GUI智能体性能的基础。通过系统性地整合上述信息,智能体确保LLM拥有必要的上下文和指导,以准确、高效地执行任务。提示设计不仅决定了智能体的整体表现,还影响了其在复杂、多变环境中的适应能力。

5.4 模型推理

构建好的提示被提交给LLM进行推理,LLM负责生成任务计划和完成用户请求所需的具体动作。推理过程至关重要,因为它决定了GUI智能体在动态环境中的表现效果。推理通常包括两个主要部分:规划动作推理,并生成补充输出。图12展示了LLM推理输出的一个示例。

                  

1. 规划的重要性

  • 任务特点:GUI任务的成功执行通常需要一系列连续动作,这要求智能体进行有效的规划 [176]。
  • 类比:类似于人类的认知过程,深思熟虑的规划对于组织任务、安排行动和确保任务顺利完成至关重要 [50][177]。
  • 目标层次
    • LLM需要同时专注于长期目标的构思和短期行动的执行,以推动实现最终目标 [178]。

2. 分解任务

为了有效应对多步骤任务的复杂性,智能体需要:

  • 任务分解
    • 将总体任务拆解为可管理的子任务,并为每个子任务设定执行时间表 [179]。
  • 技术支持
    • 使用链式推理(CoT) [88] 技术,LLM能够开发结构化计划,指导后续动作的执行。
    • 这些计划可以存储起来,供未来推理步骤参考,从而提高智能体活动的组织性和聚焦性。

3. 规划的层次

  • 规划粒度
    • 根据任务的性质和智能体的角色,规划的细化程度可能有所不同 [50]。
  • 复杂任务的解决方案
    • 采用分层规划
      • 全局规划:确定宏观的子目标。
      • 局部规划:定义实现子目标的详细步骤。
    • 这种分层方法显著提升了智能体有效管理长期目标的能力 [180]。

5.4.2 动作推理

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

  • 动作选择机制
    • 输入的提示需要包含一个预定义的动作集合供智能体选择。
    • 智能体可以从此集合中选择动作,或者在允许的情况下生成自定义代码或API调用与环境交互 [149]。
  • 灵活性与风险
    • 这种灵活性可以增强智能体适应不可预见情况的能力。
    • 然而,它也可能引入可靠性问题,因为生成的代码可能存在错误。

5.4.3 补充输出

除了规划和动作推理之外,LLM还可以生成增强智能体能力的补充输出。这些输出可能包括以下内容:

  1. 推理过程:例如,链式推理(CoT reasoning),以澄清智能体的决策过程。
  2. 用户交互信息:如向用户提供解释、反馈或请求更多信息。
  3. 智能体间通信:用于与其他智能体或系统协作。
  4. 任务状态:例如通知任务是否继续或已完成。

这些功能的设计可以根据特定需求进行定制,从而丰富GUI智能体的整体性能。

5.5 动作执行

在推理过程之后,GUI智能体需要在GUI环境中执行从推理结果中得出的动作,并收集相应的反馈。尽管“GUI智能体”一词似乎仅专注于用户界面操作,但通过引入各种工具箱可以显著扩展其动作范围,从而提升智能体的多功能性。总体而言,GUI智能体可用的动作分为三大类:

  1. 用户界面操作(UI operations) [132]
  2. 原生API调用(native API calls) [183]
  3. AI工具(AI tools) [184]

每个类别都具有独特的优势和挑战,使智能体能够更高效地处理各种任务。表4对这些动作进行了分类总结,以下是每个类别的详细说明:


5.5.1 用户界面操作(UI Operations)

定义

UI操作指的是用户通常在软件应用的图形用户界面(GUI)中执行的基本交互。这些操作包括多种输入形式:

  • 鼠标操作:点击、拖动、悬停。
  • 键盘操作:按键输入、组合键。
  • 触控操作:点击、滑动。
  • 手势操作:捏合、旋转。
特点
  • 跨平台兼容性:UI操作基于标准的用户界面元素和交互方式,因此能够在各种应用程序中广泛适用。
  • 环境适配:具体操作可能因平台和应用而异,需要针对每个环境进行定制化处理。
局限性
  • 操作速度较慢
    • UI操作的顺序性使得任务执行需要逐步完成。
    • 对于包含大量交互的复杂工作流,可能会导致较高的延迟。
  • 必要性
    • 尽管速度较慢,UI操作是智能体与GUI交互的基础,尤其是在其他方式不可用时。

5.5.2 原生API调用

与UI操作相比,一些应用程序提供原生API,允许GUI智能体以更高效的方式执行操作。这些API直接访问应用程序内的特定功能,使智能体能够通过单一命令完成复杂任务 [185]。
例如,调用Outlook API可以让智能体通过一次操作发送邮件,而使用UI操作则需要多步操作,如导航菜单和填写表单 [186]。

  • 优点

    • 高效率:原生API能显著提高操作执行的速度和可靠性。
    • 任务简化:通过直接调用API,智能体可以跳过复杂的UI交互。
  • 局限性

    • 可用性受限:并非所有应用或平台都开放API供外部使用。
    • 开发成本:开发和维护这些接口可能需要大量的资源和专业知识。

尽管如此,原生API为高效完成任务提供了强大的手段,但与UI操作相比,其通用性较低,适用范围有限。

5.5.3 AI工具

将AI工具集成到GUI智能体中代表了其能力的重大突破。这些工具可以辅助完成广泛的任务,包括:

  • 内容摘要:从截图或文本中提取关键信息。
  • 文档优化:改进文档内容和格式。
  • 图像或视频生成:调用生成式AI工具(如ChatGPT [11] 和 DALL·E [182])创建内容。
  • 协作支持:调用其他智能体或Copilot工具实现协同工作。
优势
  1. 应对复杂挑战:生成式AI技术的快速发展使智能体能够解决以往无法处理的复杂问题。
  2. 功能扩展
    • 例如,智能体可以使用AI摘要工具快速提取冗长文档的关键信息。
    • 也可以通过图像生成工具为用户的演示文稿创建自定义视觉内容。
  3. 效率提升:这类集成不仅简化了工作流,还能在传统方法所需时间的一小部分内交付高质量成果。

5.5.4 总结

一个先进的GUI智能体应能灵活运用三种类型的操作:

  1. UI操作:提供广泛的兼容性。
  2. 原生API调用:用于高效执行操作。
  3. AI工具:增强智能体的功能和性能。

通过这种多层次的方法,智能体能够在各种应用场景中可靠运行,同时最大限度地提高效率和效果。通过熟练地使用这些操作类型,GUI智能体可以更高效地满足用户需求,最终提供更加流畅且高效的用户体验。

5.6 记忆

为了在复杂的多步骤任务中实现稳健性能,GUI智能体必须具有记忆功能,从而能够在原本无状态的环境中管理状态。记忆使智能体能够跟踪其之前的操作、结果和任务的整体状态,这对于后续步骤的明智决策至关重要 [187]。通过建立连续性,记忆将智能体从一个被动的系统转变为一个主动的、有状态的系统,能够基于积累的知识自我调整。

智能体的记忆通常分为两种主要类型:短期记忆(Short-Term Memory, STM) [188] 和 长期记忆(Long-Term Memory, LTM) [189]。表5概述了GUI智能体中不同类型记忆的特性。

5.6.1 短期记忆(STM)

定义
  • 短期记忆为LLM在运行时提供主要的临时上下文 [190]。
  • 它存储与当前任务相关的信息,例如最近的计划、动作、结果和环境状态,并随着任务进展持续更新。
作用
  • 多步骤任务支持:在多步骤任务中,STM尤为重要,每个决策都依赖于前一个步骤,因此需要智能体对任务的轨迹有清晰的理解。
  • 示例
    • 图13显示了在完成独立任务时,任务轨迹(包括动作和计划)存储在STM中。这使得智能体能够有效地跟踪任务进展并做出更明智的决策。
局限性
  • 上下文窗口限制:STM受限于LLM的上下文窗口,限制了可以携带的信息量。
  • 管理策略
    • 智能体可以使用选择性记忆管理策略,例如丢弃或总结不相关的细节,以优先保存最重要的信息。

尽管大小有限,STM对于确保连贯、上下文感知的交互以及支持智能体执行复杂工作流至关重要。


5.6.2 长期记忆(LTM)

定义
  • 长期记忆是一个外部存储库,用于存储超越即时运行时间的上下文信息 [191]。
  • 与STM不同,LTM是持久的,保存历史任务数据,包括已完成任务、成功的动作序列、上下文提示和学到的见解。
作用
  • 信息存储

    • LTM可以存储在磁盘或数据库中,能够保留比LLM上下文窗口内更大的信息量。
    • 示例:如图13所示,当第二个任务请求下载与之前任务相关的游戏时,智能体从LTM中检索相关信息,从而准确识别正确的游戏并高效完成任务。
  • 自我改进

    • LTM通过保存成功任务轨迹、操作指南和常见交互模式,促进智能体随着时间推移自我改进。
    • 在处理新任务时,智能体可以利用检索增强生成(RAG) 技术获取相关的历史数据,从而基于过去的成功优化策略。
优势
  • 经验学习:LTM使智能体能够“学习”经验,随着会话的增加积累洞察力,从而以更高的准确性和效率完成任务。
  • 个性化:通过保留关于先前任务的信息,LTM能够实现更好的个性化。
示例
  • [192] 提供了一个使用存储在记忆中的过去任务轨迹来指导和增强未来决策的示例,这种技术对于GUI智能体高度适用。

5.7 高级增强功能

尽管大多数LLM驱动的GUI智能体已经包含了诸如感知、规划、动作执行和记忆等基本组件,但一些高级技术的引入显著提升了这些智能体的推理能力和整体性能。本节概述了研究中广泛采用的先进技术,以指导更专业、更强大的LLM驱动GUI智能体的发展。

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

背景

尽管各种工具(参见第3节)可以让GUI智能体访问控件位置、标题和属性等信息,但某些非标准GUI或控件可能不符合这些工具的协议 [193],导致信息无法访问。此外,由于权限管理的限制,这些工具并不总是可用。这种信息不完整性会给GUI智能体带来重大挑战,例如智能体可能需要通过估算控件的坐标来定位和交互,这在没有精确GUI数据时难度较大。

计算机视觉的应用

计算机视觉(CV)模型为从截图中直接解析GUI提供了一种非侵入性解决方案。这些模型可以实现控件的检测定位分割,甚至功能估计 [91][194]-[196]。这一方法使得智能体无需依赖系统级工具或内部元数据即可解析界面的视觉结构和元素,从而:

  • 基于视觉线索理解交互组件。
  • 识别屏幕布局。
  • 分析控件功能。
示例
  • 图9展示了CV解析的工作方式:
    • 标准API捕获了预定义的控件,而CV模型还能识别如缩略图和画布等未明确由API表示的元素。
    • OmniParser [170] 是一个代表性案例,它采用多阶段解析技术:
      • 细调模型检测可交互的图标。
      • OCR模块提取文本。
      • 图标描述模型生成每个UI元素的局部语义描述。
    • 这种综合解析策略极大提升了智能体对交互区域和功能元素的理解。
意义

基于CV的GUI解析层为智能体提供了关键的基础信息,显著增强了其在不同GUI中的交互能力,尤其是处理偏离典型规范的自定义或非标准控件时。


5.7.2 多智能体框架

背景

“集思广益”在GUI自动化任务中尤为适用。单个智能体虽然功能强大,但在多智能体框架中可以得到显著增强 [198][199]。多智能体系统通过结合多智能体的集体智慧专业技能互补优势,比单一智能体更有效地解决复杂任务。

关键机制
  1. 智能体专业化

    • 每个智能体在多智能体框架中专注于特定角色或功能,以其独特能力为整体任务做贡献。

    • 示例(图14):

      • “文档提取器”:从本地文档(如PDF)中提取相关内容。
      • “网络检索器”:从在线资源中获取补充信息。
      • “设计师”:将获取的信息转化为视觉效果良好的幻灯片。
      • “评估者”:提供反馈以优化输出。
    • 效果:这种功能分离使每个智能体在其指定任务中高度精通,从而提高效率和结果质量 [200]。

  2. 智能体协作

    • 图14中展示的多智能体系统通过动态协作处理复杂任务。
    • 工作流
      1. “文档提取器”和“网络检索器”并行工作,分别从本地和在线来源收集信息。
      2. 收集的数据被传递给“设计师”,设计师将其整合成一致的幻灯片。
      3. “评估者”审查输出,并提供改进反馈。
    • 人类团队动态
      • 智能体共享信息、交换上下文并协调操作,体现了类似人类团队的合作动态。
      • 各智能体输出依次连接到下一阶段,形成现实世界协作环境中的精简工作流。

5.7.3 自我反思

“承认错误就等于改正了一半。”在GUI多智能体系统中,自我反思指智能体通过内省评估其推理、动作和决策的能力 [201]。这种能力使智能体能够发现潜在错误、调整策略并优化操作,从而提高其决策的质量和鲁棒性,特别是在复杂或不熟悉的GUI环境中。通过定期评估自身表现,自我反思型智能体能够动态适应并产生更准确、更高效的结果 [202]。


1. 自我反思的必要性

GUI智能体需要自我反思的原因包括:

  • 界面的多变性:用户界面具有动态变化的特性。
  • 潜在错误:即使在人类操作中,也可能出现错误,例如:
    • 点击错误按钮。
    • 遇到意外的广告。
    • 导航到陌生的界面。
    • API调用返回错误信息。
    • 响应用户关于任务结果的反馈。

为了确保任务成功,GUI智能体必须能够快速反思自身操作,评估反馈信号,并调整其计划以更好地实现目标。

示例

如图15所示,当智能体最初未能在“设计”菜单中找到“线条绘制”选项时,自我反思能力使其重新思考并识别到该选项实际上位于“图片格式”菜单的“艺术效果”下,从而成功完成任务。


2. 自我反思技术的实现

(i) ReAct(推理与行动)
  • 方法

    • ReAct将自我反思集成到智能体的行动链中,让智能体在每个动作完成后评估其结果,并推理出下一步的最佳行动。
    • 智能体不仅按照线性动作序列执行任务,而是动态适应,不断根据每个动作的反馈重新评估策略。
  • 示例

    • 如果一个GUI智能体在填写表单时发现点击了错误的字段,它可以通过回退并选择正确的元素来调整操作。
    • 效果:通过ReAct,智能体能够在每一步操作中优化其行为,实现更高的一致性和准确性。
(ii) Reflexion
  • 方法

    • Reflexion强调基于语言的反馈,即智能体将环境中的反馈视为语言输入,称为自我反思反馈
    • 这种反馈被上下文化并用于后续交互中,帮助智能体快速从先前的错误中学习。
  • 示例

    • 如果GUI智能体从应用程序接收到错误信息,Reflexion可以使智能体处理该消息,更新其对界面的理解,并在未来的交互中避免类似错误。
    • 优势:Reflexion的迭代反馈循环促进了持续改进,尤其适用于处理复杂、多步骤任务的GUI智能体。

3. 自我反思的价值

  • 增强性能:通过自我反思,智能体能够更好地应对GUI环境中的变化和不确定性。
  • 提高适应性和鲁棒性:内省能力不仅能提升单个智能体的表现,还能在协作环境中促进弹性、适应性和长期学习。

自我反思作为GUI多智能体系统中的一项关键增强功能,使智能体能够在动态和复杂的环境中更加高效地导航,最终提供更强大的性能和更高的任务完成质量。

5.7.4 自我进化

自我进化 [205] 是GUI智能体应具备的一项关键属性,使其能够通过积累经验不断提升性能。在GUI多智能体系统中,自我进化不仅可以促进单个智能体的改进,还能够通过共享知识和策略,实现智能体之间的集体学习和适应。在任务执行过程中,GUI智能体会生成包含详细动作轨迹的数据,以及如环境状态、内部推理过程(智能体的思考过程)和评估结果等补充信息。这些丰富的数据构成了一个宝贵的知识库,智能体可以从中学习和进化。

从经验中提取的知识可以分为以下三个主要领域:


1. 任务轨迹

  • 定义

    • 智能体执行的动作序列及其对应的环境状态,是学习的重要工具 [206]。
  • 用途

    1. 微调核心LLM
      • 使用特定领域和任务相关数据微调核心LLM模型,提高其泛化能力,优化在类似任务中的表现。
    2. 作为提示示例
      • 在提示设计时包括成功任务执行的示例,以激活LLM的上下文学习能力,无需额外的模型训练。
  • 示例

    • 假设一个智能体成功完成了一项涉及多个应用程序间数据输入自动化的复杂任务。
    • 记录的动作轨迹(包括采取的步骤、决策和环境状态)可以作为其他智能体在类似任务中参考的指南,缩短学习曲线并提高效率。

2. 指南与规则

  • 定义

    • 从累积的经验中,智能体可以提取高级规则或指导原则,包括最佳实践、成功策略和从错误中总结的经验 [207][208]。
  • 用途

    • 将这些知识形式化为智能体在决策过程中参考的策略或启发式规则,从而增强其推理能力。
  • 示例

    • 如果智能体在某些操作中多次遇到错误(如在指定文件路径之前尝试保存文件),它可以形成一条规则:在执行操作之前检查是否满足必要的条件。这种主动方法可以降低错误概率并提高任务成功率。

3. 新工具集

  • 定义

    • 在交互过程中,GUI智能体可能发现或开发出更高效的方法、工具或动作序列来优化任务执行 [149]。
  • 用途

    • 将优化的API调用、宏或UI操作组合添加到工具集中,扩展智能体的能力并提升整体效率。
  • 示例

    • 智能体可能发现,使用批处理API可以比循环执行单个UI操作更高效地自动化重复任务。
    • 这一改进方法可以在多智能体系统中共享,让所有智能体都能从中受益,并将其应用于相关任务。

示例与流程

图16展示了GUI智能体通过任务完成实现自我进化的过程:

  • 在操作过程中,智能体将新功能(如图像摘要工具)添加到其技能集中。
  • 从研究资料中获得洞见(如阅读关于创建GUI智能体的论文)。
  • 将任务轨迹(如网页提取)存储到其经验池中。
  • 当被分配到新任务(如“从GitHub存储库学习制作GUI智能体”)时,智能体利用其获得的技能和过去的经验,进行适应并高效完成任务。

这种动态进化能力展示了智能体不断学习、成长和优化自身能力的潜力。通过利用过去的经验、整合新知识和扩展工具集,GUI智能体能够适应多样化的挑战,改进任务执行,并显著提升系统的整体性能,进而营造一个协作且持续改进的环境。

5.7.5 强化学习

强化学习(Reinforcement Learning, RL) [209] 在将LLM调整为期望行为方面取得了显著进展 [210],最近也被应用于开发LLM驱动的智能体 [49][211]。在GUI多智能体系统中,强化学习有望显著提高GUI智能体的性能、适应性和协作能力。

1. 强化学习与GUI任务的契合性

GUI自动化任务与马尔可夫决策过程(Markov Decision Process, MDP) [212] 的结构高度契合,这使得RL成为解决这类问题的理想方法:

  • 状态(State)
    • 代表环境感知信息,例如GUI截图、UI元素属性和布局配置。
  • 动作(Action)
    • 映射到具体的UI操作,例如鼠标点击、键盘输入和API调用。
  • 奖励(Reward)
    • 可以根据各种性能指标明确定义,例如任务完成率、效率和准确性,指导智能体优化动作以实现最大化效果。

示例: 图17展示了MDP模型在GUI任务完成中的应用,其中明确定义了状态、动作和奖励。这种建模方式为智能体的学习提供了清晰的目标和反馈机制。

2. 强化学习的应用

通过将GUI智能体的交互形式化为MDP,我们可以利用强化学习技术,让智能体通过试错学习执行任务的最优策略 [213]:

  • 优势
    • 使智能体能够优化累积奖励,从而更高效地完成任务。
  • 示例
    • 一个学习自动化填写网页表单的智能体可以使用RL发现最有效的动作序列,减少错误和冗余步骤,从而成功输入数据并提交表单。这种过程帮助智能体在复杂或模糊的场景中更接近预期行为。

3. 代表性研究与方法

(i) DigiRL
  • 框架
    • Bai等人提出了DigiRL [214],一个用于动态环境中训练GUI智能体的两阶段RL框架:
      1. 离线RL阶段
        • 使用离线数据初始化智能体模型。
      2. 在线微调
        • 在实际环境中通过实时数据优化策略,例如在Android学习环境中使用LLM评估器提供可靠的奖励信号。
  • 意义
    • 这种自适应设置使智能体能够有效应对动态GUI的复杂性。
(ii) DistRL
  • 框架
    • Wang等人提出了DistRL [215],一个专为Android设备上的移动控制智能体设计的RL微调管道:
      • 异步架构
        • 在多个异构工作设备和环境中部署RL微调智能体进行分布式数据收集。
      • 离线RL技术
        • 从多样化环境中远程收集数据,进行集中训练。
  • 意义
    • 这种方法显著增强了模型的可扩展性和鲁棒性,尤其适用于实际应用场景。

5.7.6 总结与启示

  • 能力增强
    • 通过这些先进技术,LLM驱动的GUI智能体变得更加多样化、高效且适应性强,尤其是在多智能体框架中表现尤为突出。
  • 集成性
    • 这些技术并非相互排斥,许多可以集成以创建更强大的智能体。例如,在多智能体框架中引入自我反思功能,可以让智能体协作改进任务策略并从错误中恢复。
  • 未来研究方向
    • 未来的研究预计将开发出更复杂的技术,进一步扩展GUI自动化的范围和鲁棒性。

最终目标: 通过利用这些进展,开发者可以设计出能够自动化复杂多步骤任务、不断进化、适应动态环境并有效协作的LLM驱动GUI智能体,推动用户体验和任务执行效率的全面提升。

5.8 从基础到创新:一份路线图

构建稳健、适应性强且高效的LLM驱动GUI智能体是一个多方面的过程,需要将多个核心组件进行精心整合。在第5节中,我们概述了智能体的架构、设计、环境交互和记忆等基础要素。接下来,我们将重点探讨这些智能体在实际场景中部署所需的关键要素。

路线图结构

  1. 最新框架的深入回顾(第6节)

    • 我们将全面分析当前最先进的LLM驱动GUI智能体框架,阐明它们在该领域的独特贡献和技术进展。
  2. 数据收集与模型优化(第7节和第8节)

    • 探讨针对GUI智能体的数据收集和处理策略。
    • 深入分析用于优化LLM的技术方法,包括如何使其更适合GUI任务。
  3. 评估与验证(第9节)

    • 检查用于评估智能体性能和可靠性的评估方法和基准测试。
    • 这些评估方法对智能体的开发和验证至关重要。
  4. 实际应用(第10节)

    • 探索LLM驱动GUI智能体在多个领域中的实际应用,展示其变革性的影响。

整体路线图

  • 目标
    • 提供一份从基础概念到实际应用的完整路线图。
  • 覆盖范围
    • 该路线图涵盖了将LLM驱动GUI智能体从构想到实现所需的关键流程,包含基础组件、优化方法和实际部署等内容。

研究分类

为提供更全面的视角,我们在图18中介绍了一个分类体系,该体系将近期关于LLM驱动GUI智能体的研究分为以下几个领域:

  1. 框架(Frameworks)
    • 涉及智能体设计和实现的基本结构。
  2. 数据(Data)
    • 包括用于训练和优化智能体的数据收集与处理策略。
  3. 模型(Models)
    • 设计和优化LLM以适应GUI任务。
  4. 评估(Evaluation)
    • 智能体性能和可靠性的验证与测试方法。
  5. 应用(Applications)
    • 智能体在实际任务中的应用场景及其影响。

          

分类体系的意义

  • 蓝图作用
    • 该分类体系为研究和开发人员提供了一份导航图,帮助梳理不同领域内的研究和开发工作。
  • 跨领域贡献
    • 同时指出某些模型、框架或数据集可能对GUI智能体的多个功能方面产生影响,反映了研究领域之间的交叉性。

通过这份路线图,我们希望全面概括从基础组件实际部署的关键环节,帮助推动LLM驱动GUI智能体的创新与实际落地。

6 LLM驱动的GUI智能体框架

LLM的引入为构建GUI智能体开启了新的可能性,使其能够解释用户请求、分析GUI组件并在各种环境中自主执行操作。通过为这些模型配备第5节中介绍的必要组件和功能,研究人员开发出了适应不同平台和应用的复杂框架。这些框架是一个快速发展的研究领域,每个框架都引入了创新技术和专门的能力,推动了GUI智能体的能力边界。


内容结构

1. 概述关键框架
  • 我们首先在表6、表7、表8和表9中总结了主要框架在以下平台的应用:

    • Web平台
    • 移动平台
    • 桌面计算机平台
    • 跨平台框架
  • 框架特性

    • 每个框架的特性、目标平台和显著创新都进行了详细列举。
    • 这些总结为读者提供了理解LLM驱动GUI智能体开发广度的入门点。
2. 深入讨论框架
  • 对每个框架进行详细分析,包括:
    • 基础设计原则:框架的核心设计理念和逻辑。
    • 技术进展:框架在技术上的主要创新与突破。
    • 解决的具体挑战:框架在GUI自动化中针对性地解决了哪些问题。

目标与意义

  • 深入理解:通过分析这些框架,我们希望深入了解它们如何影响人机交互和任务自动化的未来。
  • 促进发展:这些框架在推动这一变革性领域发展中扮演了关键角色,并为构建下一代高效智能化GUI系统提供了重要指导。

综上,LLM驱动的GUI智能体框架的研究和开发正引领技术进步,为改进人机交互和自动化任务提供了强大工具。

6.1 Web GUI 智能体

在Web GUI智能体领域的进展,使得在多样化和动态的网页环境中自动化复杂任务取得了重大突破。近期的框架引入了利用多模态输入、预测建模和针对任务优化等创新方法,以提升性能、适应性和效率。本节将深入探讨这些框架,强调它们的独特贡献及其如何共同推动基于网页的GUI自动化的边界。

主要趋势与创新

1. 多模态能力的整合
  • 多模态能力的引入极大提升了智能体与动态网页内容交互的效率。
    • SeeAct [16]:
      • 利用GPT-4V的多模态能力,有效地处理实时网页上的操作。
      • 结合图像注释、HTML属性和文本选择等技术,与动态网页内容交互。
      • 在实时网页任务中实现了51.1%的任务成功率,表明动态评估在开发强大的网页智能体中的重要性。
    • WebVoyager [219]:
      • 支持端到端任务完成,包括动态渲染内容和复杂交互元素的网页环境。
      • 借助多模态输入(截图和HTML元素),成功率显著超过传统的仅文本方法。
2. 复杂网页结构的解析与代码生成
  • WebAgent [217]:
    • 采用两层模型架构,结合HTMLT5解析复杂HTML文档和Flan-UPaLM进行程序合成。
    • 能够将用户指令翻译成可执行Python代码,自动化处理复杂的网页操作,任务成功率提高了50%。
3. 基于状态的导航决策
  • LASER [218]:
    • 将网页导航建模为状态空间探索,允许灵活的回溯和高效决策。
    • 在电商导航任务(如WebShop和Amazon)中表现出色,显著减少了错误率。
  • Search-Agent [224]:
    • 引入了启发式搜索算法,在复杂的交互网页任务中提升多步骤推理能力。
    • 在WebArena基准上成功率提高39%。
4. 全球与局部优化策略
  • WebPilot [225]:
    • 结合全局和局部蒙特卡罗树搜索(MCTS)优化策略,将复杂任务分解为可管理的子任务。
    • 在动态环境中实时调整策略,表现出类人决策的灵活性和适应性。
    • 在WebArena和MiniWoB++等基准测试中表现出卓越的性能。
5. 预测建模
  • WMA [216]:
    • 引入了世界模型(World Model),通过基于过渡的观察模拟UI交互的结果。
    • 在长时间任务中减少不必要的动作,提高任务效率,在WebArena和Mind2Web等基准测试中表现优异。
  • WebDreamer [234]:
    • 使用LLM进行基于模型的规划,通过模拟和评估多步骤结果选择最优计划。
    • 在VisualWebArena和Mind2Web-live等复杂环境中展示了高效的决策能力。
6. API交互的集成
  • HybridAgent [186]:
    • 结合网页浏览与API交互,根据任务需求动态切换。
    • 使用API调用处理结构化数据,减少时间和复杂性,提高任务准确性和效率。
7. 跨领域导航
  • AutoWebGLM [220]:
    • 简化HTML结构,专注于关键页面组件,提升任务准确性。
    • 通过强化学习和拒绝采样微调,在中英文网站的复杂导航任务中表现出色。

近期的Web GUI智能体框架通过整合多模态输入、预测建模和任务优化等创新,显著增强了智能体的实际任务能力。这些进步为开发更智能、适应性更强的网页自动化解决方案奠定了坚实基础,推动了基于网页的GUI智能体的进一步发展。

6.2 移动 GUI 代理

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

早期的研究主要关注在无需访问后台系统的情况下实现类人化的 GUI 交互。其中一个开创性的框架是 AppAgent [17],它利用 GPT-4V 的多模态能力来理解和响应视觉和文本信息。通过实时截图和结构化 XML 数据执行诸如点击和滑动的操作,AppAgent 能够跨多种应用(从社交媒体到复杂的图像编辑工具)直接与 GUI 交互。它通过自主探索和观察人类示范来学习,这种独特的方法使其能够快速适应新应用,展示了多模态能力在移动代理中的高效性。 

在此基础上,AppAgent-V2 [246] 提升了框架的视觉识别能力,并引入了结构化数据解析功能。这种改进支持上下文感知的精确交互和在不同应用中执行复杂的多步操作。AppAgent-V2 还引入了安全检查功能,用于处理敏感数据,并通过跟踪和适应实时交互支持跨应用任务。这些进步突出了高级视觉识别和结构化数据处理在提高实时移动环境任务精度和安全性方面的重要性。

与此并行,基于视觉的方式也进一步增强了移动任务自动化,无需依赖特定应用的数据。例如,Mobile-Agent [146] 利用 OCR、CLIP [371] 和 Grounding DINO [169] 进行视觉感知。通过使用截图和视觉工具,Mobile-Agent 执行从应用导航到复杂多任务的操作,它能够迭代性地遵循指令,并通过自反机制纠正错误。这种基于视觉的方法使 Mobile-Agent 成为移动任务中的多功能和适应性强的助手。

为了应对长序列导航和复杂的多应用场景,Mobile-Agent-v2 [247] 引入了一种多代理架构,将规划、决策和反思分开处理。通过将任务进度跟踪、任务相关信息的记忆和错误纠正分配给三个代理,这种框架优化了任务执行。结合 Grounding DINO [169] 和 Qwen-VL-Int4 [285] 等先进的视觉感知工具,Mobile-Agent-v2 在 Android 和 Harmony OS 上显著提升了任务完成率,展示了多代理系统在处理复杂移动任务中的潜力。

除了视觉驱动的方法外,一些框架还致力于将 GUI 状态转换为语言,以支持基于 LLM 的动作规划。VisionTasker [241] 通过处理移动 UI 截图为结构化自然语言,将视觉 UI 解释与顺序化 LLM 任务规划相结合。借助 YOLO-v8 [377] 和 PaddleOCR28 进行控件检测,VisionTasker 可以跨陌生应用自动化复杂任务,并在某些任务上表现出比人类操作更高的准确性。这种两阶段设计展示了一种灵活的自动化框架,为移动自动化设立了强有力的先例。

类似地,DroidBot-GPT [242] 通过将 GUI 状态转换为自然语言提示,使 LLM 能够自主决定动作序列。通过解析 GUI 结构并将其转换为 GPT 模型可理解的语言,DroidBot-GPT 无需特定应用修改就可以适应各种应用。这种适应性强调了 LLM 在处理复杂多步任务中,以最小的定制数据实现变革性角色。

为了增强动作预测和上下文感知,先进的框架将感知和动作系统集成到多模态 LLM 中。CoCo-Agent [243] 通过综合事件感知模块和综合动作规划模块,处理图标和布局等 GUI 元素。通过将动作分解为可管理的步骤,并利用来自 Android in the Wild (AITW) [271] 和 META-GUI [270] 等基准数据的高质量数据,CoCo-Agent 展示了其在不同智能手机应用中可靠地自动化移动任务的能力。

进一步推进这一集成,CoAT [240] 引入了“动作-思考链”流程来增强动作预测和上下文感知。通过使用 GPT-4V 和集合标记(set-of-mark tagging)等复杂模型,CoAT 解决了传统基于坐标的动作识别的局限性。利用其构建的 Android-In-The-Zoo (AITZ) 数据集,CoAT 提供了深度上下文感知,提升了动作预测精度和任务完成率,展示了其在 Android 平台上的可访问性和用户便利性。

为了解决在多步任务中高效处理和降低计算成本的需求,AutoDroid [144] 结合了基于 LLM 的理解和特定应用知识。通过使用 HTML 风格的 GUI 表示法和基于内存的方法,AutoDroid 减少了对大量 LLM 查询的依赖。其云端与设备内模型相结合的混合架构增强了响应能力和可访问性,使 AutoDroid 成为应对多样化移动任务的实用解决方案。

MobileGPT [252] 通过一种模拟任务分解认知过程的类人化应用记忆系统(Explore、Select、Derive 和 Recall)实现了 Android 设备任务的自动化。这种方法显著提高了任务自动化的效率和准确性。其分层记忆结构支持模块化、可复用和可适应的任务及子任务,适应各种上下文。MobileGPT 在任务成功率、成本效率和适应性方面优于现有系统,突显了其在推动移动任务自动化方面的潜力。

综上所述,移动 GUI 代理经历了显著的发展,从单一代理系统演进到能够进行动态、上下文感知操作的复杂多代理框架。这些创新表明,复杂的架构、多模态处理和先进的规划策略在应对移动环境中的各种挑战方面至关重要,标志着移动自动化能力的显著提升。

6.3 计算机 GUI 代理

计算机 GUI 代理已经发展为能够在多种操作系统上实现复杂自动化的强大工具,应对跨应用交互、任务泛化以及高级任务规划等挑战。

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

多代理架构的创新

一个重要的进展是多代理架构的引入,这种架构增强了任务管理和执行能力。例如,UI-Focused Agent (UFO) [18] 是一个专为 Windows 操作系统设计的开创性框架。UFO 通过其先进的双代理架构重新定义了以 UI 为中心的自动化。它利用 GPT-Vision 来解释 GUI 元素,并在多个应用中自主执行操作。

UFO 框架包括两个关键组件:

  1. HostAgent:负责全局规划、任务分解和应用选择。
  2. AppAgent:负责在各个应用中执行分配的子任务。

这种集中化结构使得 UFO 能够管理复杂的多应用工作流,例如信息汇总和报告生成。通过加入安全机制和可定制的操作,UFO 确保了处理复杂命令时的效率和安全性,成为 Windows 操作系统的尖端助手。类似的架构也被其他 GUI 代理框架所采用 [248], [250], [362]。

通用能力的提升

围绕适应性和通用能力,Cradle [149] 打破了传统计算机控制的界限。它通过使用 VLMs(视觉语言模型)与各种软件交互,包括游戏和专业应用,而无需访问 API。Cradle 借助 GPT-4o 来解释屏幕输入并执行低级别操作,表现出极大的灵活性。其自我反思和学习能力使其能够完成任务、推理操作,并利用过去的交互指导未来决策。这种动态环境下的高效表现标志着通用型代理在桌面环境中的重要进步。

多操作系统支持

OS-Copilot [150] 扩展了计算机 GUI 代理在多操作系统(如 Linux 和 macOS)上的能力。它的亮点之一是 FRIDAY 模块,通过自我导向学习适应各种应用,无需针对每个应用进行明确训练。不同于特定应用代理,FRIDAY 集成了 API、键盘和鼠标控制以及命令行操作,创建了一个灵活的平台,能够在与新应用交互时自主生成和优化工具。OS-Copilot 的泛化能力在 GAIA 基准测试中的表现验证了其在复杂环境中的适应能力,为开发适应性强的数字助手奠定了基础。

总结

计算机 GUI 代理经历了显著的进化,从单任务自动化工具发展为能够学习交互并执行复杂多应用任务的高级多代理系统。像 UFOCradleOS-Copilot 这样的框架展示了适应性强的通用型代理在桌面自动化中的潜力,为开发更智能和多功能的 AgentOS 框架铺平了道路。

6.5 总结

GUI 代理框架领域取得了显著进展,特别是在多代理架构、多模态输入和增强的操作集方面。这些发展为处理复杂、动态环境的多功能、高效代理奠定了基础。以下是近期进展中的关键点总结:

  1. 多代理协作:
    多代理系统(如 UFO [18] 和 MMAC-Copilot [200])代表了 GUI 代理开发中的重要趋势。通过在框架中为不同的代理分配专门角色,多代理系统能够提升任务效率、适应性和整体性能。在处理跨平台的复杂任务时,多代理的协作应用表现出强大的能力,使代理能够以更高的精确度和速度完成复杂工作流。

  2. 多模态输入的优势:
    尽管某些代理仍依赖纯文本输入(如 DOM 结构或 HTML),但引入视觉输入(如截图)显著提高了性能。像 WebVoyager [219] 和 SeeAct [16] 这样的代理表明,视觉数据与文本输入的结合可以提供更丰富的环境状态表示,帮助代理做出更明智的决策。在视觉复杂或动态环境中,多模态输入对于准确解读上下文至关重要。

  3. 操作集扩展至 UI 之外:
    近期的代理已将操作范围扩展到标准 UI 操作之外,包括 API 调用和 AI 驱动的操作(如 Hybrid Agent [186] 和 AutoWebGLM [220])。多样化的操作集使代理能够在任务完成率和交互层次上达到更高水平,尤其是在可以直接通过 API 调取或操作数据的环境中。这种灵活性增强了代理的能力,使其在更广泛的应用场景中更加高效和适应性强。

  4. 新兴的决策改进技术:
    世界模型(如 WMA [216])和基于搜索的策略(如 Search-Agent [224])代表了更先进决策的潜在方向。世界模型允许代理模拟动作结果,减少不必要的交互,提高长任务中的效率。同样,搜索算法(如优先搜索和蒙特卡洛树搜索)帮助代理更有效地探索动作路径,提升了其在复杂实时环境中的适应能力。

  5. 迈向跨平台泛化:
    跨平台框架(如 AutoGLM [232] 和 OSCAR [251])强调了 GUI 代理设计中泛化能力的重要性。这些代理正在努力实现无缝操作的解决方案,可跨越移动、桌面和 Web 平台运行,朝着能够覆盖多种生态系统的“一站式” GUI 代理目标迈进。跨平台灵活性对于代理在用户的数字交互中提供一致支持至关重要。

  6. 纯视觉驱动代理:
    为实现通用的 GUI 控制,纯视觉驱动框架成为了一种重要解决方案。这些代理完全依赖截图进行决策,无需访问元数据(如控件树或元素属性)。AGUVIS [238] 就是这一方法的典型例子。尽管纯视觉方法具有更高的泛化能力,并规避了系统 API 的限制,但它们需要强大的“视觉定位”能力来准确识别和操作 UI 元素——这是许多基础模型的短板。通过针对视觉定位和 GUI 理解进行特定的模型微调,或结合 OmniParser [170] 等 GUI 解析技术,可以解决这一问题并增强代理的交互精度。

7 数据优化 LLM 驱动的 GUI 代理

在上一章节中,我们探讨了 LLM 驱动的 GUI 代理的一般框架,其中大多数依赖于基础 LLM(如 GPT-4V 和 GPT-4o)。然而,要提升这些代理的性能和效率,优化其“核心大脑”(即底层模型)至关重要。实现这一目标通常需要通过大规模、多样化和高质量的上下文 GUI 数据集对基础模型进行微调 [378]。这些数据集是专门设计的,旨在使模型在 GUI 任务中表现优异。收集此类数据集(尤其是包含丰富的 GUI 截图、元数据和交互记录的数据集)需要精心设计的数据获取、筛选和预处理流程,每一步都需要大量的努力和资源投入 [379]。

随着 GUI 代理的应用日益广泛,研究人员专注于构建能够涵盖广泛平台并捕捉 GUI 环境多样性的数据集。这些数据集对于训练能够有效泛化的模型至关重要,因为它们涵盖了多种界面、工作流和用户交互。为了确保数据集的全面性,研究人员采用了创新的方法来收集和构建这些数据资源。在接下来的章节中,我们将详细说明针对训练 GUI 专用 LLM 的数据收集和处理的端到端流程,并分析来自不同平台的重要数据集,深入探讨它们的独特特性、创建方法及其在推动 LLM 驱动的 GUI 代理领域中的潜在应用。同时,表 10、表 11 和表 12 对这些数据集的关键属性及其对 GUI 代理研究发展的贡献进行了总结。 

7.1 数据收集

数据对于训练专用的 GUI 代理至关重要,但由于任务的复杂性和涉及的多样化环境,数据收集需要投入大量时间和精力。

7.1.1 数据组成与来源

用于 GUI 代理训练的核心数据与代理的感知和推理需求密切相关(见章节 5.2.2 和 5.4)。总体而言,这些数据包括:

  1. 用户指令
    提供任务的总体目标、用途和具体细节,通常以自然语言表达,明确代理需要完成的目标,例如:“将所有文本的字体大小更改为 12”。

  2. 环境感知
    通常包括 GUI 截图(可能带有各种视觉增强),以及补充数据(如控件树和 UI 元素属性),以丰富上下文。

  3. 任务轨迹
    包含完成任务所需的关键动作序列,以及代理的计划等补充信息。任务轨迹通常涉及多个步骤和动作,用于导航任务流程。

在模型的输入中,用户指令和环境感知构成核心部分,而模型的期望输出是任务轨迹。这些动作序列随后在环境中被执行,以完成任务。

用户指令的来源

确保用户指令真实且能够反映实际场景非常重要。以下几种方法可以获取指令:

  • (i) 直接来自人类设计者,基于真实应用提供洞察;
  • (ii) 从现有的相关数据集中提取适合的数据;
  • (iii) 利用公开资料(如网站、应用帮助文档和其他可公开获取的资源);
  • (iv) 通过 LLM 生成,模拟广泛的用户请求场景。
    此外,还可以使用 LLM 进行数据增强 [380],提高从原始数据中派生指令的质量和多样性。
环境感知数据的收集

可以使用各种工具包(详见章节 5.2.2)来捕获所需的 GUI 数据。例如,以下环境模拟器可用于数据收集:

  • Android Studio Emulator
  • Selenium WebDriver
  • Windows Sandbox

这些工具提供了捕获高质量环境感知数据的便捷方式,能够支持多样化的 GUI 数据构建。

通过直接与真实环境交互,可以捕获 GUI 元素的状态信息,包括截图、控件树以及其他对代理操作至关重要的元数据。

任务轨迹的收集

任务轨迹(即代理为完成任务而采取的动作序列)的收集是最具挑战性的部分之一。这些轨迹需要准确、可执行且经过良好验证。以下是常用的收集方法:

  1. 程序化生成脚本
    通过程序生成定义预设任务的动作序列,提供高度可控的数据来源。

  2. 人工标注
    利用众包方式,由人类标注者完成任务并记录每个步骤,从而获得丰富且真实的动作数据。

  3. 模型或代理引导
    使用现有的 LLM 或 GUI 代理尝试完成任务,并记录其操作。尽管这种方法可能需要额外的验证以排除潜在的不准确性,但它是快速生成数据的一种手段。

这些方法都需要大量精力,反映了为训练 GUI 代理获取可靠、准确任务数据的复杂性。

7.1.2 数据收集流程

图 22 展示了针对 GUI 代理模型训练的数据收集完整流程。该流程从收集初始用户指令开始,这些指令可能来源于前述的多种方法。这些指令通常是原型化的,尚未针对具体环境进行定制或具体化。例如,“如何更改字体大小?” 这样的指令缺乏具体性,并不符合用户在特定应用中可能发出的具体请求。

为了使指令更具可操作性,需要一个实例化步骤,即将指令置于特定环境中进行情境化。例如,指令可以被细化为“将 draft.docx 文档中第三段的字体大小更改为 20”。这一过程可以通过人工完成,也可以借助 LLM 程序化实现。

在实例化之后,指令可能需要经过过滤步骤,以剔除低质量数据,确保仅保留相关且可操作的指令。此外,可以应用数据增强技术来扩展和多样化数据集,从而提高模型的鲁棒性。过滤和增强过程既可以通过人工验证完成,也可以利用 LLM 提高效率。

当指令优化完成后,任务轨迹和环境感知数据会被同步收集。在环境中执行动作时,每一步都会被记录下来,提供关于环境状态和具体动作的记录。完成整个任务轨迹记录后,需要一个评估阶段来识别并删除任何失败或不准确的序列,以保证数据集的质量。通过迭代这一流程,可以构建高质量的 GUI 代理数据集,这是优化模型训练的关键。

7.2 Web 代理数据

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

关键数据集示例
  1. Mind2Web [257]

    • 强调开放式任务描述,推动代理独立解读高层目标。
    • 提供超过 2,350 个人工标注任务,覆盖 137 个多样化网站,捕捉了 Web 导航中的复杂交互模式和序列。
    • 这套数据集有助于评估代理在新领域中的泛化能力,并为 Web GUI 中的语言语义匹配设定了基准。
  2. WebVLN [258]

    • 将导航与问答结合,为代理提供文本查询,引导其定位相关网页并提取信息。
    • 通过 HTML 和网站的视觉内容,模拟 Web 浏览的真实挑战。
    • 特别适合开发能够在 GUI 驱动的 Web 环境中执行复杂类人交互的代理。
  3. WebLINX [259]

    • 专注于通过多轮对话实现真实世界的 Web 导航。
    • 提供 2,300 多个专家演示任务,涵盖 155 个实际网站,结合 DOM 树和截图构建了一个丰富的训练与评估环境。
    • 这一数据集促进了代理在新网站和任务上的泛化能力,提供了详细的动作和对话数据,有助于提升代理在真实场景下的响应能力。

这些数据集是推动 Web 代理能力发展的关键资源,支持开发适应性强、智能化的代理,以满足多样化的 Web 应用需求。

7.3 移动代理数据

移动平台对 GUI 代理至关重要,因为它们涉及种类繁多的应用程序和独特的用户交互。为了开发能够有效导航和与移动界面交互的代理,数据集必须包含单步和多步任务,重点关注自然语言指令、UI 布局和用户交互。

关键数据集

  1. Rico 数据集 [268]

    • 内容:包含超过 72,000 个独特的 UI 界面和 10,811 条用户交互轨迹,覆盖 9,700 多个 Android 应用。
    • 应用:Rico 数据集在 UI 布局相似性分析、交互建模和感知建模等任务中具有重要作用,为移动界面理解和 GUI 代理开发奠定了基础。
  2. PIXELHELP [132]

    • 目标:专门设计用于将自然语言指令映射到移动 UI 操作的任务。
    • 内容:包含多步指令、截图和结构化的 UI 元素数据。
    • 应用:支持无障碍功能和任务自动化,帮助代理基于语音指令自主执行任务。
  3. Android in the Wild (AITW) [271]

    • 特色:提供最广泛的自然设备交互数据集之一,覆盖大量 Android 应用和多样化的 UI 状态。
    • 内容:通过与 Android 模拟器交互收集,包含截图和动作序列。
    • 应用:开发无需依赖特定应用 API 的 GUI 代理,模拟真实设备使用中的多步任务,因其规模和多样性而成为常用标准。
  4. META-GUI [270]

    • 目标:为移动任务导向的对话系统提供独特数据集。
    • 特色:绕过 API 控制,直接与移动 GUI 交互。
    • 内容:支持多轮对话和 GUI 跟踪,涵盖复杂交互场景。
    • 应用:提升对话代理在实际应用中的功能,无需自定义 API,扩展代理的适应能力。
  5. MobileViews [279]

    • 规模:迄今为止最大的移动屏幕数据集,提供超过 600,000 对截图和视图层级数据,涵盖 20,000 个 Android 应用。
    • 收集方式:借助增强的 LLM 应用遍历工具收集,提供高精度资源。
    • 应用:用于屏幕摘要、可点击性预测和 UI 组件识别等任务,其规模和全面的屏幕状态覆盖使其成为推动移动 GUI 代理发展的重要资源。

移动平台因其丰富的工具支持、模拟器功能和多样化的使用场景,拥有目前最丰富的数据集。这些数据集反映了移动应用中对高质量、自适应 GUI 代理的强烈需求,并为推动移动代理的性能和能力提供了强大的基础。

7.4 桌面代理数据

与移动和 Web 平台相比,桌面领域的 GUI 代理数据集相对较少,尽管其在生产力工具和企业软件等应用中具有重要意义。然而,针对复杂的多步桌面任务的代理开发和评估,一些重要的工作已经取得了显著进展。

关键数据集

  1. ScreenAgent [282]

    • 功能:一个专为支持 Linux 和 Windows 桌面环境中的 GUI 控制而设计的数据集和模型。
    • 特点:提供一个完整的多步任务执行流水线,包括规划、执行和反思阶段。
    • 内容:利用带标注的截图和详细的动作序列,支持高精度的 UI 元素定位和任务完成。
    • 意义:在决策准确性和用户界面交互方面超越了以往的模型,为推动桌面领域 GUI 代理能力的研究提供了宝贵资源。
  2. LAM 数据集 [283]

    • 设计目标:专为训练和评估大型动作模型(LAMs)在 GUI 环境中的表现而开发。其核心目标是连接自然语言任务理解与动作执行。
    • 组成部分
      • 任务计划数据(Task-Plan data):提供详细的用户任务和逐步规划。
      • 任务动作数据(Task-Action data):将这些计划转化为可执行的 GUI 动作。
    • 数据来源:从应用文档、WikiHow 文章和 Bing 搜索查询中提取,通过 GPT-4 进行丰富化和结构化。
    • 规模:主要针对 Windows 操作系统,聚焦于自动化 Microsoft Word 的任务,包含 76,672 对任务计划和 2,688 条任务动作轨迹,是 GUI 动作学习领域规模最大的集合之一。
    • 数据质量:通过强大的验证流程保障,包括基于 LLM 的实例化、GUI 交互测试和人工审查。
    • 补充内容:每条数据都附有 GUI 截图和元数据,使模型能够学习高层次的任务规划和底层动作执行。
    • 意义:数据集的模块化设计支持针对特定 GUI 任务的微调,同时为在其他环境中构建数据集提供了可复用的框架,是推动 GUI 自动化的重大贡献。

7.5 跨平台代理数据

跨平台数据集在开发能够在移动、桌面和 Web 环境中无缝运行的多功能 GUI 代理方面起着关键作用。这些数据集支持代理的泛化能力和适应性,使其能够在真实世界应用中处理多样化的界面和任务。


关键数据集

  1. ScreenAI [281]

    • 目标:扩展数据收集范围,涵盖移动和桌面界面。
    • 内容:包括屏幕标注、问答和导航任务,提供数亿个标注样本。
    • 特色:综合的规模和混合平台覆盖,为需要管理复杂布局和交互的 GUI 代理提供了强大的基础。
    • 意义:通过强调元素识别和屏幕摘要任务,ScreenAI 推动了多平台 GUI 代理的发展,使其能够处理多样化的视觉结构。
  2. VisualAgentBench [260]

    • 目标:跨平台基准,用于评估移动和 Web 环境中的 GUI 代理。
    • 特色:专注于交互任务,使用 Android Virtual Device 和 WebArena-Lite [310] 等环境评估代理在 GUI 布局和用户界面操作中的表现。
    • 收集方法:结合程序化求解器和大型多模态模型引导,提供了增强代理适应性和错误恢复能力的训练轨迹。
    • 意义:这一基准为视觉基础模型的评估设定了新标准。
  3. GUI-World [280]

    • 目标:覆盖桌面、移动和 XR 环境,专注于动态和顺序性 GUI 任务。
    • 内容:包括超过 12,000 个标注视频,提供详细的动作序列和问答对。
    • 意义:允许研究人员在复杂的真实场景中基准测试 GUI 代理能力,树立了评估代理性能的高标准。
  4. xLAM [264]

    • 目标:通过提供统一的数据集格式,支持多轮交互、推理和函数调用任务。
    • 数据来源:来自 WebShop [327]、ToolBench [383] 和 AgentBoard [384] 等数据集。
    • 特色:标准化了跨多样环境的数据格式,解决了数据结构不一致的问题,这一问题常常阻碍代理的训练和跨环境兼容性。
    • 意义:通过提供一致的结构,xLAM 增强了 GUI 代理的适应性和错误检测能力,使其能够更无缝地集成和在不同应用中表现出色。

这些跨平台数据集为构建多平台 GUI 代理奠定了基础,推动了能够在不同界面中无缝导航和执行任务的代理发展。这些数据集促进了更加通用和适应性强的系统的形成,为未来跨平台自动化领域的创新提供了强有力的支持。

7.6 总结

为 LLM 驱动的 GUI 代理收集和整理数据是一个高强度的过程,通常需要大量人工参与,尤其是在生成准确的动作序列和注释方面。虽然早期数据集的规模和任务多样性有限,但近期的进步催生了支持更复杂和现实 GUI 交互的大规模多平台数据集。以下是这些发展的关键见解:


关键见解

  1. 规模和多样性:
    高质量的大规模数据对训练能够处理多样化 UI 状态和任务的强健 GUI 代理至关重要。

    • 示例:如 MobileViews [279] 和 ScreenAI [281] 等数据集强调了庞大且多样化数据的重要性,以适应移动和桌面应用的动态特性,提高代理在不同环境中的鲁棒性。
  2. 跨平台灵活性:
    跨平台数据集(如 VisualAgentBench [260] 和 GUI-World [280])凸显了泛化能力的价值,使代理能够在移动、Web 和桌面环境中保持一致表现。

    • 意义:跨平台适应性是创建“一站式”解决方案的关键,使单一 GUI 代理能够在多个平台上无缝运行。
  3. 自动化数据收集:
    OmniParser [170] 和 MobileViews [279] 所展示的 AI 驱动数据收集工具展现了减少人工投入和加速大规模数据集创建的潜力。

    • 优势:通过自动化注释过程,这些工具为更高效的数据管道铺平了道路,加速复杂 GUI 交互的数据收集和标注,推进了 AI 支持 AI 的未来。
  4. 统一的数据格式和协议:
    xLAM [264] 提出的统一数据格式是一项重要的创新,它改进了跨平台的兼容性。

    • 挑战与解决方案:跨平台 GUI 代理开发的主要瓶颈在于多样化数据格式、动作空间和环境表示的差异。建立标准化的协议或动作空间对于进一步推动代理的泛化和一致性至关重要。

近期的Web GUI智能体框架通过整合多模态输入、预测建模和任务优化等创新,显著增强了智能体的实际任务能力。这些进步为开发更智能、适应性更强的网页自动化解决方案奠定了坚实基础,推动了基于网页的GUI智能体的进一步发展。 

8 优化 LLM 驱动 GUI 代理的模型

LLM 作为 GUI 代理的“大脑”,赋予其理解用户意图、解析 GUI 界面并执行操作的能力,从而对环境产生直接影响。虽然现有的许多基础模型已经足够强大,可以作为代理的核心,但通过微调和优化,可以将这些模型转化为大型动作模型(LAMs),即专门为提升 GUI 代理性能和效率而设计的模型。LAMs 填补了通用功能与 GUI 交互特定需求之间的空白。

本章首先介绍目前支撑 GUI 代理的基础模型,分析其优势与局限。接着探讨 LAM 的概念,展示如何通过 GUI 专用数据集对这些模型进行微调,以提升其在 GUI 环境中的适应性、准确性和动作导向能力。从通用 LLM 到专用 LAM 的这一演变为开发先进智能 GUI 代理奠定了基础。


8.1 基础模型

基础模型是 LLM 驱动 GUI 代理的核心,提供理解和交互 GUI 的基本能力。近期闭源和开源多模态语言模型(MLLMs)的进步显著增强了 GUI 代理的潜力,尤其在效率、可扩展性和多模态推理方面。本节将探讨这些基础模型,重点分析其创新、贡献及其在 GUI 代理应用中的适用性。表 13 总结了关键模型及其特点。


8.1.1 闭源模型

闭源模型虽无法公开定制,但提供了强大的能力,可直接作为 GUI 代理的“大脑”使用:

  1. GPT-4VGPT-4o

    • GPT-4V:结合文本与图像分析,扩展传统 LLM 的功能,适用于需要深度多模态推理的 GUI 代理任务。其多模态能力显著提升了代理在处理复杂 GUI 任务中的效率与灵活性。
    • GPT-4o:一种统一的多模态自回归架构,处理文本、音频、图像和视频等多种输入。相比早期模型,GPT-4o 在成本更低的情况下提供更快响应时间和更高效率。
  2. Gemini 模型系列

    • 这一系列模型专注于高复杂任务、可扩展性能和设备端效率。特别是 Nano 版本,在资源受限设备上表现出色,适合需要高性能和适应性的 GUI 代理。
  3. Claude 3.5 Sonnet

    • 特色:采用仅视觉的方式实现桌面任务自动化,依赖实时截图分析 GUI 状态并生成操作,无需元数据或底层 GUI 结构支持。其架构结合基于 ReAct 的推理范式和选择性观察,优化了计算效率。
    • 优势:通过保留 GUI 截图历史,增强任务适应性,支持更动态的人类式交互。

8.1.2 开源模型

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

  1. Qwen-VL 系列

    • Qwen-VL:通过 Vision Transformer 编码器和 Qwen-7B 语言模型,在视觉-语言基准测试中表现卓越,支持多语言交互。
    • Qwen2-VL:引入动态分辨率处理和多模态旋转位置嵌入,支持长视频处理并优化性能与计算效率。
  2. InternVL-2

    • 结合 Vision Transformer 和大语言模型,处理文本、图像、视频及医学数据。通过渐进对齐策略在多模态任务中表现出色,适用于需要综合多模态理解的 GUI 代理。
  3. CogVLM

    • 优化视觉与语言信息整合,在参数较少的情况下完成跨模态任务,特别适合资源受限的应用。
  4. Ferret

    • 提供统一的指代与定位任务框架,通过混合区域表示实现对 GUI 元素的精确交互,适合实时 GUI 应用中的设备端部署。
  5. LLaVA 系列

    • LLaVA:集成视觉编码器和语言解码器,轻量化设计适合快速实验与适配。
    • LLaVA-1.5:引入新型跨模态连接器,支持高分辨率图像输入,在数据效率和开源可用性上表现优异。
  6. BLIP-2

    • 通过利用冻结的预训练模型和轻量化查询 Transformer,在视觉-语言任务中实现了最优性能,适合资源有限的环境中的 GUI 代理。
  7. Phi-3.5-Vision

    • 紧凑模型,支持高效的多模态推理与设备端推理,适合需要高效整合图像与文本理解的 GUI 代理。

闭源与开源基础模型均显著推动了 LLM 驱动 GUI 代理的能力发展。闭源模型提供了强大的即用性能,而开源模型则为定制与优化提供了灵活性,支持针对多样化 GUI 应用的量身定制解决方案。这些模型在多模态推理、效率和可扩展性方面的创新,正在推动 GUI 代理向更智能、更可访问的方向发展。

8.2 大型动作模型(Large Action Models, LAMs)

虽然通用基础 LLM 在多模态理解、任务规划和工具使用等能力上表现出色,但通常缺乏针对 GUI 任务的专门优化。为了解决这一问题,研究人员引入了大型动作模型(LAMs),即通过上下文相关的 GUI 专用数据集(详见第 7 章)对基础 LLM 进行微调的模型,以增强其以动作为导向的能力。这些模型是优化 GUI 代理“大脑”的关键步骤,能够显著提升代理的性能。


LAM 的主要优势

  1. 增强的动作导向能力

    • 功能:通过专注于动作导向任务,LAM 能够准确解释用户意图,并生成精确的动作序列。
    • 特点:经过微调的 LAM 能够无缝地将其输出与 GUI 操作对齐,提供符合用户请求的可执行步骤。
  2. 复杂任务的专门规划能力

    • 功能:LAM 在设计和执行复杂、多步骤工作流方面表现卓越。
    • 应用:无论任务涉及多个应用程序还是互相依赖的操作,LAM 能够利用其在广泛的动作序列数据集上的训练经验,创建连贯的长期计划。
    • 意义:这种能力使其特别适合需要跨多种工具进行复杂规划的生产力任务。
  3. 改进的 GUI 理解和视觉定位能力

    • 功能:通过训练包含 GUI 截图的数据集,LAM 显著提高了其检测、定位和解释 UI 组件(如按钮、菜单和表单)的能力。
    • 特点:借助视觉线索,而不仅仅依赖结构化 UI 元数据,LAM 在多样化的软件环境中表现出高度的适应性和高效性。
  4. 通过模型规模优化提升效率

    • 特点:许多 LAM 构建在较小的基础模型之上,减少了模型规模,从而提升了计算效率,同时保持了对复杂任务的强大适应能力。
    • 意义:这使得 LAM 能够在资源受限的设备上实现高效运行,为更广泛的应用场景提供支持。

开发 LAM 的过程

如图 23 所示,开发专用 LAM 的过程始于一个功能强大的通用基础模型,理想情况下该模型具备视觉-语言模型(VLM)能力。通过对这些模型进行微调,利用包括用户指令、控件树、UI 属性、动作序列和带注释的截图在内的全面 GUI 专用数据集,将它们转变为优化的 LAM。这种优化弥合了规划与执行之间的差距。

通用 LLM 通常仅在用户查询后提供文本计划或抽象指令,可能缺乏执行所需的精确性。而 LAM 驱动的 GUI 代理则能够超越单纯的规划,主动且智能地在 GUI 上执行任务,通过直接与应用界面交互,以卓越的精确性和适应性完成任务。这标志着 GUI 代理从被动任务规划器向主动智能执行器的演变。

8.3 面向 Web GUI 代理的 LAMs

在基于 Web 的 GUI 代理领域,研究人员开发了专门的 LAM,以提升代理在 Web 环境中的交互和导航能力。这些模型专为处理动态内容和多样化交互模式的 Web GUI 而设计。

关键模型和框架
  1. WebGUM

    • 功能:通过整合 HTML 理解与视觉感知,利用 Flan-T5 进行指令微调,并结合 ViT 处理视觉输入。
    • 优势:多模态理解能力强,在 MiniWoB++ 和 WebShop 等基准测试中表现优异,支持数据高效设计与多步骤推理。
  2. Agent Q

    • 特点:结合蒙特卡洛树搜索(MCTS)与自我评价机制,优化复杂任务的成功率(如产品搜索和预订)。
    • 应用:基于 HTML DOM 表示生成结构化动作计划与环境命令,展示了推理与搜索的深度融合。
  3. GLAINTEL

    • 目标:针对动态 Web 环境,通过 Flan-T5 模型实现高效交互。
    • 特点:利用强化学习优化查询和导航操作,在低计算资源下实现与 GPT-4 相当的性能。
  4. OpenWebVoyager

    • 创新:通过模仿学习与迭代优化循环,结合 GPT-4 的反馈,提升 Web 导航能力,实现任务跨领域的泛化。
  5. WebRL

    • 特点:引入自适应任务生成与动态奖励机制,基于 WebArena 环境对 LLM 进行训练,显著提高 Web 任务的成功率。

8.4 面向移动 GUI 代理的 LAMs

移动平台为 GUI 代理带来了独特的挑战,包括多样化屏幕尺寸、触摸交互和资源限制。研究人员开发了针对这些挑战的 LAM,以提升代理在移动环境中的交互和导航能力。

关键模型和框架
  1. MobileVLM

    • 功能:基于 Qwen-VL-Chat 的高级视觉语言模型,专为移动 UI 操作任务设计。
    • 数据支持:使用 Mobile3M 数据集(包含 300 万个 UI 页面和交互记录),在动作预测与导航任务上表现出色。
  2. DigiRL

    • 特点:采用强化学习框架,从离线到在线适应真实环境中的随机性,支持多步骤任务。
    • 创新:利用预训练的视觉语言模型高效处理 GUI 截图与导航命令,在 AITW 数据集上的性能显著优于基线方法。
  3. VGA

    • 目标:减少对文本数据的依赖,优先处理基于图像的线索(如形状、颜色、位置)。
    • 数据支持:基于 RICO 数据集,通过双阶段微调提高 GUI 布局理解与用户交互的精确性。
  4. UINav

    • 设计:通过紧凑的编码器-解码器架构,实现移动设备上的 UI 自动化任务。
    • 特点:使用 SmallBERT 进行文本与屏幕元素编码,支持设备端推理,适用于多任务泛化。

这些模型通过创新的训练方法、高效的模型架构和专用数据集应对平台特定的挑战,显著推动了移动和 Web GUI 代理领域的发展。它们在复杂环境中的表现进一步验证了 LAM 在 GUI 代理优化中的核心地位。 

8.5 面向计算机 GUI 代理的 LAMs

在桌面和笔记本环境中,GUI 代理需要处理复杂的应用程序、多任务处理和多样化的交互模式。为计算机 GUI 代理开发的专用 LAMs 提升了其在这些场景中的能力,使其能够执行更复杂的任务。

关键模型和框架

  1. ScreenAgent [282]

    • 功能:集成了规划、执行和反思阶段,专为与计算机屏幕进行自主交互设计。
    • 数据支持:使用 ScreenAgent 数据集进行微调,该数据集包含多样化任务的全面 GUI 交互数据。
    • 输入与输出:以屏幕截图为输入,生成 JSON 格式的鼠标和键盘动作为输出。
    • 能力:实现了对 UI 元素的精确定位,支持连续多步任务,并能处理实时 GUI 交互。
    • 意义:其基于基础模型处理实时 GUI 交互的能力为 LLM 驱动的 GUI 代理设定了新基准,是未来构建更通用智能代理的理想参考。
  2. Octopus [309]

    • 功能:结合高层规划与实际操作,开创了具身视觉-语言编程的新方向。
    • 技术:基于 MPT-7B [393] 和 CLIP ViT-L/14 [371],整合自我视角和鸟瞰视角以进行视觉理解并生成可执行动作代码。
    • 数据支持:通过 OctoVerse 数据集进行训练,涵盖丰富注释的环境(如 OmniGibson、Minecraft 和 GTA-V),支持常规任务和推理密集型任务。
    • 创新:采用带有环境反馈的强化学习(Reinforcement Learning with Environmental Feedback),确保自适应规划和执行能力。
    • 意义:其依赖视觉功能的无缝任务泛化能力,展示了在复杂 GUI 环境中作为统一模型操作具身代理的潜力。
  3. Wang 等人研究中的 LAM 框架 [283]

    • 案例:以 Windows 操作系统上的 UFO [18] 平台为例,展示了 LAMs 在 GUI 环境中的实际应用。
    • 基础模型:基于 Mistral-7B [369] 开发,超越了传统 LLM,将任务规划与可执行输出集成在一起。
    • 输入与训练策略
      • 通过 UI Automation (UIA) API 提供结构化输入。
      • 采用多阶段训练策略,包括任务规划预训练、模仿学习、自主探索强化和强化学习。
    • 成果:在真实 GUI 任务中的评估表明,LAM 在任务成功率上显著优于标准模型。
    • 意义:该框架为将用户请求转化为现实操作的智能 GUI 代理奠定了基础,为生产力和自动化领域带来了重要进步。

这些面向计算机 GUI 代理的 LAM 的发展展示了高级视觉理解、任务规划和动作执行的深度集成。这些模型推动了桌面代理向更加智能化和强大化的方向发展,为未来更复杂的计算机 GUI 代理奠定了基础。 

8.6 跨平台大型动作模型(LAMs)

为实现跨平台适应性,研究人员开发了跨平台 LAMs,使 GUI 代理能够在移动设备、桌面系统和 Web 界面等多种环境中无缝运行。

关键模型与框架

  1. CogAgent [15]

    • 功能:一个高级视觉语言模型,专注于 PC、Web 和 Android 平台上的 GUI 理解与导航。
    • 技术:基于 CogVLM [289],通过高分辨率跨模块处理 GUI 截图,高效解析 UI 元素及其空间关系。
    • 应用:在 Mind2Web [257] 和 AITW [271] 等基准测试中表现卓越,支持生成精确的动作计划并与 GUI 交互。其升级版本 GLM-PC [398] 提供了增强的控制能力。
  2. Ferret-UI 2 [299]

    • 开发者:苹果公司
    • 功能:面向跨平台(iPhone、Android、iPad、Web 和 AppleTV)的多模态大语言模型,专注于 UI 理解。
    • 技术:采用动态高分辨率图像编码、自适应网格化技术,并利用由 GPT-4 生成的高质量多模态训练数据。
    • 优势:在 UI 指代、定位和交互任务上超越前代模型,树立了跨平台 UI 适应性和性能的新标杆。
  3. ShowUI [300]

    • 目标:引入了一种创新的视觉-语言-动作(Vision-Language-Action)模型,用于 Web、桌面和移动环境中的任务规划与导航。
    • 技术:基于 Phi-3.5-Vision-Instruct 骨干网络,支持多帧动态视觉输入和 JSON 结构化输出动作。
    • 应用:在 ScreenSpot [24] 和 GUI-Odyssey [272] 等基准测试中表现出色。
  4. OS-ATLAS [301]

    • 功能:引入了一个基础动作模型,专为跨平台 GUI 代理(Windows、macOS、Linux、Android 和 Web)设计。
    • 特点:通过大规模多平台数据集和统一动作空间,显著提升了 GUI 定位和分布外泛化任务的表现。
    • 意义:作为一个强大的开源替代方案,OS-ATLAS 推动了高级 GUI 代理技术的民主化。

这些跨平台 LAMs 展现了统一模型在多样化环境中适应的潜力,显著增强了 GUI 代理的可扩展性和适用性。 

8.7 关键总结

针对 GUI 代理的 LAMs 的探索揭示了塑造智能交互未来的几个重要见解:

  1. 小型模型支持设备端推理:

    • 大多数优化的 LAM 使用较小的基础模型(通常在 10 亿到 70 亿参数之间)。
    • 优势:减少计算开销,使其能在资源受限设备(如移动设备和边缘设备)上运行,解决隐私问题并降低延迟。
  2. 增强的 GUI 理解减少对结构化数据的依赖:

    • 像 VGA [267] 和 OmniParser [170] 这样的模型强调视觉定位和基于图像的微调,减少了对结构化 UI 元数据的依赖,提高了对多样化软件环境的适应能力。
  3. 强化学习连接静态与动态环境:

    • 像 DigiRL [214] 这样的模型展示了通过强化学习从静态训练数据扩展到动态实际环境的有效性,增强了代理的鲁棒性和可靠性。
  4. 统一的函数调用增强互操作性:

    • 模型如 xLAM [264] 通过标准化数据格式和函数调用机制,促进了多轮交互和跨平台推理,解决了兼容性问题。

9 LLM 驱动 GUI 代理的评估

评估是提升 GUI 代理功能和用户体验的关键,需从多个维度进行系统分析。通过评估代理在各种任务上的有效性,不仅可以衡量其性能,还为其持续改进提供了框架,同时也鼓励了技术创新。

当 GUI 代理完成任务时,它会生成动作序列、捕获截图、提取 UI 结构并记录环境状态。这些输出成为评估代理性能的基础。未来章节将探讨这些评估方法,分析用于全面评估 GUI 代理的指标和测量方式,并概述现有的跨平台 GUI 代理基准及其特点和所解决的挑战。

9.1 评估指标

评估 GUI 代理需要多维度、全面的指标,以衡量其在准确性、效率和合规性(例如安全性)等方面的性能。在典型的基准测试设置中,GUI 代理接收自然语言指令作为输入,并需自主执行操作直至任务完成。在此过程中,可以收集多种数据,如代理采取的动作序列、逐步观察(如 DOM 或 HTML 结构)、截图、运行日志、最终状态以及执行时间。这些数据可以帮助评估人员判断任务是否成功完成,并分析代理的性能。

以下是评估 GUI 代理的关键指标总结,不同研究可能对这些指标使用不同的命名,但计算方式相似。以下内容统一了这些指标的命名。

关键评估指标

  1. 步骤成功率(Step Success Rate)

    • 定义:衡量任务中的成功步骤数与总步骤数的比率。
    • 意义:高步骤成功率表明代理在执行细粒度步骤时具有精确性和可靠性,这对于多步骤任务至关重要。
    • 参考:[257], [262], [271]
  2. 回合成功率(Turn Success Rate)

    • 定义:回合指用户与代理之间的一次完整交互,包括多个步骤。该指标衡量所有交互回合中成功完成的回合比例。
    • 意义:专注于代理在交互式或对话式任务中理解并满足用户期望的能力,尤其适用于需要动态用户-代理沟通的任务。
    • 参考:[143], [259]
  3. 任务成功率(Task Success Rate)

    • 定义:衡量所有基准测试任务中成功完成的任务比例,忽略中间步骤,专注于最终任务状态是否达成。
    • 意义:反映代理整体处理复杂工作流的能力,提供端到端的任务完成评估。
    • 参考:[317], [327], [329]
  4. 效率评分(Efficiency Score)

    • 定义:评估代理在考虑资源消耗、执行时间或所需步骤的情况下完成任务的效率。该指标可进一步细分为以下子指标:
      • 时间成本(Time Cost):完成任务所需的时间。
      • 资源成本(Resource Cost):完成任务所需的内存/CPU/GPU 使用量。
      • LLM 成本(LLM Cost):执行任务期间 LLM 调用的计算或货币成本。
      • 步骤成本(Step Cost):完成任务所需的总步骤数。
    • 参考:[333], [335]
  5. 合规完成率(Completion under Policy)

    • 定义:衡量任务在遵守策略约束(如安全、伦理、隐私或业务规则)的情况下成功完成的比例。
    • 意义:确保代理在任务执行期间符合用户定义或组织规则,在涉及敏感领域时尤为重要。
    • 参考:[314]
  6. 风险比率(Risk Ratio)

    • 定义:评估任务执行过程中代理操作潜在风险的比率,识别可能导致漏洞、错误或安全问题的因素。
    • 意义:较低的风险比率表明代理具有更高的可信性和可靠性,而较高的风险比率则表明需要改进以降低风险并增强鲁棒性。
    • 参考:[314]

GUI 代理的基准测试中,各平台和任务设置的指标实现可能会有所不同。表 17 到表 21 映射了基准测试中使用的原始指标(可能有不同名称)到上述定义的指标类别。这些多维度的评估指标为衡量代理性能和促进其改进提供了有力框架,同时为 GUI 代理的持续优化和发展指明了方向。 

9.2 评估测量方法

为了有效评估 GUI 代理,使用了各种测量技术来评估其准确性及其与预期输出的对齐程度。这些测量方法验证代理性能的不同方面,包括文本和视觉正确性、交互准确性以及系统状态感知,评估工具包括代码、模型,甚至是其他代理 [25]。以下总结了用于对 GUI 代理进行基准测试的关键测量方法。根据这些测量,预先定义的评估指标可以相应地计算。

  1. 文本匹配(Text Match):
    该测量方法评估代理的基于文本的输出是否与预期结果一致。例如,当代理浏览电子商务网站时,是否能够正确找到目标产品名称。文本匹配可以涉及不同的严格程度,包括:

    • 完全匹配(Exact Match): 确保输出与预期结果完全一致。
    • 部分或模糊匹配(Partial or Fuzzy Match): 允许近似匹配,以处理如拼写错误或同义词等微小变体。
    • 语义相似性(Semantic Similarity): 使用文本嵌入的余弦相似度或其他语义相似性度量来衡量更深层次的语义对齐。

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

  2. 图像匹配(Image Match):
    图像匹配侧重于验证代理是否正确地停留在预期页面(例如网页、应用程序 UI),或是否选择了正确的图像。它涉及对比屏幕截图、所选图形元素或视觉结果与基准图像,使用图像相似度度量或视觉问答(VQA)方法。此测量在需要精确视觉识别的任务中至关重要。

  3. 元素匹配(Element Match):
    该测量检查代理与特定 UI 元素(如 HTML、DOM 或应用程序 UI 层次结构)进行交互的准确性。这些元素可能包括:

    • HTML 标签和属性: 确保代理识别并交互正确的结构元素。
    • URL 和链接: 验证与导航相关的元素。
    • DOM 层次结构: 确保在动态或复杂网页界面中与预期 DOM 结构对齐。
    • UI 控件和部件: 验证与平台特定控件(如按钮、滑块、复选框、下拉菜单等)交互的准确性。
    • 可访问性标识符: 在移动平台(如 Android 和 iOS)中使用资源 ID 以确保正确的元素选择。
    • 视图层次结构: 在移动应用程序中评估代理与预期视图层次结构的对齐程度,类似于网页应用程序的 DOM 结构。
    • 系统控件和 API: 确保与操作系统控件或 API(如文件对话框、系统菜单或通知)正确交互。

    元素匹配确保代理在不同平台上执行任务时与用户界面组件的强健交互。

  4. 动作匹配(Action Match):
    该测量评估代理的操作(如点击、滚动或按键输入)是否与预期序列一致。其评估内容包括:

    • 动作准确性(Action Accuracy): 验证每个动作(包括动作类型及其参数)是否正确执行,例如点击正确的按钮或输入正确的信息。
    • 动作序列对齐(Action Sequence Alignment): 确保操作按照正确顺序发生以满足任务需求。
    • 位置预测(Location Prediction): 检查空间操作(如鼠标点击或触摸手势)是否定位在界面的目标区域。

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

  5. 状态信息(State Information):
    状态信息测量在任务执行期间与系统环境相关的运行时数据。它提供可能影响代理行为的上下文信息,例如:

    • 应用程序状态: 有关正在交互的应用程序状态的信息(如打开的文件、活动窗口、已保存文件的位置)。
    • 系统日志: 记录代理决策和交互的详细日志。
    • 环境变量: 有关操作系统或运行时环境的上下文数据。

    状态信息对于调试、性能分析以及在多种条件下确保可靠性非常有价值。

这些测量技术共同构建了一个全面的评估框架,确保代理不仅能完成任务,还能以精确、高效和适应性强的方式执行。它们共同帮助建立对代理在真实场景中可靠执行任务的信任,同时确保遵守相关政策约束。

9.3 评估平台

评估 GUI 代理需要多种平台,以捕获这些代理运行的不同环境。这些平台涵盖了 Web、移动和桌面环境,每种环境都有其独特的特性、挑战和评估工具。本节总结了这些平台的关键要素及其在 GUI 代理基准测试中的作用。

  1. Web 平台:
    Web 平台是 GUI 代理最常见的环境之一,广泛应用于日常任务,如网页浏览、表单填写和数据抓取。Web 平台的评估主要包括以下特点:

    • 动态内容(Dynamic Content): Web 应用通常涉及通过 JavaScript、AJAX 或类似技术生成的动态元素,代理需要能够有效处理异步更新。
    • 多样化的框架(Diverse Frameworks): Web 技术(如 HTML、CSS、JavaScript 框架)的多样性要求代理具备强大的能力,以便与各种界面设计和结构交互。
    • 评估工具和库(Tools and Libraries): 评估通常使用 Selenium、Puppeteer 或 Playwright 等工具来模拟浏览器交互、收集运行时信息,并将结果与预期结果进行比较。
    • 无障碍性合规(Accessibility Compliance): 评估还可以检查代理是否符合 WCAG(Web 内容无障碍指南)等标准,以确保包容性。
  2. 移动平台(Mobile):
    移动平台(特别是 Android 和 iOS)因其受限的界面和触摸交互而对 GUI 代理提出了独特的挑战。在移动平台上评估代理涉及以下方面:

    • 屏幕尺寸限制(Screen Size Constraints): 代理必须适应有限的屏幕空间,确保交互的准确性和效率。
    • 触摸手势(Touch Gestures): 评估代理模拟点击、滑动和捏合等手势的能力至关重要。
    • 平台多样性(Platform Diversity): Android 设备在屏幕尺寸、分辨率和系统版本方面差异巨大,而 iOS 则提供更标准化的条件。
    • 评估工具(Evaluation Tools): 常用的测试和评估工具包括 Appium 和 Espresso(适用于 Android),XCTest(适用于 iOS),以及各种模拟器。
  3. 桌面平台(Desktop):
    桌面平台提供更丰富和复杂的环境,涵盖 Windows、macOS 和 Linux 等多个操作系统。在桌面平台上,评估通常侧重于以下方面:

    • 应用多样性(Application Diversity): 代理需要处理各种桌面应用,包括办公工具、Web 浏览器和定制的企业软件。
    • 交互复杂性(Interaction Complexity): 桌面界面通常包含高级功能,如键盘快捷键、拖放操作和上下文菜单,代理必须正确处理这些交互。
    • 跨平台兼容性(Cross-Platform Compatibility): 评估可能涉及确保代理可以在多个操作系统和版本上正常运行。
    • 自动化框架(Automation Frameworks): 使用 Windows UI Automation、macOS Accessibility API 以及 Linux 的 AT-SPI 等工具来自动化和监控代理的交互。
    • 资源使用(Resource Usage): 内存和 CPU 使用情况是重要指标,尤其是在长时间运行或资源密集型应用中。

每个平台在评估 GUI 代理方面都提出了不同的挑战和机遇。Web 平台强调可扩展性和动态交互,移动平台侧重于触摸界面和性能,而桌面平台则需处理复杂的工作流和跨应用任务。一些基准测试是跨平台的,这要求代理具备强大的适应性和通用性,以在不同环境中运行。

所有讨论的指标、测量方法和平台对于全面评估 GUI 代理至关重要。目前,大多数现有的基准测试都依赖于这些评估方法。接下来,我们将在表 17 至表 21 中对 GUI 代理的基准测试进行概述,并在随后的小节中详细说明其中的关键内容。

9.4 Web 代理基准测试

在 Web 环境中评估 GUI 代理需要使用能够捕捉 Web 任务复杂性和细微差别的基准测试。多年来,已经开发了多个基准测试,每个都从不同的角度和挑战推动了该领域的发展。

MiniWoB++ [133], [134] 是该领域的先驱之一,专注于评估基于 Web GUI 任务的强化学习代理。它引入了现实的交互场景,包括点击、输入和导航 Web 元素,并利用**工作流引导探索(WGE)**来提高在稀疏奖励环境中的效率。代理的评估基于成功率,即代理实现最终目标状态的能力,突出其在不同复杂度下的适应性和稳健性。

随着对更现实环境需求的增长,Mind2Web [257] 代表了一项重要的进步,使代理能够处理真实的 HTML 环境,而不仅仅是简化的模拟环境。该基准测试诞生于大型语言模型(LLMs)发展之后,提供了涵盖多个领域的超过 2000 项任务,挑战从基本操作到复杂的多页面工作流。该基准强调端到端任务性能,使用如“元素准确率”和“任务成功率”等指标,推动代理的严格评估。

在 Mind2Web 的基础上,MT-Mind2Web [312] 引入了对话式 Web 导航,要求代理在多个轮次中与用户和环境进行复杂交互。该基准测试包括 720 个 Web 导航对话会话,共 3,525 组指令和操作序列对,平均每次会话包含五次用户-代理交互,从而评估代理的对话能力和适应性。

为了进一步增强现实感,WebArena [310] 提供了模拟真实人类交互的 Web 环境新标准。它包含来自多个领域的 812 项任务,要求代理在多标签 Web 界面上执行复杂、长期的交互。该基准强调功能正确性,而不仅仅是表层匹配,从而推动代理在实际应用中的能力评估。

考虑到多模态能力的重要性,VisualWebArena 是 WebArena 的扩展版,专门评估代理在真实的视觉驱动 Web 任务上的能力。它包含 910 项任务,涉及分类、购物、Reddit 等领域,并引入新的视觉功能,如**视觉问答(VQA)**和模糊图像匹配,从而挑战代理在多模态理解方面的能力。

VideoWebArena [321] 进一步扩展了基准测试,专注于评估代理在 Web 视频内容上的理解和交互能力。它包含 74 段视频和 2,021 项任务,测试代理在基于视频的信息检索、上下文推理和技能应用方面的能力。该基准测试揭示了当前模型在代理推理和视频理解方面的关键缺陷。

与之互补的是,VisualWebBench [323] 提供了一个多模态基准,评估代理在网站、元素和操作层面的理解、OCR、语义关联和推理能力。该基准包含来自真实网站的 1,500 个样本,识别出诸如低分辨率输入导致的 OCR 质量低下等挑战,为代理提供了独特的评估视角。

除了多模态挑战之外,评估代理在环境干扰下的弹性也至关重要。EnvDistraction [322] 基准测试评估了多模态 GUI 代理在非恶意干扰(如弹出窗口、推荐内容)下的忠实度。研究表明,即使是最先进的代理也容易受到此类干扰,突显了稳健的多模态感知对于可靠自动化的必要性。

在安全性和可信度方面,ST-WebAgentBench [314] 提出了独特的方法,强调企业环境中不安全行为的管理。它引入了人机协作系统基于策略的层次结构,并引入了“基于策略的完成(CuP)”指标,以评估代理对组织、用户和任务特定策略的合规性。该基准测试在 Web 环境中运行,使用 BrowserGym 框架,涵盖 235 项任务,涉及多个安全维度,为企业场景中的代理评估提供了全面框架。

在企业软件任务自动化方面,WorkArena [320] 侧重于评估 ServiceNow 平台上的常见任务。其基准测试包含 33 项任务,19,912 个独特实例,突显了当前最先进的代理与人类在企业 UI 自动化能力方面的巨大差距,并为未来创新指明了方向。

在与实时网站交互方面,WebOlympus [325] 提供了一个开放平台,使 Web 代理能够通过 Chrome 扩展接口与实时网站进行交互。它支持多种任务,并集成了安全监控系统,以防止有害操作,促进更安全的 Web 任务自动化,并为代理在现实场景下的评估提供了关键工具。

这些基准测试在推进 Web GUI 代理评估方面做出了重大贡献,每个基准测试都涉及不同的关键领域,如现实性、多模态性、安全性和企业适用性。它们的发展反映了创建能够处理复杂 Web 交互的高级代理所面临的不断变化的挑战和需求。

9.5 移动代理基准测试

在移动平台上评估 GUI 代理面临独特的挑战,这主要是由于交互的多样性和移动应用的复杂性。为了应对这些挑战,已经开发了多个基准测试,每个基准测试都为移动代理的评估做出了贡献,推动了该领域的发展。

PIXELHELP [132] 是该领域的早期探索之一,专注于将自然语言指令映射到移动用户界面上的操作。该基准解决了解析和执行复杂、多步骤任务的重大挑战,提供了一个全面的数据集,将英文指令与人工执行的移动 UI 操作配对。它包含了 187 个多步骤指令,涵盖四大任务类别,并通过**完全匹配(Complete Match)部分匹配(Partial Match)**等指标来评估模型的任务准确性。

为了满足系统化评估的需求,ANDROIDLAB [278] 建立了一个针对 Android 平台的全面框架,为自主代理提供一致的评估环境。该基准引入了操作空间(action space)运行模式(operational modes),支持纯文本和多模态模型的评估。ANDROIDLAB 提供了 XML 和 SoM 运行模式,使大型语言模型(LLM)和大型多模态模型(LMM)能够在等效环境中模拟真实交互。该基准测试涵盖 9 款应用程序中的 138 项任务,评估代理的**成功率(Success Rate)冗余逆转(Reversed Redundancy)**等指标。

Mobile-Bench [333] 进一步挑战代理在 API 和 UI 操作方面的能力,它在真实的 Android 环境中将这两种元素结合在一起。其多应用设置和三种不同的任务类别,测试代理在处理简单和复杂移动交互方面的能力,超越了传统的单一应用场景。评估方法采用**检查点(CheckPoint)**指标,在每个关键操作步骤对代理进行评估,提供对规划和决策能力的深入见解。

MobileSafetyBench [334] 侧重于移动设备控制的安全性,提供了一个结构化的评估框架,优先考虑代理的有用性(Helpfulness)安全性(Safety)。该基准在 Android 模拟器中对常见的移动任务进行了严格测试,重点评估分层风险,包括法律合规性和隐私保护。其独特的功能是间接提示注入测试(Indirect Prompt Injection Test),用于测试代理的稳健性。评估确保代理在取得实际成功的同时能够有效管理风险,推动 LLM 可靠性和安全自主设备控制的研究。

SPA-BENCH [335] 扩展了基准测试的范围,涵盖多种语言和应用场景,为智能手机代理提供了一个全面的评估工具。它支持单应用任务(single-app)跨应用任务(cross-app),提供模块化的“即插即用”框架,方便代理集成。SPA-BENCH 包含来自 Android 系统应用和第三方应用的多样化任务集合,为代理评估提供了真实的测试环境,并使用成功率(Success Rate)、**效率(Efficiency)资源使用率(Resource Usage)**等指标。

MobileAgentBench [337] 旨在提供高效且用户友好的评估工具,专为 Android 设备上的代理量身打造。它提供了完全自主的测试流程,利用最终 UI 状态匹配(Final UI State Matching)和实时应用事件跟踪。该基准涵盖 10 个开源 Android 应用程序的 100 项任务,并按难度进行分类,支持多路径成功,以提高可靠性和适用性。其评估指标包括任务成功率(Task Success Rate)效率(Efficiency)延迟(Latency)令牌成本(Token Cost),为代理性能提供全面洞察。

LlamaTouch [336] 进一步补充了这些基准测试,提供了一个针对现实 Android 环境的移动 UI 任务自动化评估工具。其特色在于状态标注(State Annotation),使代理能够准确评估任务,而不受执行路径变化或动态 UI 元素的影响。LlamaTouch 包含 496 项任务,涉及 57 个独特应用,通过先进的匹配技术(如像素级屏幕截图和文本屏幕层次结构)来减少误报,并支持多样化的任务复杂度。

总体而言,这些基准测试在推进移动 GUI 代理的评估方面做出了重大贡献,涵盖了任务复杂性、安全性、效率和可扩展性等方面。它们的贡献对于开发更强大、更可靠的移动平台代理至关重要。

9.6 计算机代理基准测试

在桌面计算机上评估 GUI 代理涉及各种应用程序和复杂的工作流。多个基准测试已被开发出来,以评估代理在这些环境中的能力,每个基准测试都针对特定挑战并推动该领域的发展。

Act2Cap [254] 是该领域的早期基准之一,专注于通过光标作为关键的视觉引导,以视频格式捕获和描述 GUI 操作。Act2Cap 强调 GUI 交互的细节,特别是基于光标的操作(如点击和拖拽),这对于推进 GUI 密集型任务的自动化至关重要。该基准测试包含了 4,189 个来自各种 Windows GUI 环境的样本,并使用**元素交集度(IoU)**等指标评估语义准确性以及时间和空间精度。

为多模态代理提供可扩展且真实的计算机环境,OSWorld [317] 引入了一个创新的框架,支持在 Ubuntu、Windows 和 macOS 等多个操作系统上的任务设置、基于执行的评估和交互式学习。OSWorld 作为一个统一环境,反映了现实世界计算机使用的复杂性和多样性,能够适应任意应用程序和开放式计算任务。其任务套件包括 Ubuntu 上的 369 项任务和 Windows 上的 43 项任务,使用基于执行的成功率等指标进行严格评估。

在 OSWorld 的基础上,WindowsArena [338] 针对 Windows 操作系统,创建了超过 150 个不同的任务。该基准测试专注于多模态、多步骤任务,要求代理在真实 Windows 环境中展示规划、屏幕理解和工具使用能力。为了解决评估速度慢的问题,WindowsArena 采用了Azure 云上的并行部署,大幅缩短了评估时间,并实现了对各类应用和 Web 领域的全面测试。

OFFICEBENCH [340] 专注于办公自动化任务,推出了一个创新框架,用于在真实办公工作流中评估 LLM 代理。它在 Linux Docker 环境中模拟了 Word、Excel、电子邮件等多个办公应用的复杂工作流,挑战代理在不同复杂度和使用场景下的适应能力。定制化指标评估操作准确性和决策能力,为代理在跨应用自动化方面提供了关键见解。

针对数据科学和工程工作流的自动化,Spider2-V [339] 提供了一个独特的基准测试,涵盖 20 个企业级应用程序的 494 项真实任务,从数据仓库到可视化,评估代理在 Ubuntu 上处理代码生成和复杂 GUI 交互的能力。该基准采用基于信息的验证、基于文件的比较和基于执行的验证等多层次评估方法。

在生产力软件领域,AssistGUI [97] 提供了一个开创性的框架,用于评估代理的能力。它引入了基于 Actor-Critic 的具身代理框架,能够执行复杂的分层任务规划、GUI 解析和操作生成。该数据集包括设计、办公和系统设置等多种任务,并提供项目文件以确保可重复性。AssistGUI 通过像素级精度和过程遵从性的结果驱动评估,突出 LLM 代理在处理复杂桌面软件工作流方面的潜力和局限性。

总体而言,这些基准测试为桌面平台上的 GUI 代理提供了全面的评估框架,解决了任务复杂性、跨应用自动化、可扩展性和真实性等挑战。它们的贡献对于开发能够在桌面环境中进行复杂交互的先进代理至关重要。


9.7 跨平台代理基准测试

为了开发能够在多个平台上运行的 GUI 代理,跨平台基准测试至关重要。这些基准测试挑战代理适应不同的环境和界面,评估其通用性和稳健性。

VisualAgentBench(VAB)[260] 作为一个创新的基准测试,评估 GUI 和多模态代理在广泛的现实交互任务中的能力。其涵盖的环境包括 Web(WebArena-Lite)、Android(VAB-Mobile)以及游戏环境,重点关注基于视觉的交互和高级决策任务。VAB 采用多层数据收集策略,包括人工演示、基于程序的求解器以及模型引导。评估指标包括成功率,确保在导航和内容修改等任务中进行全面的性能评估,从而填补 GUI 基于 LLM 代理评估标准的空白。

CRAB [328] 补充了 VAB,提供了一个创新的跨环境基准测试,评估多模态语言模型代理在跨设备任务执行中的能力。它独特地支持无缝的多设备任务执行,评估代理在涉及 Ubuntu Linux 和 Android 环境的场景中的表现。CRAB 采用基于图的评估方法,将任务分解为子目标,并支持多个正确的完成路径,提供对规划、决策和适应性的深入评估。其评估指标包括完成率、执行效率、成本效率和成功率

ScreenSpot [24] 专注于跨平台视觉代理的 GUI 定位,提供了一个全面的基准,强调依赖屏幕截图而非结构化数据的任务。它包括来自 iOS、Android、macOS 和 Windows 的 600 多张屏幕截图和 1,200 项多样化的指令。ScreenSpot 评估点击准确性和定位精度,衡量代理仅凭视觉提示识别和交互 GUI 元素的能力。

这些跨平台基准测试推动了 GUI 代理在多个平台上的发展,为评估其在不同环境中的适应性和多功能性提供了重要的参考。


9.8 主要结论

GUI 代理基准测试的演变反映了向更现实、交互式和全面的评估环境转变的趋势。以下是关键趋势和未来发展方向:

  1. 向更互动和现实的环境转变:基准测试逐渐从合成场景过渡到更具互动性和现实性的环境,采用模拟器、Docker 容器以及真实应用程序,以更准确地评估代理能力。

  2. 跨平台基准测试的崛起:覆盖移动、Web 和桌面环境的跨平台基准测试代表了对 GUI 代理通用性评估的重要进展。

  3. 更高的人机交互和现实感:随着多轮对话和交互情境的引入,测试代理处理动态和迭代交互的能力。

  4. 可扩展性与自动化挑战:未来应着重探索自动化任务生成和评估技术,以提高基准测试的可扩展性。

  5. 安全性、隐私和合规性评估的加强:随着代理在敏感领域的应用增加,确保其符合法律和伦理标准变得至关重要。

通过持续创新和合作,GUI 代理基准测试将不断演进,以捕捉现代代理的多方面能力,最终推动更直观和高效的人机交互。

10 LLM 驱动的 GUI 代理的应用

随着 LLM 驱动的 GUI 代理不断成熟,越来越多的应用开始利用这一概念,创造更智能、更用户友好且基于自然语言的界面。这些进展在研究论文、开源项目和行业解决方案中得到了体现。典型的应用包括:(i)GUI 测试,已经从传统的基于脚本的方法转变为更直观、基于自然语言的交互;(ii)虚拟助手,通过自然语言接口以更自适应和响应迅速的方式自动化用户的日常任务。

10.1 GUI 测试

GUI 测试用于评估软件应用的图形用户界面,以确保其符合指定的需求、功能和用户体验标准。它验证界面元素(如按钮、菜单、窗口)以及它们对用户交互的响应。最初,GUI 测试是手动执行的,随着自动化工具(如 Selenium 和 Appium)的出现,使测试人员能够自动执行重复性任务,提高测试覆盖率并减少测试时间。然而,LLM 驱动的 GUI 代理引入了一种新的范式,使非专业人员能够通过自然语言接口直观地测试 GUI,而无需传统脚本编写。

10.1.1 通用测试

早期研究表明,GPT-3 等 LLM 可以通过解释自然语言测试用例并自动执行测试来实现 GUI 测试自动化。例如,一种方法将 GUI 状态与 GPT-3 提示结合,利用 Selenium 和 OpenCV 等工具减少手动脚本编写,实现黑盒测试。进一步的研究使用 GPT-4 和 Selenium WebDriver 测试 Web 应用,与传统的Monkey Testing相比,达到了更高的覆盖率,显著简化了 GUI 测试流程并提高了效率。

GPTDroid 将 GUI 测试重新定义为交互式问答任务。它通过从 GUI 页面提取结构化语义信息,并利用记忆机制进行长期探索,将活动覆盖率提高了 32%,并精确发现关键缺陷。这一方法表明,将对话式界面与记忆整合可以提供更全面的应用测试。

在 Android 环境中,DROIDAGENT 引入了基于意图驱动的测试框架。它通过感知 GUI 状态(JSON 格式)并利用 LLM 进行现实任务规划,实现任务生成和执行。其高效的功能覆盖率展示了意图驱动测试如何变革 GUI 应用的功能验证。

AUITestAgent 进一步扩展了 LLM 驱动的 GUI 测试能力,将自然语言需求与 GUI 功能相结合。它采用多模态分析和动态代理组织,能够高效执行简单和复杂的测试指令。该框架展示了结合多源数据提取与强大语言模型以实现商业应用功能测试的价值。

VisionDroid 采用基于视觉的方法,通过将屏幕截图与文本上下文对齐来检测非崩溃类缺陷,确保应用的可靠性,并识别传统方法通常忽视的逻辑不一致问题。

此外,LLM 代理也在无障碍测试方面取得了进展。AXNav 针对 iOS 无障碍功能,如 VoiceOver 和动态字体,自动执行测试,并通过自然语言指令和基于像素的模型生成带注释的视频,以供交互式审查,提供了可扩展、用户友好的无障碍测试解决方案。


10.1.2 文本输入生成

在文本输入生成方面,研究表明 GPT-3.5 和 GPT-4 可以通过为 UI 字段生成上下文感知的文本输入来增强 Android 应用测试。系统地评估这些输入在多个应用程序上的效果,表明 LLM 在提高测试覆盖率和发现独特缺陷方面具有潜力,且无需大量手动干预。

QTypist 将文本输入生成定义为填空任务,利用 LLM 将活动和页面覆盖率提高了 52%,显著提升测试的广度和深度。


10.1.3 缺陷复现

在缺陷复现方面,CrashTranslator 通过将强化学习与 LLM 相结合,实现了从堆栈跟踪自动重现崩溃。其迭代导航和崩溃预测步骤显著减少了调试时间,优于最先进的方法。

同时,AdbGPT 展示了如何使用少样本学习和思维链推理(Chain-of-Thought Reasoning),将文本缺陷报告转化为可执行的 GUI 操作。AdbGPT 通过动态推断 GUI 操作,提供了一种高效轻量的缺陷复现解决方案。


10.1.4 验证

作为测试领域的新应用,MagicWand 展示了 LLM 在自动化“操作指南”验证方面的潜力。它通过从搜索引擎提取、执行和优化指令,解决了用户任务自动化的关键挑战,提高了 GUI 驱动工作流的可靠性。


总结而言,LLM 驱动的 GUI 代理通过引入自然语言驱动的方法、基于视觉的对齐技术和自动化缺陷复现,彻底改变了 GUI 测试领域。这些创新显著提高了测试覆盖率、效率和可访问性,树立了智能 GUI 测试框架的新标杆。


10.2 虚拟助手

虚拟助手(如 Siri)是基于 AI 的应用程序,通过执行任务、回答问题和跨各种平台(如 Web 浏览器、移动设备和计算机)执行命令来帮助用户。最初,这些助手仅限于处理简单的语音或文本输入指令,提供基于规则的响应或执行固定的工作流程,类似于 RPA。它们主要专注于设置闹钟或查询天气等基本任务。

随着 LLM 和代理技术的进步,虚拟助手已显著进化。如今,它们支持更复杂的、上下文感知的 GUI 交互,能够通过文本或语音命令提供个性化的响应,满足各种应用场景和用户需求。这一进展将虚拟助手从基础工具转变为智能的、自适应的助手,能够管理复杂的工作流并提高用户生产力。

图 26 展示了在智能手机上基于 GUI 代理的虚拟助手的概念示例。在此场景中,代理允许用户通过聊天交互执行任务,例如为用户设置截图快捷方式。此功能对于不熟悉手机功能的用户尤其有用,可将复杂任务简化为对话命令。


要探索更多由 GUI 代理驱动的虚拟助手的真实应用,我们在表 23 中总结了研究、开源项目和生产级应用方面的最新进展。

10.2.1 研究进展

近期的研究显著推动了虚拟助手的能力发展,通过将 LLM 驱动的 GUI 代理集成到各种应用中,实现更智能、更自适应的交互。

首先,研究人员探索了 LLM 在 GUI 自动化中的集成,以增强业务流程自动化。例如,Agentic Process Automation(APA)[354] 引入了 ProAgent,该工具可在 GUI 环境中自动创建和执行工作流程。ProAgent 通过使用 ControlAgentDataAgent 等代理,支持动态分支和报告生成等复杂操作,适用于 Slack 和 Google Sheets 等应用。这一方法突破了传统的 RPA(机器人流程自动化)局限,提供灵活、智能的工作流,显著减少了人工干预,展示了 LLM 驱动代理在虚拟助手中的变革潜力。

在移动平台上,研究人员开发了 LLMPA [355],该框架利用 LLM 自动执行移动应用(如支付宝)中的多步骤任务。它直接与应用程序 GUI 交互,模仿人类操作(点击、输入),并使用 UI 树解析和对象检测来精准理解环境。独特的可控校准模块确保逻辑执行的准确性,展现了 LLM 虚拟助手在处理复杂工作流方面的潜力,并为用户提供实际帮助。

PromptRPA [359] 通过自然语言提示自动化智能手机任务,采用多代理框架,解决了界面更新和用户输入多样性等挑战。它利用 OCR 和层次 GUI 分析等高级感知技术,支持实时反馈和迭代改进,强调了以用户为中心的设计对 LLM 驱动的虚拟助手的重要性。

在无障碍领域,LLM 驱动的 GUI 代理极大地提升了残障人士的用户体验。例如,VizAbility [353] 通过结合结构化图表导航和 LLM 对话交互,使盲人和低视力用户能够通过自然语言查询图表内容和趋势。该工具基于 Olli 框架和 Vega-Lite 规范,无需直接视觉感知即可探索视觉数据,解决了 GUI 中的无障碍问题。

此外,EasyAsk [360] 为年长用户提供了上下文感知的应用内助手,增强非技术用户的可用性。它集成了语音查询、触摸交互和 GUI 元素,生成准确的、上下文相关的教程搜索,帮助用户更有效地使用智能手机。

GPTVoiceTasker [356] 关注语音交互,允许用户通过自然语言命令免提操作 Android GUI。它利用实时语义提取和层次化 UI 元素表示法,实现多步骤任务自动化,并通过学习用户行为提高效率,减少认知负担。

AutoTask [357] 进一步扩展了语音交互的可能性,使虚拟助手能够在 GUI 环境中执行多步骤任务,无需预定义脚本。该工具通过试错学习经验驱动学习,能够自主探索和适应未知任务和环境,展示了其在免提交互中的潜力。

在创意工作流方面,AssistEditor [358] 是一个多代理框架,专注于自动化视频编辑任务。它与 GUI 环境交互,利用对话系统和视频理解模型,将用户意图与专业编辑任务桥接起来,展现了 LLM 驱动 GUI 代理在创意领域的应用潜力。


10.2.2 开源项目

除了研究原型外,开源项目也极大地推动了 LLM 驱动的 GUI 代理的发展和普及,使其更易于采用和定制。

  • OpenAdapt [361] 是一个开源框架,利用大型多模态模型,通过观察和复制用户在 GUI 环境中的交互来自动化任务。它通过捕获屏幕截图和记录用户输入,使用计算机视觉技术执行标准 UI 操作。OpenAdapt 学习用户操作,减少手动脚本的需求,广泛适用于多个行业。

  • AgentSea [362] 提供了一个模块化工具包,用于创建能够在多个 GUI 环境中导航和交互的智能代理。其灵活性有助于开发虚拟助手,自动化复杂任务,同时坚持 UNIX 哲学,使其易于使用和扩展。

  • Open Interpreter [363] 利用 LLM 本地执行代码,支持用户通过自然语言命令与计算机 GUI 交互,适用于数据分析、Web 自动化和系统管理。其开放性和可定制性使其成为用户希望通过 AI 自动化操作的强大工具。

这些开源项目不仅推进了 LLM GUI 代理的发展,还促进了其民主化,使开发者和用户能够根据特定需求调整和应用这些技术。


10.2.3 生产应用

LLM 驱动的 GUI 代理在生产环境中的集成展示了其在商业应用中增强用户体验的实际可行性和影响力。

  • Power Automate [120] 是一个 AI 驱动的 GUI 代理,允许用户以自然语言描述任务,并记录操作,将这些描述转换为自动化工作流。它极大地简化了重复性任务的自动化,提高了效率。

  • MultiOn [364] 作为个人 AI 代理,能够自主执行 Web GUI 任务,利用 LLM 解释自然语言命令并执行精确的 Web 操作,极大地提高用户生产力。

  • YOYO Agent in MagicOS [365] 在 MagicOS 9.0 系统中运行,利用 Honor 的 MagicLM,帮助用户执行跨应用命令,并学习用户行为,提供个性化帮助。这一集成展示了 LLM 在移动设备上的强大能力。

这些应用案例表明 LLM 驱动的 GUI 代理在自动化、生产力和用户参与方面的巨大潜力。


10.3 关键收获

LLM 驱动的 GUI 代理为 GUI 测试和虚拟助手等任务带来了新的能力,提供了自然语言交互、增强的自动化以及跨平台的可访问性。尽管它们仍处于早期阶段,但其发展展现了巨大的未来潜力,关键见解包括:

  1. 自然语言驱动的交互:降低了非专业用户的门槛,在 GUI 测试和虚拟助手中,通过简单语言输入即可自动执行复杂任务。

  2. 增强复杂任务自动化:代理无需手动脚本即可自动执行多步骤任务,显著提高测试覆盖率和效率。

  3. 多模态感知和交互:结合视觉和文本输入,改进 GUI 元素的识别和操作,适用于动态和复杂界面。

  4. 改进的可访问性和用户体验:为残障用户和非技术用户提供便捷的技术访问,提高可用性。

LLM 驱动的 GUI 代理正改变 GUI 交互和自动化的格局,持续的研究和创新对于克服当前挑战并充分实现这些智能代理的潜力至关重要。

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

尽管 LLM 驱动的 GUI 代理技术取得了重大进展,但该领域仍处于起步阶段。当前仍存在诸多技术挑战和限制,阻碍了其在现实世界中的广泛应用。解决这些问题对于提高代理的有效性、安全性和用户接受度至关重要。本节概述了关键的限制,并提出未来研究方向,以克服这些挑战,并通过具体示例加以说明。

11.1 隐私问题

LLM 驱动的 GUI 代理通常需要访问敏感用户数据,如屏幕截图、个人凭证、交互日志和机密文件,这些数据可能需要传输到远程服务器进行处理。基于云的部署带来了隐私风险,例如数据泄露、未经授权的访问以及个人信息的滥用。例如,一个自动化电子邮件管理的代理需要访问用户的电子邮件内容,这可能涉及敏感信息,而将这些数据传输到云端会增加隐私风险,用户可能因此对采用此类代理持谨慎态度。

潜在解决方案:

  • 本地推理(On-Device Inference): 未来研究应着眼于在用户设备上直接运行语言模型,避免上传个人数据。
  • 隐私保护技术: 采用联邦学习、差分隐私和同态加密等方法,在保护数据的同时进行学习。
  • 透明数据处理: 开发人员应与隐私政策制定者合作,向用户透明地披露数据的使用方式,并获得用户明确的同意。

11.2 延迟、性能与资源限制

GUI 代理依赖于计算需求庞大的 LLM,可能导致高延迟和响应速度缓慢,影响用户体验。在时间敏感的应用中,操作延迟可能导致用户不满,甚至系统故障。在资源有限的设备(如手机)上,延迟问题更加严重,例如 LLM 代理在移动应用中可能导致性能下降或电池消耗过快。

潜在解决方案:

  • 模型优化: 采用模型蒸馏、剪枝、量化等技术,生成更轻量化的模型,提高运行效率。
  • 硬件加速: 利用 GPU、TPU 等硬件加速器,探索并行处理方法,提高计算效率。
  • 边缘计算与分布式推理: 通过分布式计算来减轻本地设备的负担。
  • 优化 API 调用: 通过高层 API 将多个操作合并为单个调用,以减少交互步骤,提高响应速度。

11.3 安全性与可靠性

GUI 代理在软件环境中执行实际操作可能会引发安全性和可靠性问题。错误的操作可能导致数据损坏、应用崩溃或安全漏洞。此外,LLM 的概率性输出可能会生成错误、矛盾甚至虚构的操作。例如,一个负责自动化金融交易的代理可能会误解指令,将资金转账到错误账户,导致重大损失。

潜在解决方案:

  • 错误检测与处理: 开发强大的错误检测和处理机制,如执行前验证、异常处理和回滚机制。
  • 权限管理: 限制代理的访问权限,防止未经授权的操作。
  • 标准化交互协议: 促进代理与应用程序的安全集成,确保符合身份验证和授权协议。
  • 正式验证方法: 采用形式化验证来证明系统的安全性和可靠性。

11.4 人机交互挑战

用户在使用 GUI 代理时,任何手动干预可能会干扰代理的执行,导致冲突。此外,用户可能会提供含糊或模糊的请求,使代理难以准确理解意图。在某些情况下,代理可能缺乏足够的信息或遇到意外障碍,需要用户确认才能继续操作。

例如,当代理被要求发送电子邮件给“Tom”时,可能需要用户确认正确的联系人,并在发送前请求最终确认,以避免不可逆的操作。这类场景凸显了设计用户友好型 GUI 代理的复杂性。

潜在解决方案:

  • 以用户为中心的设计: 提供可定制的交互选项,允许用户控制代理行为。
  • 澄清对话: 代理应具备自然语言理解能力,能在遇到歧义时主动询问用户。
  • 人机协作系统: 允许在关键任务执行期间由用户干预,以指导或更正代理决策。
  • 透明性与可解释性: 向用户展示代理的推理过程,以建立信任并提高协作效率。

11.5 定制化与个性化

为了提高 GUI 代理的实用性,代理需要了解每个用户的偏好,并据此调整行为。用户的习惯和工作流程各不相同,通用的“一刀切”方案可能无法提供最佳体验。例如,一个帮助用户编辑文档的代理需要学习用户的写作风格、格式偏好和常用短语,否则其建议可能会显得无用或不一致。

潜在解决方案:

  • 用户建模与偏好学习: 采用强化学习、协同过滤、上下文感知计算等技术,使代理能够随时间推移学习用户习惯。
  • 隐私保护的个性化: 通过设备端学习和匿名数据处理,提供个性化体验的同时保护用户隐私。
  • 自适应学习: 开发可以动态适应用户行为变化的代理,提高长期使用体验。

11.6 伦理与法规挑战

LLM 驱动的 GUI 代理在责任、透明度、公平性和用户同意方面引发了伦理问题。例如,代理在招聘过程中可能因训练数据中的偏见而无意中做出歧视性决策。此外,不同地区的法规要求差异也使代理的部署更加复杂。

潜在解决方案:

  • 制定道德准则: 确保开发和使用 GUI 代理时遵循明确的伦理指导方针。
  • 行为审计与监控: 设立机制来检测并防止歧视或不公平行为。
  • 偏见检测与缓解: 在模型开发过程中引入偏见检测,并在推理时采用公平性调整。
  • 用户控制与透明性: 提供明确的隐私设置,告知用户代理的能力和数据使用方式,以增强信任。

11.7 可扩展性与泛化能力

目前的许多 GUI 代理是针对特定应用或环境量身定制的,这限制了其在更广泛领域的可扩展性泛化能力。由于软件界面的多样性,每个应用程序都具有独特的设计、布局和交互模式,这使得开发能够跨多个平台无缝运行的代理成为一项重大挑战,甚至在处理常见的弹出窗口时也是如此。

例如,一个为特定版本的文字处理软件设计的代理,可能在该应用更新界面或在不同 UI 布局的文字处理软件中使用时失效。当代理遇到不熟悉的应用或环境时,即使它们与之前的 GUI 有相似之处,也可能会出错,并需要进一步探索才能完全理解其功能。这种泛化能力的缺乏限制了代理的适用性,导致需要不断的更新或重新训练,而这通常需要消耗大量资源。


潜在解决方案:

为了提高可扩展性和泛化能力,从数据集的角度来看,一个可行的解决方案是创建全面的 GUI 代理数据集,涵盖各种环境、用户请求、GUI 设计、平台和交互模式。通过在训练过程中向 LLM 提供多样化的数据源,模型可以学习常见模式,形成更广泛的泛化理解,使其能够在遇到新界面时,根据已学到的相似性推断其功能。

为进一步增强适应能力,研究可以聚焦以下技术:

  • 迁移学习(Transfer Learning): 先在大型多样化数据集上进行预训练,然后在较小的特定任务数据集上进行微调。对于 GUI 代理,这意味着先在大量 GUI 交互数据上训练 LLM,然后为特定应用或领域进行定制化调整,以提高其在新环境中的适应能力。

  • 元学习(Meta-Learning): 使模型能够快速适应新任务,利用最少的数据进行学习。元学习帮助模型识别不同任务中的潜在结构和模式,使其在少量数据下快速泛化。

即便采用这些技术,代理在陌生环境中仍可能遇到困难。为解决这一问题,建议开发者提供支持性知识库,例如:

  • 使用手册和应用文档
  • 可搜索的常见问题解答(FAQ)
  • 由人类操作示范的教程

此外,技术如**检索增强生成(RAG)**可以在运行时从知识库中获取相关信息,以帮助代理做出更准确的决策。例如,当代理遇到未知的界面元素时,它可以查询文档,了解其用途和交互方式,而无需进行广泛的重新训练。

实施这些解决方案需要代理开发者、应用程序提供商和环境构建者的合作,共同推动代理的可扩展性和泛化能力的发展。


11.8 总结

LLM 驱动的 GUI 代理在自动化复杂任务提升用户生产力方面具有巨大的潜力。然而,要实现这一潜力,需要通过专门的研究和开发努力来克服上述挑战。通过解决这些问题,行业可以开发出更健壮、可广泛应用的 GUI 代理。

成功应对这些挑战需要研究人员、行业从业者、政策制定者和最终用户的紧密合作。跨学科团队的建立可以促进创新,并确保 GUI 代理在开发过程中以技术、伦理和社会影响为基础,推动负责任的创新。

随着该领域的不断发展,持续的评估和改进将是关键,以确保技术进步与用户需求和期望保持一致,最终实现更加智能、安全和用户友好的 GUI 代理。

12 结论

LLM(大语言模型)与 GUI 自动化的结合标志着人机交互领域的变革性时刻。LLM 作为“大脑”,提供自然语言处理、理解以及 GUI 理解能力,而 GUI 自动化工具则充当“双手”,将代理的认知能力转化为在软件环境中的可执行命令。二者结合形成了 LLM 驱动的 GUI 代理,引入了一种全新的用户交互范式,使用户可以通过直观的自然语言指令控制应用程序,而无需执行复杂的、特定于平台的 UI 操作。这种协同已展示出巨大的潜力,并在研究和工业领域蓬勃发展。

在本综述中,我们对 LLM 驱动的 GUI 代理 领域进行了全面、系统和及时的概述。本文介绍了支撑这些代理的核心组件和先进技术,同时深入探讨了数据收集、模型开发、框架、评估方法以及现实世界的应用。此外,我们还剖析了这些代理当前面临的局限性和挑战,并勾勒了未来研究的路线图。希望本综述能够成为学习 LLM 驱动的 GUI 代理 领域的有价值的指南,同时也为希望在该领域保持前沿的研究人员提供重要的参考。

展望未来,LLM 驱动的 GUI 代理 预计将越来越广泛地应用,并在日常生活中极大地提升生产力和可访问性。随着研究和开发的持续推进,这项技术有望彻底改变我们与数字系统的交互方式,将复杂的工作流程转化为无缝、自然的交互体验。

;