官方仓库:https://github.com/OS-Agent-Survey/OS-Agent-Survey

一、引言

章节目录

第二章 讨论 OS Agents 的基础知识。

第三章 探讨构建 OS Agents 的两个关键方面:开发特定领域的基础模型,以及围绕这些模型构建有效的代理框架。

第四章 回顾常用的评估协议和基准测试,用于评估操作系统代理的性能。

第五章 讨论 OS Agents 面临的挑战和未来方向,特别关注与安全和隐私相关的问题,以及个性化和自我进化。

二、OS Agent 基础知识

OS Agents 具备三种核心能力:理解(understanding),规划(planning)和对齐(grounding)。

grounding 是指将自然语言文本与视觉场景之间进行对齐或连接的任务。在这个任务中,文本描述和视觉信息需要建立联系,以实现跨模态的理解和交互。

(一)关键组件

  1. 环境(Enviroment)【详见 4.2 节】

指其运行的系统或平台,包括桌面端、移动端或网页端。

  1. 观测空间(Observation Space)【详见 3.2.1 节】

涵盖了 OS Agent 可以访问的有关系统状态和用户活动的信息;

这些观测信息指导 Agent 理解环境,做出明智的决策,并确定实现用户定义目标的适当行动;

观测包括捕获来自操作系统的输出(如进行特定处理的屏幕图像)或文本数据(如屏幕描述和基于 Web 的上下文中 HTML 代码);

将这些不同数据结构整合在一起的多模态输入给 Agent 带来了有效理解和执行任务的重大挑战。

  1. 行动空间(Action Space)【详见 3.2.4 节】

定义了 OS Agent 通过 OS 提供的输入界面与环境交互的一系列操作;

可分为 input 操作(代表了与数字界面交互的主要方式)、navigation 操作(用于在系统界面中进行移动)和 extended 操作(利用外部工具或服务)。

(二)能力

  1. 理解(Understanding)

指 OS Agents 对复杂操作系统环境的理解能力;

环境包含多种多样的数据格式,如 HTML 代码和截图中捕获的 GUI;

随着代码长度增加、信息稀疏、高分辨率界面充斥着微小图标、细小文字和密集排列的元素时,这种复杂性会进一步加剧;

这样的环境对代理的感知能力提出了挑战,并要求其具备先进的上下文理解能力

理解能力不仅对于旨在实现信息检索的任务至关重要,也是有效执行广泛其他任务的基本前提条件。

  1. 规划(Planning)

指使 OS Agents 能够将复杂任务分解为可管理的子任务、并制定一系列行动以实现特定目标的能力;

在操作系统中进行规划时,代理通常需要根据环境反馈和历史行为动态调整计划;

在动态且不可预测的场景中,还需要采用诸如 ReAct 和CoAT 等推理策略确保任务的有效执行。

  1. 对齐(Grounding)

指将文本指令或计划转化为在运行环境中可执行动作的能力;

代理必须识别屏幕上的元素并提供必要的参数,以确保成功执行;

尽管操作系统环境通常包含大量可选择的元素和可能的操作,但由此产生的复杂性使得接地任务尤为具有挑战性。

三、关键方面

讨论构建 OS Agents 的有效策略。

(一)基础模型

包括两个关键组成:模型架构训练策略。前者定义了模型如何在 OS 环境中处理输入和输出,后者增强了模型完成复杂任务的能力,主要包括预训练、监督微调和强化学习。

OS Agents 的基础模型主要包括的内容:架构和训练策略(预训练、监督微调和强化学习)。

1、架构

通常做法是利用现有的开源 LLM 和 MLLM 来构建模型;一些架构可以通过将 LLM 与视觉编码器(Vision Encoder)连接起来实现,使模型能够同时处理文本和视觉信息;此外,MLLM 也经常通过加入补充模块进行调整,以满足特定需求,例如高分辨率图像理解。

  1. 现有的 LLMs

现有 LLMs 架构已经能够处理用户指令并读取HTML代码,以感知用户界面中包含的信息;

因此,一些研究直接选择开源的 LLMs 作为骨干模型而未进一步优化其架构,以开发用于操作系统代理的基础模型;

T5 和LLaMA 是比较流行的架构。

  1. 现有的 MLLMs

MLLMs 额外具备处理视觉信息能力,且同时保留复杂自然语言处理能力;

LLaVA、Qwen-VL、InternVL、CogVLM等架构可以有效地开发 OS Agents 的基础模型。

  1. 串联的 MLLMs

选择适合处理 OS 任务的 LLM 和视觉编码器,并以类似于现有 MLLM 的方式进行串联。

  1. 修改后的 MLLMs

为了增强基础模型的理解能力,进一步调整 MLLM 的架构。

2、预训练(Pre-training)

大多数现有的预训练方法都利用了从具备强大文本或视觉理解能力的通用预训练模型中进行持续的预训练,利用了这些预训练模型中已有的知识,提升模型在 GUI 相关任务上的表现,促进视觉信息与文本信息之间内在关联的获取。

  1. 数据来源

(1)公开可用数据

仅依靠公开可用数据进行预训练不足以应对 OS Agent 所需的复杂且多样的任务。

(2)合成数据

在预训练过程中引入合成数据。

  1. 任务

(1)屏幕对齐(Screen grounding)

预训练使模型能够根据文本描述从图像中提取目标元素的二维坐标或边界框。

(2)屏幕理解(Screen understanding)

一些研究认为,用于 OS Agent 的基础模型应能够从图像中提取语义信息,并分析和解释整个图像内容。

(3)光学字符识别(OCR)

OCR 在处理包含文本内容的GUI元素方面起着至关重要的作用。

3、有监督微调(Supervised Finetuning)

SFT 用以增强 OS Agents 的 planning 和 grounding 能力,需要付出努力收集特定领域的数据,以弥合自然图像任务与GUI任务之间的领域差距。

  1. planning

收集多步轨迹,为这些轨迹合成指令。

  1. grounding

首先将对象上的操作与 GUI 图像连接起来,然后合成参考这些图像的指令,常见的连接方法是渲染 GUI 的源代码;

与单纯学习操作源代码相比,通过其视觉形式进行操作的学习能够展现出更优异的性能,因为小部件之间的交互更加直观;

同时,通过GUI图像进行学习有助于避免幻觉现象,对未见过的GUI具有泛化能力。

4、强化学习(RL)

强化学习中,Agent 通过与环境的交互来学习最优决策。

早期利用 RL 训练 Agent 在网页和移动应用上完成任务,大模型通常用作特征提取器。

最近研究已逐渐转向“LLM as Agents”的范式,即让LLMs充当策略模型,并通过强化学习来使大型模型与最终目标保持一致。

【AI翻译】LLM as Agents 范式的具体文献

Thil等人[2024]利用Miniwob++基准测试,通过微调基于T5的模型并结合分层规划,同时整合多模态神经网络,采用监督学习和强化学习相结合的方式,改进了LLMs中的网页导航性能。Fereidouni等人[2024]采用Flan-T5架构,并引入了通过强化学习进行训练的方法。他们首先通过行为克隆利用人类演示数据,然后进一步使用PPO对智能体进行训练。Liu等人[2024a]遵循将LLMs作为智能体的范式,提出了AutoGLM,这是一种用于通过图形用户界面(GUI)自主控制计算设备的基础智能体。他们设计了一个中间接口,能够有效地分离规划行为和接地行为,并开发了一种自进化在线课程强化学习方法,以实现鲁棒的错误恢复和性能提升。FengPeiyuan等人[2024]提出了一种基于LLMs的智能体新型强化学习框架AGILE,该框架集成了LLMs、记忆模块、工具模块和执行器模块。强化学习使LLMs能够预测动作,而执行器模块则负责管理这些动作,从而增强决策能力和交互能力。此外,强化学习也被引入到仅基于视觉的模型[Shaw et al., 2023]和多模态大语言模型(MLLMs)[Bai et al., 2024, Wang et al., 2024a]的智能体中。

(二)Agent 框架

OS Agents 通常由四个核心组件组成:感知、规划、记忆和行动。

1、感知(Perception)

感知是 OS Agents 收集和分析其环境信息的过程。感知组件需要观察当前环境并提取相关信息以协助 Agent 的规划、行动和记忆优化。感知可以根据输入模态大致分操作系统的文本描述和 GUI 截图。

  1. 操作系统的文本描述(Textual Description of OS)

早期的研究受到限制,因为 LLMs 只能处理文本输入;

它们主要依赖工具将操作系统状态转换为结构化的文本描述,例如HTML、DOM或可访问性树;

这些方法可能会生成不相关或冗余的信息,对 OS Agents 对环境的判断产生负面影响,并导致错误操作;

一些新的方法被提出用于过滤掉无效的描述,确保 OS Agents 仅观察相关信息。

  1. GUI 截图

MLLMs 能够处理视觉输入,目前越来越多研究将 GUI 截图视为 OS Agents 的感知输入;

现有的大多数视觉编码器都是在通用数据上进行预训练的,使得 OS Agents 对 GUI 元素的敏感性较低;

为了增强在不微调视觉编码器的情况下理解 GUI 截图的能力,现有研究主要集中在GUI grounding。

2、规划(Planning)

规划是根据当前环境制定一系列行动以实现特定目标的过程,使 OS Agents 能够将复杂任务分解为更小、更易于管理的子任务,并逐步解决。

根据规划是否固定或是否响应环境变化而迭代,将现有研究分为全局规划和迭代规划。

  1. 全局(Global)

OS Agents 仅生成一次全局计划,并在执行过程中不根据环境变化进行调整。Chain-of-Thought(CoT)提示 LLMs 将复杂任务分解为推理步骤,这构成了大多数 OS Agents 中全局规划的基础;

由于全局规划是一次性的特性,研究重点在于适应 OS Agents 的环境和任务,从一开始就提出足够可行的计划。

  1. 迭代(Interactive)

允许 OS Agents 根据历史行为或环境变化持续迭代其计划,从而适应不断变化的环境,对有效应对动态且不可预测的环境至关重要;

ReAc 在 CoT 基础上,将推理与行动结果相结合,使规划更能适应环境变化,已被广泛应用于 OS Agents 的迭代式规划中。

3、记忆(Memory)

在增强 OS Agents 的智能性和执行效率这一研究中,记忆模块是核心组件之一。

  1. 记忆来源(Memory Sources)

近年研究越来越关注提高记忆的适应性和多样性,以满足更复杂任务的需求;

可分为内部记忆(即时信息存储)、外部记忆(外部知识支持)和特定记忆(操作优化);

- 内部记忆(Internal Memory)

按照用途分为:

(1)操作历史记录

通过记录每一步操作,有助于 OS Agents 追踪任务路径并优化决策。

(2)屏幕截图

存储屏幕截图支持视觉推理和GUI组件识别。

(3)状态数据

存储如页面位置和窗口状态等等来自环境的动态信息,以帮助于 OS Agents 快速定位任务目标,并在不断变化的环境中保持较高的任务执行精度。

按照存储方式分为:

(1)短期记忆存储(Short-term Memory)

存储有关当前任务的即时信息,包括 Agent 的动作历史、状态信息以及任务的执行轨迹;

支持决策优化和任务追踪,为正在进行的任务提供情境支持。

(2)长期记忆存储(Long-term Memory)

存储历史任务和交互记录。

提供长期的知识支持,主要通过知识库、外部文档和在线信息来丰富 Agent 的记忆能力。

存储与特定任务和用户需求直接相关的信息,如任务执行规则、子任务分解方法和领域知识;

可存储在内部或通过外部数据源扩展;

还可用于记录用户档案、偏好和交互历史,以支持个性化推荐、需求预测以及隐含信息的推断。

  1. 记忆优化(Memory Optimization)

内存优化能够在复杂任务中提升 Agent 在操作和决策方面的效率。

(1)管理(Management)

OS Agent 的记忆也可以得到有效管理,以生成更高层次的信息、整合冗余,并移除不相关或过时的信息;

有效的内存管理能够提升整体性能,防止因信息过载而导致的效率损失。

(2)成长经验(Growth Experience)

通过重新审视任务的每个步骤,Agent 可以分析成功与失败的原因,识别改进机会,并避免在类似场景中重复犯错。

(3)经验检索(Experience Retrieval)

OS Agent 可以通过从长期记忆中检索与当前任务相似的经验,从而高效地规划和执行操作,有助于减少冗余操作。

4、行动(Action)

行动空间定义了基于 (M)LLM 的 Agent 与 OS 交互的界面,涵盖计算机、移动设备和网页浏览器等平台。将 OS Agents 的动作空间分为输入操作、导航操作和扩展操作。

  1. 输入操作(Input Operations)

包括通过鼠标/触摸和键盘进行的交互,是 OS Agents 与数字界面交互的基础;

鼠标和触摸操作包括三种主要类型:点击/轻触操作、长按/按住操作和拖动/移动操作;

键盘操作包括基本文本输入功能和特殊按键操作(如快捷键、功能键)。

  1. 导航操作(Navigation Operations)

使 OS Agent 能够遍历目标平台并获取足够的信息以执行后续操作,包括基本导航和特定于网页的导航功能;

基本导航包括:滚动操作、后退/前进导航和主页功能;

网络导航包括:选项卡管理和 URL 导航功能。

  1. 扩展操作(Extended Operations)

提供了超越标准界面交互的额外功能;

主要包括:代码执行能力和 API 集成功能。

表2:面向操作系统代理的近期智能体框架。TD:文本描述,GS:GUI截图,VG:视觉 grounding,SG:语义 grounding,DG:双重 grounding,GL:全局,IT:迭代,AE:自动探索,EA:经验增强,MA:管理,IO:输入操作,NO:导航操作,EO:扩展操作。

四、OS Agent 的评估(Evaluation of OS Agents)

(一)评估协议(Evaluation Protocol)

对 OS Agents 进行评估的核心包括评估原则(如何开展评估过程?)和评估指标(需要评估哪些方面?)。

1、评估原则(Evaluation Principle)

评估过程主要分为客观评估主观评估

  1. 客观评估(Objective Evaluation)

主要基于标准化的数值指标来衡量操作 OS Agents 的性能;

指标通常是基于规则的计算或在标准基准数据集上进行硬编码的评估;

特别关注代理在感知方面的准确性、生成内容的质量、行动的有效性以及运行效率;

通常,特定指标的计算包括精确匹配、模糊匹配以及文本、元素和图像的语义匹配;

  1. 主观评估(Subjective Evaluation)

旨在衡量输出结果与人类期望的匹配程度,通常应用于需要高水平理解且难以用传统指标量化的场景;

此类主观评价基于不同的主观方面,包括相关性、连贯性、自然性、无害性和整体质量等;

早期的主观评价主要依赖于直接的人类评估,虽然能获得高质量的结果,但成本高昂且难以重复;

后来引入 LLM,利用其强大的指令遵循能力作为评估者来替代人类判断;

以 LLM 为裁判的评估方法能够提供详细的注释解释,从而更细致地了解智能体的优势和劣势;

提高了效率,但在可靠性和可控性方面仍存在局限性。

2、评估指标(Evaluation Metric)

在评估过程中,给定任务指令和当前环境输入后,代理需要执行一系列连续的动作,直到任务完成。通过收集代理在这一过程中的观察结果、动作输出以及其他环境信息,可以计算出特定的指标。

评估范围包括细致的步骤级评估(流程中的每一步是否与预定义路径一致)和更全面的任务级评估(Agent最终是否达成目标)。

  1. 步骤级评估(Step-level Evaluation)

侧重于对规划轨迹进行详细、逐步的分析,对智能体在每一步所采取的动作进行精细评估;

直接评估智能体针对每一步指令的输出,重点关注动作的语义合理性(即动作的语义基础)以及动作的目标的匹配情况,前者通常将每一步预测的动作与参考动作直接比较,以获得操作准确率和F1值,后者根据动作类型和元素的不同,采用不同的方法得到元素准确率和F1值;

视觉语义理解的具体任务中存在专门的指标;

通过对单个步骤的所有相关指标进行汇总,可以评估该步骤的成功程度,进而获得步骤成功率;

尽管能够提供精细的理解,但在评估长而连续的动作序列时仍存在局限性,并且给定的任务可能有多种有效的路径,为了提高评估的鲁棒性,通常需要将最终的任务结果纳入评估之中。

  1. 任务级评估(Task-level Evaluation)

侧重于最终输出,并评估智能体是否达到了期望的最终状态;

主要标准包括任务完成情况资源利用率,前者评估智能体是否已按照指令成功完成所分配的任务,后者则考察智能体在完成任务过程中的整体效率;

用于衡量操作系统代理成功完成分配任务的有效性;

包括:总体成功率(一种直接衡量任务完成比例的方法)、准确性(评估智能体响应或动作的精确性,确保输出结果与预期结果高度一致)和奖励函数(为强化学习中的智能体分配数值,以引导其朝着特定目标前进)。

用于评估智能体完成分配任务的效率;

考虑的因素包括步骤成本、硬件开销和时间消耗:步数比(将智能体执行的步骤数量与最优步骤数量进行比较)、API费用(用于评估与API调用相关的财务成本)、执行时间(衡量智能体完成任务所需的时间)和峰值内存占用(显示计算过程中GPU内存的最大使用量);

这些效率指标对于评估智能体的实时性能至关重要,尤其是在资源受限的环境中。

表3:OS Agents 的近期基准测试。根据平台将基准测试分为三个部分,并按发布日期排序。以下是对缩写的说明:BS:基准测试设置,M/P:移动设备,PC:桌面设备,IT:交互式,ST:静态,OET:运行环境类型,RW:真实世界,SM:模拟,GG:GUI基础,IF:信息处理,AT:代理式,CG:代码生成。

(二)评估基准平台(Evaluation Benchmark)

平台作为一个集成的评估环境,专门涵盖了执行基准测试的虚拟设置。不同的平台会带来独特的挑战和评估重点。一些基准测试还会同时结合多个平台。

1、按评估平台(Evaluation Platform)分类

  1. 移动端(Mobile)

由于屏幕较小,移动 GUI elements 较为简单;

但 elements 需要更复杂的操作,例如精确的手势来导航小部件或进行缩放。

Android 的开放特性提供了更广泛的操作空间,包括标准的 GUI 交互和函数调用 API(如发送短信),这给代理的规划和动作定位能力提出了更高的要求;

如:Android Control 等。

  1. 桌面(Desktop)

由于操作系统和应用程序的多样性,桌面平台更加复杂;

高效的桌面基准测试需要处理现实计算环境中广泛而复杂的多样性,这些环境跨越不同的操作系统、界面和应用程序;

因此,可管理任务的范围和测试代理的可扩展性往往受到限制;

如:OS World 等。

  1. 网页(Web)

网页开放,并且使用HTML、CSS和JavaScript构建,这使得它们易于实时检查和修改;

由于 Agent 与网页界面的交互方式与人类相同,因此可以以低成本从任何拥有网页浏览器、键盘和鼠标的用户那里众包获取人类执行网页任务的示范数据;

这种易用性也引起了该领域研究人员的广泛关注;

如:Web shop 等。

2、按基准设置(Benchmark Setting)分类

OS Agents 感知和采取行动的环境空间在不同的评估基准中也有所不同,主要分为静态和交互两类,其中交互环境又进一步细分为模拟环境和真实世界环境。

  1. 静态环境(static)

在早期研究中较为常见,通常是通过缓存网站副本或静态数据来创建的,从而为评估建立离线上下文;

设置静态环境的过程相当简单,只需缓存真实网站的内容即可;

评估通常依赖于缓存的静态内容来进行视觉定位等任务,且仅支持一步操作;

然而,由于缺乏动态交互和环境反馈,此类静态评估往往不够真实和灵活,难以进行全面的评估;

如 Mind2Web 等。

  1. 交互式环境(interactive)

更真实的场景,特点是动态性和交互性;

OS Agent 在这里可以执行一系列动作,接收来自环境的反馈,并做出相应的调整,这与静态环境不同;

交互式评估设置有助于在更复杂的环境中评估代理的能力,这些交互式环境可以细分为两类:

(1)模拟环境(simulated environment)

如通过创建虚拟网站,以避免由真实世界环境动态特性引起的可重复性问题,或开发了虚拟应用程序来评估OS Agent的能力;

目前的模拟环境通常过于简单,排除了意外情况,因此无法捕捉真实世界场景的复杂性;

如 FormWoB。

(2)真实世界环境(real-world environment)

具有真实性,包含真实的网站和应用程序,必须考虑到环境的持续更新、不可控的用户行为以及多样化的设备配置;

凸显了 Agent 需要在真实世界条件下表现出强大的泛化能力;

如 OSWorld,AndroidWorld 等。

3、任务

一系列专业化的任务已被整合到已建立的基准测试中,涵盖了从系统级任务(如安装和卸载应用程序)到日常应用(如发送电子邮件和在线购物)等各个方面。这些任务旨在衡量当前 Agent 在多大程度上能够模仿人类的表现。

  1. GUI Grounding

旨在评估智能体将指令转换为各种可操作元素的能力;

如 PIXELHELP 提供了一个基准测试,将英文指令与用户在 mobile 模拟器上执行的操作相匹配。

  1. 信息处理(Information Processing)

在交互式智能体的背景下,这种能力在动态且多样的环境中尤为重要,是解决复杂任务的关键组成部分;

包括:从各种来源检索相关数据,总结和提炼信息以满足特定用户需求;

在动态多样的环境中,智能体必须处理大量信息并提供准确的结果;

信息处理任务可以进一步分为两类:

(1)信息检索任务

通过理解指令和 GUI 界面提取所需信息或数据,考察智能体处理复杂和动态信息的能力;

浏览器拥有庞大的信息资源库,因此是执行信息检索任务的理想平台;

集成数据服务的应用程序也可作为检索平台;

(2)信息摘要任务

旨在从图形用户界面中总结指定信息,测试智能体理解并处理信息的能力;

如 WebLinx 中的某些任务专注于总结基于网络的新闻文章或用户评论。

  1. 代理任务(Agent Tasks)。

代理任务旨在评估智能体的核心能力,是当前研究中的一个关键焦点;

在这些任务中,OS Agent 会收到指令或目标,并被要求识别所需步骤、规划行动并执行,直到达到目标状态,而无需依赖任何明确的导航指导;

如 WebLINX 提供了低级和高级指令,挑战智能体完成单步或多步任务,从而测试其规划能力;MMInA 强调多跳任务,要求智能体跨多个网站导航以完成给定指令。

五、挑战和未来方向

(一)安全与隐私

1、攻击

主要是对抗性攻击和特定环境下的安全问题。

2、防御

弥合这一差距需要开发强大的防御机制,以应对 OS Agents 的漏洞,例如注入攻击、后门利用以及其他潜在威胁。

3、基准

已引入一些安全基准测试以评估 OS Agents 在各种场景下的鲁棒性。如在线基准测试 ST-WebAgentBench 和 MobileSafetyBench的基准测试平台。

(二)个性化与自我进化

早期工作允许基于 LLM 的 Agent 与游戏环境交互,将体验总结为文本,从而积累记忆并促进自我进化。后来研究人员将这些原则应用于 OS Agents 领域,验证了记忆机制在 OS Agents 中的可行性。尽管由于学术界资源有限以及难以获取真实用户数据,当前的许多研究主要集中在提高特定任务的性能上,而非个性化方面,但记忆机制仍然显示出 OS Agents 随着时间推移积累用户数据的潜力,从而改善用户体验和性能。

此外,将记忆的模式从文本扩展到其他形式(如图像、语音)带来了显著的挑战。如何有效地管理和检索这些记忆仍然是一个尚未解决的问题。

六、相关工作

七、结论

(多模态)大型语言模型的发展为 OS Agents 创造了新的机遇,使先进人工智能助手的概念更接近实现。在本综述中,我们旨在概述 OS Agents 的基础知识,包括其关键组件和功能。此外,我们还回顾了构建 OS Agents 的各种方法,特别关注特定领域的基础模型和代理框架。通过讨论的评估协议和基准测试,我们探索了在各种任务中评估操作系统代理性能的方法。展望未来,我们确定了一些关键挑战,例如安全性与隐私、个性化与自我进化等,这些领域需要持续的研究和关注。本文总结了该领域的当前状态,并提出了未来工作的潜在方向,旨在推动 OS Agents 的不断发展,并支持其在学术界和工业界的适用性和实用性。