AutoRPA:通过LLM驱动的交互代码合成实现高效GUI自动化

arXiv cs.AI 论文

摘要

AutoRPA是一个框架,能够自动将ReAct风格LLM代理的决策逻辑提炼为鲁棒且token高效的RPA函数,用于重复的GUI任务,将token使用量减少82%-96%。

arXiv:2605.21082v1 公告类型:新 摘要:基于大语言模型(LLM)的代理已展示了在图形用户界面(GUI)中执行多步交互的能力。虽然大多数研究侧重于提升单任务性能,但实际场景中常涉及重复的GUI任务,此时重复调用LLM推理(即ReAct范式)效率低下。在LLM出现之前,传统的机器人流程自动化(RPA)可实现运行时高效,但需要大量人工来开发和维护。为弥合这一差距,我们提出AutoRPA,一个自动将ReAct风格代理的决策逻辑提炼为鲁棒RPA函数的框架。AutoRPA引入两项核心创新:(1)翻译器-构建器流水线,其中翻译器代理将硬编码的ReAct动作转换为软编码过程,构建器代理通过多轨迹的检索增强生成合成鲁棒的RPA函数;(2)代码验证期间的混合修复策略,结合RPA执行与基于ReAct的回退进行迭代优化。在多个GUI环境下的实验表明,AutoRPA生成的RPA函数能成功解决类似任务,同时将token使用量减少82%至96%,显著提升了运行时效率和可复用性。
查看原文
查看缓存全文

缓存时间: 2026/05/22 08:49

# 通过 LLM 驱动的交互代码合成实现高效 GUI 自动化 来源:https://arxiv.org/html/2605.21082 ###### 摘要 基于大语言模型(LLM)的智能体已展现出在图形用户界面(GUI)中进行多步骤交互的能力。尽管大多数研究侧重于提升单任务性能,但实际场景中常涉及重复性 GUI 任务,此时反复调用 LLM 推理(即 ReAct 范式)效率低下。在 LLM 出现之前,传统机器人流程自动化(RPA)虽能提供运行时效率,但需要大量人工投入进行开发和维护。为弥补这一差距,我们提出 AutoRPA,一个将 ReAct 风格智能体的决策逻辑自动提炼为鲁棒 RPA 函数的框架。AutoRPA 引入两项核心创新:(1) **翻译器-构建器流水线**,其中翻译器智能体将硬编码的 ReAct 动作转换为软编码过程,构建器智能体通过基于检索增强的多轨迹生成合成鲁棒的 RPA 函数;(2) **混合修复策略**,在代码验证过程中结合 RPA 执行与基于 ReAct 的回退,实现迭代精炼。在多个 GUI 环境上的实验表明,AutoRPA 生成的 RPA 函数能成功解决相似任务,同时将 token 使用量减少 82%–96%,显著提升运行时效率和可复用性。 机器学习,ICML ## 1 引言 图形用户界面(GUI)是人类与计算机及移动设备交互的主要媒介。近年来,基于大语言模型(LLM)的智能体(Hong 等,2024(https://arxiv.org/html/2605.21082#bib.bib12);Xi 等,2025(https://arxiv.org/html/2605.21082#bib.bib38))在处理各类 GUI 任务方面展现出卓越的多功能性。当前大多数研究侧重于提升 LLM 在新颖、独立任务上的表现,例如通过设计更复杂的工作流程(Wang 等,2024c(https://arxiv.org/html/2605.21082#bib.bib35),b(https://arxiv.org/html/2605.21082#bib.bib34))或引入端到端强化学习来增强推理能力(Wang 等,2025a(https://arxiv.org/html/2605.21082#bib.bib33))。然而,在实际部署场景中,相当一部分 GUI 任务本质上是**重复的**:同一用户可能每天执行相同的活动(如提交报告),或不同用户有共同需求(如预订航班)。对于这类重复性任务类型,更理想的解决方案是生成**可复用、低成本的自动化函数**,这些函数可跨相似任务高效执行,而非为每个实例调用昂贵的 LLM 推理。 在 LLM 出现之前,传统的机器人流程自动化(RPA)(Ivančić 等,2019(https://arxiv.org/html/2605.21082#bib.bib14))通过执行手动编写的脚本(模拟点击、输入等用户操作)来处理重复性 GUI 任务。RPA 系统虽在运行时效率较高,但需要大量人工投入进行开发和维护,且对 GUI 布局变化非常脆弱(Hellmann & Maurer,2011(https://arxiv.org/html/2605.21082#bib.bib11);Qian 等,2020(https://arxiv.org/html/2605.21082#bib.bib25))。因此,**本文的目标**是研究如何在 LLM 的辅助下,针对指定任务类型自动合成高 token 效率的 RPA 函数。关键在于,生成的 RPA 代码应能处理环境和任务指令中的变化。 参见图注 图 1:GUI 自动化范式的比较。(a) ReAct 风格 LLM 智能体灵活性强,但每个实例成本高,不适合重复性任务。(b) 传统 RPA 对重复性任务效率高,但需要手动编写脚本。(c) AutoRPA 利用 LLM 智能体交互,自动为任意任务类型合成鲁棒、低成本的 RPA 函数。 一种直接的解决方案是让 LLM 根据任务描述直接生成可执行代码(Kim 等,2024(https://arxiv.org/html/2605.21082#bib.bib17))。该方法可基于“计划与执行”范式(Kim 等,2024(https://arxiv.org/html/2605.21082#bib.bib17);Sun 等,2023(https://arxiv.org/html/2605.21082#bib.bib30)),即 LLM 智能体生成计划或代码,再由子进程执行。然而,在缺乏精心整理的环境专家知识时,LLM 往往难以生成鲁棒的长时域 GUI 代码(Valmeekam 等,2022(https://arxiv.org/html/2605.21082#bib.bib31))。另一种方法是技能学习(Chen 等,2024(https://arxiv.org/html/2605.21082#bib.bib4);Qian 等,2024(https://arxiv.org/html/2605.21082#bib.bib24);Zhao 等,2024(https://arxiv.org/html/2605.21082#bib.bib44)),它将 LLM 智能体的成功轨迹存储为后续相似任务的示例。然而,这些方法往往难以泛化技能以应对不同场景(Chen 等,2024(https://arxiv.org/html/2605.21082#bib.bib4)),且严重依赖 LLM 处理新任务的内在能力。 为此,我们提出 **AutoRPA**,一个利用 LLM 智能体为 GUI 生成高质量 RPA 代码的通用框架。我们的框架将 ReAct 智能体的决策逻辑“提炼”为可执行代码:AutoRPA 首先利用 ReAct 风格智能体探索并收集成功轨迹。为便于 RPA 代码合成,我们引入一个翻译器智能体,将每个硬编码的 ReAct 步骤转换为软编码动作,使代码能在不同环境中动态执行。然后,构建器智能体从这些软编码轨迹中合成鲁棒的 RPA 函数,并融入必要的逻辑和条件判断。此外,不同具体指令的完成过程可能因情况而异。因此,为生成鲁棒的 RPA 代码,构建器配备了检索机制,可索引树状结构的轨迹数据库,从而访问多条历史轨迹。在代码验证阶段,我们并非简单地精炼和重试,而是采用**混合修复策略**:若合成代码执行失败,ReAct 智能体从断点处恢复执行,生成修正性演示,构建器可据此进行改进。 我们的主要贡献如下: - •我们提出 **AutoRPA**,以解决一个实际问题:为任务类型生成鲁棒且高效的 RPA 函数,面向重复性 GUI 自动化场景。 - •我们提出一个**翻译器-构建器流水线**,将逐步的 ReAct 动作转换为软编码动作,并通过树状结构轨迹检索合成鲁棒的 RPA 函数。 - •我们开发一种**混合修复策略**,将直接代码验证与基于 ReAct 的回退相结合,实现对合成代码的迭代改进。 - •在三个 GUI 基准上的实验表明,AutoRPA 能实现高 token 效率和时间效率的 GUI 自动化。尤其,AutoRPA 可将 token 使用量降低高达 96%,同时保持或超过基于 LLM 的 GUI 智能体的成功率。 ## 2 相关工作 ### 2.1 通过传统方法实现 GUI 自动化 机器人流程自动化(RPA)(Ivančić 等,2019(https://arxiv.org/html/2605.21082#bib.bib14))长期以来被用于通过自动化图形用户界面(GUI)中的重复性任务来提升生产力。传统 RPA 系统通过模拟人类操作来自动化常规任务,主要依赖手动编写的脚本或预定义规则(Hellmann & Maurer,2011(https://arxiv.org/html/2605.21082#bib.bib11);Qian 等,2020(https://arxiv.org/html/2605.21082#bib.bib25))。然而,开发 RPA 需要大量领域专业知识,且需频繁手动更新以适应 GUI 布局和任务需求的变化,从而限制了其在多样化和动态场景中的可扩展性和灵活性(Zhang 等,2024(https://arxiv.org/html/2605.21082#bib.bib42))。为克服传统 RPA 的局限性,后续研究探索了基于学习的方法(Humphreys 等,2022(https://arxiv.org/html/2605.21082#bib.bib13);Liu 等,2018(https://arxiv.org/html/2605.21082#bib.bib18))。这些方法训练深度学习模型,根据 GUI 观测预测并执行动作。尽管展现出更大潜力,这些基于学习的技术通常需要大量 GUI 交互数据进行训练,并且在实际部署中仍面临稳定性和泛化性的挑战。 ### 2.2 用于 GUI 自动化的 LLM 智能体 在 GUI 自动化领域,LLM 智能体利用大语言模型涌现的推理能力(OpenAI,2023(https://arxiv.org/html/2605.21082#bib.bib20);Ouyang 等,2022(https://arxiv.org/html/2605.21082#bib.bib22);Wei 等,2022(https://arxiv.org/html/2605.21082#bib.bib37)),并被开发用于网页、移动和桌面平台的应用。例如,SeeAct(Zheng 等,2024(https://arxiv.org/html/2605.21082#bib.bib45))和 WebVoyager(He 等,2024(https://arxiv.org/html/2605.21082#bib.bib10))利用 GPT-4V(OpenAI,2023(https://arxiv.org/html/2605.21082#bib.bib20))的多模态能力,通过处理截图和 HTML 输入与动态网页进行交互。AppAgent(Zhang 等,2025(https://arxiv.org/html/2605.21082#bib.bib43))也利用 GPT-4V 处理截图和 XML 数据,以完成移动应用内的各种任务。 除基本交互外,高级研究旨在通过基于经验的优化来改进 LLM 智能体。Reflexion(Shinn 等,2023(https://arxiv.org/html/2605.21082#bib.bib28))使 LLM 智能体能够反思失败轨迹并修正后续行为。ICE(Qian 等,2024(https://arxiv.org/html/2605.21082#bib.bib24))和 ExpeL(Zhao 等,2024(https://arxiv.org/html/2605.21082#bib.bib44))从成功执行轨迹中构建技能库,以指导后续相似任务。AutoManual(Chen 等,2024(https://arxiv.org/html/2605.21082#bib.bib4))和 Mobile-Agent-E(Wang 等,2025b(https://arxiv.org/html/2605.21082#bib.bib36))进一步允许 LLM 从交互中归纳环境规则。与我们的方法相比,这些方法侧重于 LLM 智能体的自我进化,且测试阶段决策过程仍依赖 LLM。 ### 2.3 面向代码生成的 LLM LLM 在自然语言到代码(NL2Code)任务中展现出令人印象深刻的能力(Jiang 等,2026(https://arxiv.org/html/2605.21082#bib.bib15);Du 等,2024(https://arxiv.org/html/2605.21082#bib.bib6)),在 HumanEval(Du 等,2024(https://arxiv.org/html/2605.21082#bib.bib6))和 MBPP(Austin 等,2021(https://arxiv.org/html/2605.21082#bib.bib2))等基准上可与人类专家程序员匹敌。然而,在 GUI 或游戏等新颖或复杂环境中,预先生成完整的规划代码对 LLM 构成显著挑战(Valmeekam 等,2022(https://arxiv.org/html/2605.21082#bib.bib31);Sun 等,2023(https://arxiv.org/html/2605.21082#bib.bib30))。因此,对于这类智能体环境,使 LLM 能够生成可靠代码通常需要全面的领域知识和示例(Wang 等,2024a(https://arxiv.org/html/2605.21082#bib.bib32))。相比之下,我们的框架利用 ReAct 智能体(Yao 等,2023(https://arxiv.org/html/2605.21082#bib.bib40))的迭代逐步范式来探索并收集成功轨迹,然后通过翻译和合成将其提炼为经过验证的 RPA 代码,无需精心整理的知识或示例。 ## 3 方法 参见图注 图 2:AutoRPA 概述:对于目标任务类型中的某个任务,AutoRPA 使用 ReAct 智能体进行探索和修复错误,同时翻译器智能体将生成的行动转换为软编码行动。然后,构建器基于从轨迹库中简化后的轨迹生成 RPA 函数。新生成的代码将在已见任务上验证。若验证失败,则进行分析和修复;若成功,则继续检查新任务。 **概述**。我们提出 AutoRPA 框架,用于构建针对用户指定 GUI 任务类型的 RPA 代码。首先在第 3.1 节(https://arxiv.org/html/2605.21082#S3.SS1)定义问题。AutoRPA 包含三个主要阶段,如图 2(https://arxiv.org/html/2605.21082#S3.F2)所示。 **探索阶段**:ReAct 风格智能体迭代地与 GUI 环境交互,同时翻译器智能体将其硬编码动作转换为软编码动作,详见第 3.2 节(https://arxiv.org/html/2605.21082#S3.SS2)。 **RPA 生成阶段**:基于翻译后的轨迹,构建器智能体合成 RPA 代码,同时主动从轨迹数据库中检索相关交互信息,详见第 3.3 节(https://arxiv.org/html/2605.21082#S3.SS3)。 **RPA 验证阶段**:新生成的代码将在已见任务上验证。对于失败执行,分析器智能体将分析断点,并使用 ReAct 智能体继续探索以进行修复,随后进行代码精炼,详见第 3.4 节(https://arxiv.org/html/2605.21082#S3.SS4)。最后,我们在测试阶段评估获得的 RPA 代码。 ### 3.1 问题形式化 正式地,我们将 GUI 环境建模为部分可观察马尔可夫决策过程(POMDP):\(\mathcal{S},\mathcal{A},\mathcal{T},\mathcal{G},\mathcal{O}\)。任务集 \(\mathcal{G}\) 包含总共 \(K\) 个任务类型:\(\mathcal{G}=\bigcup_{k=1}^{K}\mathcal{G}^k\)。在每个回合开始时,环境从某个任务类型中采样一个用自然语言描述的任务 \(g\in\mathcal{G}^k\),并初始化一个场景 \(s_0\in\mathcal{S}\)。环境会提供初始观测 \(o_0\in\mathcal{O}\),通常是当前界面的截图以及从文档对象模型(DOM)或可访问性树派生的文本信息。智能体可通过允许的动作集 \(\mathcal{A}\)(如点击、输入)与 GUI 环境交互。在时间步 \(t\) 执行动作 \(a_t\in\mathcal{A}\) 后,环境根据动力学 \(T(s_{t+1}|s_t,a_t)\) 转移到新状态 \(s_{t+1}\),随后发出新观测 \(o_{t+1}\sim O(o_{t+1}|s_{t+1})\)。回合结束时,根据最终轨迹 \(\tau=(g,o_0,a_0,o_1,...,a_T,o_{T+1})\) 分配二元奖励 \(r(\tau)\in\{0,1\}\),指示任务 \(g\) 是否完成。 我们的目标是为用户指定的任务类型 \(\mathcal{G}^k\) 生成一个 RPA 函数 \(F_k\)。对于任意任务实例 \(g\in\mathcal{G}^k\),该函数 \(F_k\) 应产生一个成功完成任务的动作轨迹 \(\tau=F_k(g^k)\),即 \(r(\tau)=1\)。鉴于函数 \(F_k\) 可能在内部调用 LLM 来处理复杂场景,我们旨在构建并优化 \(F_k\),以在保证任务成功的前提下最小化 token 消耗。该目标形式化为: \[ \min_{F_k} \mathbb{E}_{g\sim\mathcal{G}^k,s_0\sim\mathcal{S}}[1-r(F_k(g)) + \lambda \cdot \text{cost}(F_k(g))], \tag{1} \] 其中 \(\text{cost}(F_k(g))\) 表示函数 \(F_k\) 在处理任务 \(g\) 过程中产生的 token 成本。

相似文章

一种构建自动化的新型智能体方法

Reddit r/AI_Agents

一种新工具允许用户屏幕录制自己执行任务;智能体学习该任务并构建确定性脚本以自动化执行,并在脚本出错时进行回退处理。