MemGUI-Agent: 一种具有主动上下文管理的端到端长时移动GUI代理
基于MLLM的移动GUI代理在短时任务上取得了显著进展,但在需要跨多步骤和跨应用保留中间事实的长时任务上仍不可靠。我们将这一限制归因于ReAct风格提示,它被动累积每一步记录,导致提示爆炸并稀释关键跨应用事实。 为此,我们引入MemGUI-Agent,一种具有主动上下文管理的端到端长时移动GUI代理。其核心是Context-as-Action (ConAct),它将上下文管理视为与选择UI动作相同的策略所发出的第一类动作。ConAct维护三个结构化字段:折叠的动作历史、折叠的UI状态和最近步骤记录,在保持上下文紧凑的同时保留关键UI事实。 为使主动上下文管理可学习,我们构建了MemGUI-3K,包含2956条轨迹的完整ConAct注释数据集,用于监督训练和离线分析。训练8B模型得到MemGUI-8B-SFT,它在MemGUI-Bench上取得最佳开放数据8B性能,并泛化到分布外MobileWorld基准。
论文精读
TL;DR MemGUI-Agent 提出 Context-as-Action,将上下文管理升格为一级动作,主动折叠历史与 UI 状态,根治长程 GUI 任务中的提示膨胀与关键信息丢失,8B 模型在开源同尺寸中性能最优并跨基准泛化。
问题
问题背景
多模态大语言模型(MLLM)驱动的移动 GUI 智能体在单步或短序列任务上已取得显著进展,但在需要跨应用、多步骤的长时程任务中表现仍然不可靠。这类任务要求智能体在几十甚至上百步的交互中保持上下文连贯,记忆关键 UI 状态和中间事实。
现有方法的局限
主流范式采用 ReAct 风格提示(ReAct-style prompting),将每一步的观察、思考、动作完整拼接到上下文窗口。这种做法存在两个致命缺陷:
- 上下文膨胀(prompt explosion):随着步骤增加,历史记录线性增长,迅速超出模型的有效窗口或推理速度阈值;
- 关键信息稀释(dilution of critical cross-app facts):冗余的中间 UI 描述、动作记录把早期关键跨应用事实淹没,模型在决策时无法快速索引到真正重要的上下文。 ReAct 本质上是被动、无结构的历史堆积,无法区分信息的主次,在长序列下退化严重。
为什么这个问题难且重要
长时程移动 GUI 任务的难点在于 跨应用状态持久化与 上下文预算约束 之间的矛盾:智能体既要记住“从哪个应用来、要完成什么子目标”,又必须把上下文控制在模型能高效处理的范围内。同时,移动端 UI 动态变化频繁,简单截断或遗忘策略容易丢失关键线索,导致任务失败。 业界对 Agent 的记忆管理、长期规划能力高度关注,这一问题直接关系到 Agent 在真实复杂场景(如跨多个 App 完成订票、报销等流程)中的落地可行性,是迈向通用 GUI Agent 的核心瓶颈之一。
行业类比
这与 自动驾驶中的长时域场景记忆 类似:车辆在十字路口前需要记住几百米外的交通标志信息,但传感器流式数据不能无限缓存,必须通过结构化抽象(如轻量地图)主动管理上下文,而不是被动记录每一帧点云。
核心洞察
- 将上下文管理从被动记录升级为与 UI 操作并列的一级动作,从根本上改变了长程 GUI 任务的提示构建方式。现有 ReAct 风格代理仅顺序追加单步历史,导致 prompt 随步骤线性膨胀、跨应用关键信息被稀释;MemGUI‑Agent 则通过 Context‑as‑Action (ConAct) 显式地折叠操作历史与 UI 状态,以结构化三元组(折叠动作历史、折叠 UI 状态、最近步骤记录)维持紧凑且信息密度高的上下文,使得策略模型可在不丢失跨应用事实的前提下保持 token 预算稳定,从而突破长程可靠性瓶颈。
- 构造的 MemGUI‑3K 数据集提供了完整的 ConAct 标注,使小规模模型能够通过监督学习掌握主动上下文管理,避免了依赖巨型模型或复杂提示工程的局限性。该数据集包含 2,956 条长程移动轨迹,每条轨迹均标注折叠时机与内容,让 8B 模型经过简单 SFT 即可在 MemGUI‑Bench 上达到开源 8B 最佳性能,并成功泛化到分布外的 MobileWorld 基准,证明显式上下文操作可作为可学习的元技能,降低长程 GUI 代理对模型规模与手工提示的强依赖。
方法
输入表示
MemGUI-Agent 接收移动GUI长程任务描述与当前屏幕状态,并在每一步维护一个紧凑的结构化上下文,而非 ReAct 风格的完整轨迹。
核心模块:Context‑as‑Action (ConAct)
传统基于 MLLM 的移动 agent 采用 ReAct 式提示,将每一步的观察、动作、结果被动追加到提示中,导致上下文膨胀和关键跨应用事实被稀释。ConAct 将上下文管理提升为第一类可执行动作,由同一个策略网络同时输出 UI 操作 和 上下文操作。
上下文操作可写入三个结构化字段:
- Folded Action History:压缩后的动作历史,仅保留高层次的子目标与结果;
- Folded UI State:当前屏幕的抽象状态,仅提取关键元素(如标题、按钮文本),不保存完整截图或 DOM 树;
- Recent Step Record:最近几步的详细记录,提供短程动态细节。
折叠过程由模型自主决定何时写入、如何折叠,模型学习在信息保留与上下文长度之间取得平衡。推理时,每一步的策略输入由这三个字段拼接而成,长度始终可控,且包含完成长程任务必需的关键信息。
训练范式与数据
为让跨尺度模型学会主动上下文管理,作者构建了 MemGUI‑3K 数据集,包含 2,956 条完整轨迹,每条轨迹带有 ConAct 标注(包括 UI 动作与上下文管理动作)。使用该数据集对 8B 基础模型进行监督微调,得到 MemGUI‑8B‑SFT。训练仅使用开源数据,未依赖额外示范或强化学习。
输出与评估
训练后模型在 MemGUI‑Bench 上取得同等 8B 模型的最优性能,并泛化到分布外的 MobileWorld 基准。输出为可执行的 UI 动作序列(如点击、滑动)及相应的上下文更新,确保 agent 在跨应用、多步骤任务中不丢失关键信息。
与同类方法的差异
不同于 ReAct 及其变体将历史作为被动记录,ConAct 将 上下文维护建模为显式动作,使模型学会何时遗忘与总结,从根本上解决了长程任务中的上下文噪声与关键信息丢失问题。
实验
实验设计
MemGUI-Agent 的实验围绕 Context-as-Action (ConAct) 框架展开,旨在验证主动上下文管理对长程移动 GUI 任务的作用。
- 训练数据:构造了 MemGUI-3K 数据集,包含 2,956 条跨应用的长程任务轨迹,每条轨迹均带有完整的 ConAct 标注——不仅记录 UI 操作,还标注何时折叠动作历史、更新折叠 UI 状态等上下文管理动作。
- 模型与训练:基于 8B 参数量 MLLM,在 MemGUI-3K 上进行监督微调,得到 MemGUI-8B-SFT 模型。
- 评估基准:在同分布的 MemGUI-Bench 和分布外(OOD)的 MobileWorld 两个基准上测试任务完成表现。
对比基线为使用 ReAct 风格提示、被动累积每步记录的 MLLM 代理,其上下文会随步数线性增长,导致关键事实被稀释。
关键发现
- 长程任务性能:MemGUI-8B-SFT 在 MemGUI-Bench 上取得 开源 8B 模型最优 表现,证明主动上下文管理能有效提升长序列任务的可靠性。
- 泛化能力:模型在未参与训练的 MobileWorld 基准上也表现出竞争力,说明 ConAct 策略不依赖于特定 App 或数据分布。
- 上下文压缩与信息保留:通过维持 折叠动作历史、折叠 UI 状态 和 最近步骤记录 三个结构化字段,模型将上下文长度控制在较小范围内,同时保留了跨应用关键 UI 事实,避免了因提示过长导致的注意力分散。
与基线对比的深度解读
ReAct 式代理将每步的观察与动作全部堆叠进上下文,在长程任务中会遇到 提示膨胀 和 事实丢失 问题。ConAct 的核心创新在于将 上下文管理本身作为策略输出的一部分,使模型能像选择 UI 动作一样,主动决定何时压缩、丢弃或突出上下文信息。这种设计相当于为模型装配了“主动记忆”机制,而非被动日志,从而在推理时保持信息密度。从工程视角看,该范式不仅降低了长序列对 LLM 窗口的冲击,还为端到端 GUI 代理提供了一种可训练的上下文压缩方案;但训练数据需包含细粒度的上下文管理标注,这增加了数据集构建成本。未来若能结合强化学习探索更优的压缩策略,有望进一步减少对人工标注的依赖。
行业影响
落地场景
MemGUI-Agent 聚焦长流程移动端跨应用任务的可靠执行,典型落地场景包括:
- 智能个人助理:处理“预订包含机票、酒店与当地活动的完整行程”,需要在日历、航司、住宿、支付等 App 间切换并保持中间信息(如航班时间、价格、偏好)。
- 自动化测试与 RPA:移动应用的长回归测试或端到端业务流程自动化(如保险理赔审批),需跨多个 UI 状态验证并持续跟踪关键字段。
- 跨 App 数据整合:如医疗健康助手从问诊、药房到医保报销的统一操作流,或金融服务的“比较多家银行理财产品并完成申赎”。
商业价值
- 降本:减少人工参与长任务的手动步骤,RPA 场景下可替换大量重复点击与信息传递的人工 QA 投入。
- 增收:在电商、金融等场景,通过减少长流程中断提升转化率与交易成功率。
- 体验提升:让语音或意图驱动的助手能真正完成“多应用接力”任务,避免因上下文丢失导致用户需反复重述需求。
与现有产品/工作流的接口
MemGUI-Agent 以端到端 MLLM 策略形式输出 UI 动作与上下文管理动作,可集成方式:
- 作为移动端自动化引擎:对接 Appium、adb 等设备控制层,将模型的 action 序列转为触控/滑动/输入。
- 通过 API 集成到现有 AI 平台:将 ConAct 策略包装为无状态服务,接收当前截图与上下文状态,返回下一步动作及更新后的结构化上下文。
- 再训练与微调接口:开放数据集 MemGUI-3K 与模型权重,企业可基于内部应用轨迹微调以适配定制化工作流。
具体落地用例
- 电商比价与下单:用户说“找出某品牌运动鞋在三大平台的最低价并加入购物车”,助手需依次搜索、提取价格、保持最低价记忆并最终切换至目标平台下单。MemGUI-Agent 通过折迭式动作历史与折迭式 UI 状态保留关键价格信息,避免因页面跳转丢失上下文。
- 企业移动审批流:销售人员在客户现场通过移动设备发起折扣审批,需跨 CRM、OA、财务 App 获取客户等级、库存、信用额度。传统 RPA 在应用切换时易丢失审批 ID 或参数,ConAct 将审批 ID 作为长期上下文保留,保证后续步骤正确关联。
局限
- 数据集 MemGUI-3K 仅包含 2956 条轨迹,覆盖的长周期任务场景和 app 组合有限,可能不足以支撑大规模实际应用中的多样性。主动上下文管理策略的有效性高度依赖模型对关键信息的判断精度,但论文未系统分析策略错误的负面影响——例如误删仍需要的 UI 状态或事实,可能直接导致任务失败且不可恢复。与一些基于外部记忆或检索的 GUI 代理相比,ConAct 仅依靠固定结构字段压缩上下文,当任务跨度过大时仍可能丢失细节。
- 实验主要在 8B 参数规模的模型中验证,尽管作者声称 ConAct 在不同规模间可学习,但缺少更大模型(如 70B+)的对比,无法充分说明方法的可扩展性上限。此外,在 MobileWorld 上的泛化测试虽然表现良好,但该基准仍为移动端模拟环境,没有在真实设备、真实延迟和动态内容刷新等复杂条件下进行验证,实际部署的可靠性有待进一步检验。
- 方法高度依赖结构化上下文字段的预设(folded action history, folded UI state, recent step record),这些字段的定义和折叠策略需要人工设计,对于不同形态的 GUI 任务(如桌面端、Web 端)可能需要重新调整,缺乏自适应的上下文结构学习机制。这限制了方法的跨平台通用性,相比一些使用通用压缩或摘要技术的代理,MemGUI-Agent 的工程迁移成本更高。