大模型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)</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值