有没有想象过,如果有一天,我们和最常用的电子设备的交互方式发生了改变,生活将会出现怎样翻天覆地的变化?
随着科技的进步和经济的发展,手机和电脑不再是极少数人才可以使用的“奢侈品”,它们成了大部分人日常生活的一部分,从最初的大块头到越来越移动轻薄,从全部按键到全部触屏,语音助手的出现也给很多用户带来新的体验。这些“进化”都不同程度上带来了生活效率的变革,让电子设备可以更好地为人类所用。
随着 LLM 以及 Agent 应用的飞速发展,LLM 操作系统也不再是天方夜谭,或许会带来下一场大变革。它到底是怎样实现的呢?微软等机构的研究者们最近就带来了一篇详细综述,让我们一起来看看!
论文标题:
Large Language Model-Brained GUI Agents: A Survey
论文链接:
https://arxiv.org/pdf/2411.18279
我们主要从以下七个方面来详细揭秘,其中关键技术和数据收集部分是非常重要的环节,会展开具体介绍。
发展历程
我们知道“罗马不是一天建成的”,在我们今天看到的 LLM-brained GUI Agent 之前,这一领域的技术也经历了非常显著的演变。
早期的时候,更多的是基于规则和脚本的自动化系统,之后随着机器学习的出现和发展,更智能、更自适应的系统得以实现,而近几年随着 LLM 的发展壮大,自然语言交互成为了主要的交互方式。
下图便展示了近几年的发展成果。
关键技术和流程设计
是怎样的关键技术和流程设计带来了其飞速的发展呢?
我们主要从操作环境、模型推理、动作执行和记忆这几个方面详细来介绍一下,这些技术也构成了如今 LLM-brained GUI Agent 的主要流程。
通过这样的框架,可以实现对用户的自然语言指令进行处理,然后解析 GUI 的当前状态,再执行模拟人类操作的动作,从而完成用户的任务这一复杂流程。
操作环境(Operating Environment)
首先来看一下操作环境。
如上图右下角所示,指的是 Agent 运行的场景,主要有移动平台、Web 平台和桌面平台,不同的平台所面对的情况也大不相同。
移动平台需要处理手势识别、应用导航及特定平台约束如权限限制,Web 平台需要应对动态内容、响应式布局及异步更新如 AJAX 请求,而在桌面平台,Agent 可以利用系统级自动化 API 获取 UI 元素数据,并执行复杂的多窗口操作。
Prompt Engineering
Prompt Engineering 是 Agent 与 LLM 交互的关键部分。
它会将用户指令、环境感知数据(如截图、UI 元素)整合成结构化输入,最大程度上提高输出的质量。其中用户指令(User Request)就是整个任务的目标,模型会将其拆解成具体可执行的步骤,而环境感知数据(Environment State)也就是 GUI 的当前状态,可以提供视觉信息,再加上其他补充信息(Complementary Information),经过 prompt 在格式和语境的优化,便组成了一个完整的 prompt。
而其中格式和语境优化也是提高 LLM 推理效果的核心所在。
模型推理(Model Inference)
考虑了操作环境和 prompt 设计,让我们来看看其他环节。
先来看一下模型推理,这是实现智能化任务规划与执行的核心,主要包括规划,动作推理、补充信息这三个方面。
首先,需要 LLM 根据用户输入的任务描述规划初步规划(Plan),明确任务步骤及其顺序。
之后根据计划,模型要进行动作推理(Action),识别需要执行的具体动作,例如点击、输入、拖拽等。
除此之外,针对复杂任务,模型可能还需要生成辅助信息作为补充信息(Complementary Outputs),例如中间步骤的描述或额外的用户指令,以确保任务顺利完成。
这三部分借助 LLM 的能力,将用户的指令转变为了可执行的步骤。
动作执行(Action Excecution)
在推理阶段生成计划后,Agent 需要执行具体动作,将指令转换为能够直接影响 GUI 的操作,模拟人类交互,比如界面操作,原生 API 调用,AI 工具的使用等。
记忆(Memory)
介绍到这里,关键的流程已经基本包括了,但还有一个模块那就是记忆机制,在多步骤任务中也是至关重要的。
它可以跟踪 Agent 的先前动作、任务进度和环境状态,确保任务连贯性并提高适应性,主要分成短期记忆和长期记忆。
短期记忆负责记录当前任务相关的上下文信息,而长期记忆则保存跨任务的经验数据,如下图详示。
当然,除了上述提到的关键模块之外,研究人员还可以使用其他更高阶的技术,比如多 Agent 框架(multi-agent system)、自反思机制(self-reflection)、强化学习、自适应(self-evolution)等技术,进一步提高 Agent 应对复杂场景的能力。
直观的示例大家可以参考下图。
数据收集
了解了基本的流程框架和关键技术组成,接下来让我们看一看数据获取。我们都知道,高质量的数据对于训练和优化模型提高其表现是至关重要的,数据集有什么特点,它们在 GUI 任务中会发挥怎样的作用,以及数据要如何收集和处理,这些都是大家关注的重点。
数据组成
首先,让我们先来看看到底需要哪些数据。和训练普通的 LLM 不同,想要获得一个高质量的 LLM-brained GUI Agent,数据需要包括用户的交互记录、截图、UI 元素树、任务描述、操作序列等。
比如收集真实用户的操作行为(如点击、输入、滑动),从 GUI 界面生成视觉数据和结构化信息,记录用户的自然语言指令及其对应的操作步骤等等,这些都是这个场景里不可或缺的关键数据。
收集方法
这些数据听起来好像和我们平时接触到的数据有所不同,它们该如何收集呢?有以下几个方面可以考虑,比如自动化工具、用户实验或者公开数据集。
利用自动化测试框架(如 Selenium、Appium)可以生成大规模交互数据,通过模拟实际操作场景可以捕获用户在特定任务下的交互数据,当然也可以使用已有的任务数据集(如 WoB 或 WebShop),这些都是可行的获取办法。
数据特点
收哪些数据和如何收取我们已经了解了,那如何保证它的有效性呢,这就需要我们首先考虑一下这些数据需要具备哪些必要的特征,总结来说就是多样性、高精度和动态性。
数据应涵盖不同平台、应用程序和任务场景,以增强 Agent 的泛化能力,更要确保数据中的 UI 元素标签、动作序列及任务结果的准确性,还要捕获 GUI 的动态变化(如响应式布局、实时更新)以提高 Agent 的适应性。
只有数据的分布上保证有这些特点,才算是好的优质的训练数据。
数据处理
当然,为了保证数据质量,还可以通过标注、增强、合成的方式来进一步处理。
比如可以数据中的关键元素(如按钮、菜单)添加标签,便于模型理解,可以通过截图裁剪、UI 变换等方式,生成更多的训练样本以扩展数据规模,还可以利用现有模型生成虚拟数据,像生成模拟的任务指令与操作序列等。这些方法都可以帮助提高数据质量,让其更好地发挥作用。
模型训练
训练数据我们也了解的非常清楚了,那么用于训练的 brain——模型该如何选择呢?
根据综述,我们可以使用开源的大语言模型(LLM),通过引入图像输入如 GUI 截图进行多模态微调,使模型能够同时处理视觉和语言信息,从而更好地理解 GUI,提升其任务规划和工具使用等能力。
而另一个关键模块也就是动作执行部分,研究人员提出使用大型动作模型(LAM)来解决,让其生成操作序列、处理触摸屏交互和应用程序的特殊要求、处理桌面操作系统中的多任务和多窗口交互等。再配合我们前面提到的高质量数据,Agent 便可以获得“最强大脑”。
评价指标
我们知道了怎么得到“最强大脑”和设计怎样的流程让 Agent 实现我们的要求,那么该如何评价它的表现来看看它在实际应用中是不是有效和可靠的呢,可以从以下几个方面考虑:
任务完成时间:衡量 Agent 执行任务所需的时间,时间越短表示效率越高,用户体验也会更好。
准确性:是否能够根据用户指令完成正确的操作,尤其是在复杂、多步骤的任务中,这是它能力的体现。
错误率:在执行任务过程中发生错误的频率,较低的错误率表示可靠性较高,会让用户更信任。
适应性:在面对新任务或变化的 GUI 时的适应能力,较高的适应性使 Agent 能够应对多变的环境,。
用户满意度:用户对 Agent 执行任务的整体体验,包括任务完成的速度、准确性及用户交互的流畅度。
现有的 Agent 框架和应用
到此,我们便较为全面地了解了 LLM-brained GUI Agent 的在技术上的方方面面了,大家一定也好奇,它目前是否已经有一些明确的落地应用,接下来也让我们更为详细地了解一下。
首先是 Web 导航,这是最常见的应用之一,代表性的像 WebAgent,支持用户通过自然语言与 Web 应用交互,完成复杂的浏览和操作任务,如“查找最近的新闻”,“登录到电子邮件账户”,“播放某剧的第一季”等任务。
在移动平台,像 AutoDroid,一个专为 Android 系统设计的框架,用户可以通过简单的指令实现对移动设备的全面控制,特别是在手动操作繁琐或不便时,提供了极大的便利,能够执行如发送消息、启动应用、查找联系人等任务。
而在桌面环境中,很知名的像 UFO,一个专为 Windows 环境设计的 Agent,能够通过自然语言执行文件操作、应用管理及系统设置等任务,比如用户可以要求“删除桌面上的所有屏幕截图”,大大提高了生产力,减少了重复性工作。
挑战和发展方向
尽管 LLM-brained GUI Agent 在多个应用场景展示了出色的能力,但作为一个比较新的领域,仍面临一系列挑战,但同时也指明了发展方向,主要包括以下几个方面:
多模态处理能力提高
多模态学习和处理能力的提高至关重要,研究者们要开发更强大的多模态模型,更好地将视觉信息与语言信息结合起来,跨越视觉和语言的鸿沟,使其能够更好地理解和执行复杂的 GUI 交互任务。
跨平台兼容
使 Agent 在不同平台上保持高效和准确的性能也是一个巨大挑战。当前 Agent 往往需要针对不同平台进行定制,这在实际应用中增加了复杂性和开发成本,跨平台的 Agent 仍然是发展方向,通过开发通用任务模型,可以更加灵活地处理各类任务,快速适应新的环境和需求。
任务推理和规划能力提高
现有的 LLM 在复杂任务的推理和计划方面仍存在不足,尤其是在面对突发变化或不可预见情况时,Agent 可能难以做出准确判断。新的方法亟待提出,比如引入更多基于强化学习的技术,使 Agent 能够在执行过程中不断优化决策。
隐私保护和安全性增强
在收集和处理用户数据时,还可能会涉及到隐私和安全性问题,需要确保其在处理敏感数据时符合隐私保护标准,并采用先进的加密技术来保障数据的安全性。
总结
这篇综述系统地介绍了 LLM-brained GUI Agent 的流程设计、关键技术、数据收集、模型选择、评价方法、现有应用和未来发展方向,为研究者们提供了一本此领域研究的宝典。
希望这一技术能够在更多行业和应用场景中发挥作用,随着技术的成熟,成为现代自动化和智能系统的重要组成部分,帮助用户更高效地完成任务并提升生产力,让我们畅想的未来尽快到来!