ACL 2025 | 如何自动构造GUI Agent所需的数据
仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
项目地址:https ://qiushisun. github.io/OS-Genesis-Home/
论文地址:https ://arxiv. org/abs/2412. 19723
研究机构:上海AILab,香港大学,上海交通大学,约翰霍普金斯大学,牛津大学,香港科技大学
自二十世纪的科幻小说《R. U.R.》首次提出Agent(智能体)概念以来,从文学到影视,自动化智能体的愿景便深植于人类想象之中。无论是早期的机械人形,还是《钢铁侠》中高度智能的JARVIS,人们始终憧憬着能够辅助甚至取代人类完成日常任务的数字代理(DigitalAgents)。如今,随着视觉语言模型(VLMs)等多模态技术的快速发展,这一梦想正逐步迈向现实。
要构建一个真正有效的Computer-UseAgent,必须同时具备两个关键能力:(1)规划能力(Planning),即能够将用户给出的高层次指令拆解为可执行的子目标;(2)执行能力(Action),即根据当前目标,在环境中执行相应的操作。
现有研究沿着这两个能力的划分发展出两类代表性路径:(1)以OS-Copilot和UFO-Agent为代表的GUIAgents,它们依赖调用系统API或访问无障碍树(a11ytree)等手段,实现对移动应用、网页等数字界面的交互控制;(2)以经典模型SeeClick和OS-ATLAS为代表的GUI动作模型(GUIActionModels),通过感知环境状态并执行具体操作(如点击、拖动),以完成用户指令/意图的落实。
尽管这些方法已在部分任务中展现出了一些可行性,但它们在实际部署中仍面临很大的局限:前者严重依赖闭源的大模型(如GPT-4o,Claude),交互方式受限于promptengineering,API的成本也很高;后者虽然更轻量,但需要额外搭配一个规划模型(Planner)才能发挥完整作用,系统复杂度和部署成本高。
从通用性和可落地性的角度来看,构建一个统一的、端到端的、基于开源VLM的GUIAgent,对于大规模推广通用人机交互系统具有重要意义。然而,这一目标的最大挑战在于高质量训练数据的缺乏——如何大规模构建多样化、真实有效的GUI交互轨迹,仍是当前亟待解决的关键问题。
在构建高质量的GUIagent时,GUI轨迹数据能最有效地让agent学习如何完成任务,其数据稀缺性是当前digitalagent领域最关键挑战之一。以下是一个典型的GUI轨迹数据示例,它包括以下部分:
高阶指令:明确规定任务目标,例如“将菜单应用中的‘AvocadoToastwithEgg’标记为收藏”。
低阶指令:分解为具体的操作步骤,例如“点击‘AvocadoToastwithEgg’以查看更多选项”。
动作(Action):与低阶指令相关的具体操作,如“CLICK[ AvocadoToastwithEgg]”。
状态(State):包括执行动作前后的可视化和文本化表示,例如屏幕截图和GUI的a11ytree结构。
这类结构化、多模态的数据对于支持智能体进行任务规划、状态感知和动作决策具有不可替代的价值。然而,如何高效、自动化地大规模生成此类高质量轨迹,仍是一个亟待突破的研究难题。
当前的GUI轨迹数据构建方式主要包括两类:依赖人工监督的人工(Humanannotation)采集,以及基于预定义任务(Task-Driven)的自动合成。然而,这两种方法在实际应用中均面临显著的局限性:
人工采集的成本高昂:人工构建高质量交互轨迹不仅需要设计具有代表性的高阶任务指令,还需逐步记录细化的操作过程。这一流程高度依赖人力资源,数据规模受限,成本与效率难以兼顾,难以满足大规模训练的需求。
合成数据的可用性受限:虽然利用模型自动生成轨迹在一定程度上缓解了人工成本,但大多数方法依赖预先定义的任务目标,生成的轨迹缺乏多样性和环境适应性。当任务目标与环境状态不匹配,或模型在中间步骤出现错误时,生成的轨迹往往表现为不完整、不连贯,甚至不可执行。
因此,如何在成本可控的情况下构建一种高效、低成本且具多样性与真实性的轨迹数据生成机制,已成为推进GUIAgent训练的关键挑战之一,在此动机下,本文提出了OS-Genesis:一套无需人工监督的高质量GUI数据合成框架,支持端到端的GUIAgents训练
OS-Genesis的核心思想是通过探索性地与GUI环境交互,捕捉每个动作及其引起的状态变化。
基于这些状态变化,系统首先逆向生成高质量的低阶指令(Low-levelinstruction,如*\“ClickCalendarAPP\“),然后根据环境状态推导出相应的高阶指令(High-levelinstruction,如\“添加日程:看AINLP的推文\“*)。模型随后执行这些合成的指令,整个过程无需人工干预和预定义任务,从而实现了高效且多样化的GUI轨迹数据生成。我们认为,这一方法为构建通用GUIagent提供了创新思路,具体实现方式包括(1)反向任务合成构建任务与轨迹与(2)轨迹奖励建模控制数据质量
反向任务合成(ReverseTaskSynthesis)是OS-Genesis的核心,它帮助我们在构建GUI轨迹数据时摆脱需要人工/机器预定义任务的局限。其流程如下所示
动作记录与状态捕捉
在没有预定义任务的情况下,OS-Genesis通过在GUI环境中系统性地执行基本动作(例如CLICK、TYPE、SCROLL等),生成大量的三元组数据⟨状态前,动作,状态后⟩,即⟨spre,action,spost⟩。这些三元组记录了每个动作对环境状态的影响,为后续的任务合成提供了原始数据。
低阶指令生成(Low-LevelIsntruction)
高阶任务生成(High-LevelIsntruction)
基于低阶指令,OS-Genesis进一步生成高阶指令(High-levelInstruction)。这些高阶指令通过整合低阶步骤和当前GUI环境的信息,描述更抽象且明确的任务目标,如\“配置应用程序设置\“。这种从低阶到高阶的渐进式生成方法不仅保证了指令的逻辑连贯性,还充分利用了GUI环境的动态特性。
在采集三元组的过程中,只需要使用CLICK和TYPE就可以遍历绝大多数探索空间中的功能,而所生成的任务则是开放式的,可能包含了大量会被执行的动作,动作空间如下所示
通过上述反向任务合成,OS-Genesis可以在没有人工干预的情况下构建多样化、语义丰富的任务集合,显著提升了数据生成的效率和质量。
生成的高阶指令将作为探索GUI环境的起点,用于构建完整的轨迹数据(Trajectory)。为了保证轨迹质量,OS-Genesis引入了奖励模型(TrajectoryRewardModel,TRM)来评估和筛选生成的轨迹。以下是轨迹构建与奖励模型的详细流程:
轨迹执行
利用反向任务合成生成的高阶指令,GUIagent会执行一系列动作以完成任务。每条轨迹由以下内容组成:高阶指令、低阶指令、动作序列以及状态(包含截图和a11ytree)。
轨迹奖励模型(TrajectoryRewardModel)
为避免低质量或不完整轨迹对模型训练的负面影响,OS-Genesis使用TRM对每条轨迹分配一个奖励分数。奖励分数基于以下两个指标:
完成度(Completion):衡量一条GUI轨迹是否成功完成High-level任务,包括每个步骤的正确性和逻辑连贯性。
一致性(Coherence):评估轨迹的逻辑是否恰当,确保动作序列能够高效地实现任务目标。
Reward-driven的数据筛选方法
根据奖励分数,轨迹数据会被优先用于模型训练。与传统的二元过滤方法(即抛弃执行失败的任务)不同,TRM允许部分不完整但具有探索价值的轨迹保留在数据集中,从而最大化地利用生成的数据。
通过结合反向任务合成和奖励模型,OS-Genesis实现了从任务生成到轨迹构建的端到端流程。实验结果表明,OS-Genesis生成的数据在质量和多样性上均显著优于现有方法,为构建通用GUIagent提供了可靠的数据支持。
为了验证OS-Genesis生成高质量轨迹数据的能力,我们在多个动态环境中进行了实验。在移动端场景中,我们选择了AndroidWorld和AndroidControl作为测试平台;在网页端场景中,我们使用WebArena作为测评基准。通过这些复杂环境的实验,我们对比了使用OS-Genesis合成数据训练的agent与传统方法的表现。
VLMs. 我们在实验中选择了代表性的VLSs作为GUIagent的基础模型,以便全面评估OS-Genesis生成的数据在不同模型上的的影响:
InternVL2-4B/8B:一种支持高分辨率动态输入的开源VLM,主要用于视觉任务。其扩展版本InternVL2-8B具有更大的模型容量。
Qwen2-VL-7B-Instruct:一种多模态模型,具备一定的GUI交互能力,专为指令执行任务优化。
此外,我们还额外添加了GPT-4o作为一个强baseline,来比较我们所训练的开源模型和商业模型之间的差距
Baselinse. 所有的baseline接受的状态信息均为Screenshots+a11ytree(即视觉信息和结构化的文本表示)
Zero-Shot:直接使用未经过额外训练的模型完成任务。这种方法用于评估模型的原始能力。
Task-Driven:利用预定义任务和固定策略生成数据,广泛应用于传统数据生成流程。
Self-Instruct:在Task-Driven的基础上,引入自我指令生成机制来扩展任务的和覆盖范围。
基于VLMs构建GUIAgents的训练过程,本质上是一种监督微调(SFT)。之前的工作鲜有涉及如何将planning&reasoning与action统一训练,因此,为充分发挥合成轨迹的效用,OS-Genesis别出心裁的设计了两个互补的训练目标:
1. 规划训练(PlanningTraining)
旨在提升Agent的任务拆解能力。对于每条轨迹,在给定多模态输入、高阶指令和历史上下文的前提下,Agent同时预测低阶指令和相应动作:
2. 动作训练(ActionTraining)
强化Agent在已有低阶指令下,执行正确动作的能力:
训练完成后,Agent会采用ReAct风格的输出形式,记录其逐步推理过程并执行交互操作。
在AndroidWorld(In-domain实验)中,OS-Genesis生成的数据显著提升了GUIagents的任务成功率,从基线的9. 82%提升至17. 41%,几乎翻倍。尤其是在任务规划和复杂操作中,OS-Genesis的数据展现了更强的适应性和泛化能力。
os-genesis-mobile
在AndroidControl中(OOD实验),OS-Genesis生成的轨迹在高阶和低阶任务中均表现优异,尤其在高阶任务中展现出显著提升的规划能力。此外,OS-Genesis在从未见过的应用场景中也表现出强大的泛化能力,充分验证了其生成数据的质量和多样性。
OS-Genesis在WebArena中的表现显著优于基线方法。在复杂的交互式网页任务(如GitLab自动化和Reddit论坛)中,OS-Genesis数据所构建的agent比Task-Driven方法提升了约50%的性能。在多个动态网页场景下,通过OS-Genesis生成的数据,agent展现出更强的多样性和泛化能力。特别是在需要多步操作的任务中,其生成的轨迹更符合逻辑和用户意图。
本项工作对GUITrajectoryData的质量进行了非常详尽的分析,特别是将OS-Genesis生成的数据与人工标注(Human-annotated)数据进行了对比,以全面评估其在实际应用中的可行性和有效性。
我们首先比较了OS-Genesis生成的高阶指令与人工编写的高阶指令在任务执行中的效果。实验基于AndroidWorld的500个人工标注轨高阶任务,采用GPT-4o探索其对应轨迹,并用这些轨迹训练基于InternVL2-8B和Qwen2-VL-7B。为保证公平性,OS-Genesis和各baseline的轨迹数量保持一致。
结果分析
在任务成功率上,OS-Genesis生成的高阶指令显著优于人工编写的指令。这主要归因于以下两点:
动态环境适配性:人工编写的任务往往难以与复杂环境完全匹配,而OS-Genesis通过反向任务合成生成的指令能够自适应GUI动态特性,更符合环境需求。
逐步生成策略:OS-Genesis从低阶指令逐步构建高阶指令,确保了指令的逻辑连贯性和可执行性,而人工编写的高阶指令有时会因缺乏细节而导致轨迹不完整。
analysis-high
为了进一步验证轨迹质量,我们将OS-Genesis生成的完整轨迹与人工标注(Human-annotated)轨迹在GUIagent训练中进行了对比分析。我们从AndroidControl的训练集中抽取了1,000条众包标注的轨迹用于训练和评估。如图所示,OS-Genesis成功地显著缩小了合成轨迹与人工标注轨迹之间的性能差距。
这种提升在高阶任务中非常显著,表明基于OS-Genesis轨迹训练的agent在任务规划和问题解决方面表现更接近于人类操作方式。从平均任务SR来看,将人工标注数据视为goldstandard,OS-Genesis数据的性能保留率超过了80%。
作者们进一步探究了所使用的TrajectoryRewardModel所起的效用,如图所示
可以看到,TRM在提升Agent的高层次能力方面尤为有效,特别是在如AndroidControl-High与AndroidWorld等任务中表现显著。尽管引入外部标签器(Labeler)可带来一定的高层任务性能提升,但却会在低层任务中导致性能下降。
在低层级场景中,由于OS-Genesis所生成的轨迹数据本身质量较高、语义明确,即使是单步操作也具有较强的信息价值,因此无论采用何种训练策略,模型在此类任务上均能获得稳定提升。
对于GUIAgent的训练而言,数据多样性是模型泛化能力的关键保障。然而,传统基于预定义任务的合成方法天然受到限制——在复杂环境中几乎不可能穷举所有潜在交互路径。作者们从两个维度评估其多样性:(1)指令多样性:使用Sentence-BERT嵌入高阶指令,并计算平均embedding距离,结果显示OS-Genesis在移动端和网页端均获得最高的指令多样性;(2)轨迹多样性:对低阶动作应用同样的方法,OS-Genesis同样表现出最广泛的行为覆盖。
有趣的是,人工标注数据尽管具有较高的指令多样性,却在轨迹层面明显受限,这说明人类在想象任务时更具创造性,但在实际操作中往往依赖熟悉的动作模式(这也很好理解,人都有自己的思维定势)。相比之下,OS-Genesis同时实现了指令与行为层面的高多样性,更有助于全面激活环境探索的潜力。
OS-Genesis为构建通用GUIAgents提供了全新的思路与方法。通过引入一种交互驱动的轨迹合成机制(Interaction-DrivenSynthesis),OS-Genesis有效突破了传统数据采集中难以构建(1)语义合理(2)形式多样的任务轨迹这一核心瓶颈。在多个具有挑战性的onlinebenchmark中,我们实证表明:基于OS-Genesis生成的数据能够显著同时提升GUIAgents的规划能力与动作执行能力。同时,相比传统合成方法,OS-Genesis所生成的轨迹具备更高的多样性与可用性,并在质量上显著缩小了与人工标注数据之间的差距。在当前GUIAgent研究迅速发展的背景下,OS-Genesis所代表的任务反推式轨迹构建范式,展示出构建高质量、多模态、通用GUIAgent数据的广阔前景。
OS-Copilot:TowardsGeneralistComputerAgentswithSelf-Improvementhttps ://huggingface. co/OS-Copilot
UFO:AUI-FocusedAgentforWindowsOSInteractionhttps ://arxiv. org/abs/2402. 07939
Ferret:ReferandGroundAnythingAnywhereatAnyGranularityICLR’24Spotlight
ReAct:SynergizingReasoningandActinginLanguageModelsICLR’23
ASurveyofNeuralCodeIntelligence:Paradigms,AdvancesandBeyondhttps ://arxiv. org/abs/2403. 14734
OntheEffectsofDataScaleonUIControlAgentshttps ://openreview. net/forum?id=yUEBXN3cvXNIPS’24
进技术交流群请添加AINLP小助手微信(id:ainlp2)
请备注具体方向+所用到的相关技术点
关于AINLP
AINLP是一个有趣有AI的自然语言处理社区,专注于AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。