Hotdry.
ai-systems

MobileAgent:视觉语言代理驱动的移动GUI自动化

基于视觉语言模型的MobileAgent,实现移动GUI截屏解析、动作预测与自愈多轮交互,提供工程参数、部署清单与监控要点。

在移动应用自动化领域,传统脚本化方法如 Appium 或 UIAutomator 依赖固定元素 ID,面对动态 UI 或未知 app 时鲁棒性差。MobileAgent 作为 X-PLUG 开源的 GUI 代理家族,通过视觉语言模型(VLM)驱动的感知 - 规划 - 执行 - 反思闭环,实现了通用性强的多轮交互自动化。其核心创新在于自愈机制,能在动作失败时自动诊断并修正,大幅提升长序列任务成功率。

MobileAgent 的架构采用多代理协作框架,包括感知模块、规划代理、决策代理、反思代理和记忆单元。感知模块使用 VLM(如 Qwen-VL 或专属 GUI-Owl)处理截屏图像,输出 UI 元素描述和 grounding 坐标。规划代理将用户指令分解为高层次步骤序列,并维护任务进度状态。决策代理基于当前截屏、历史和记忆,预测低级动作(如点击坐标 (x,y)、滑动方向、输入文本)。执行后,反思代理对比执行前后截屏,若未达预期(如目标元素未出现),生成修正指令注入下轮决策。记忆单元压缩存储关键实体(如已选账号、焦点内容),避免长历史重解析。该设计在 Mobile-Agent-v3 中将成功率提升 30% 以上。

截屏解析是起点:VLM 接收标注截屏(可选历史点击框)、指令和上下文,生成自然语言 UI 描述(如 “当前在设置页,顶部搜索栏,底部导航”)及结构化动作。动作格式标准化:{"type": "tap", "position": [x,y], "confidence": 0.9} 或 {"type": "input", "text": "query", "target": "search_box"}。为提升精度,GUI-Owl 系列预训练于海量截屏 - 动作轨迹,学习语义空间映射,实现端到端操作预测。

动作预测融入多轮交互:每步循环为截屏→编码→预测→执行→新截屏,反思阈值控制自愈。典型自愈循环示例:指令 “在携程搜索广州至成都机票”,规划步骤 [打开携程、输入城市、选日期、查最便宜]。若点击 “搜索” 后弹出无关页,反思检测 “无机票列表”,诊断 “可能城市拼写错”,修正为 “重输 Guangzhou to Chengdu”,重试 3 轮内成功率达 85%。

工程化落地需优化参数。模型选择:轻量部署用 GUI-Owl-7B(HF 下载),推理加速用 vLLM,延迟 < 2s / 步。超参数:max_rounds=20(防无限循环),reflection_threshold=0.7(置信度低于则自愈),memory_size=5(最近关键帧),action_timeout=5s(滑动等)。设备兼容:Android 8+ via uiautomator2-python,iOS 需 xcuitest;云端用 Android emulator + ADB。

部署清单:

  1. 环境:Python 3.10+, pip install uiautomator2 opencv paddleocr(OCR 备份)。
  2. 下载模型:huggingface.co/mPLUG/GUI-Owl-7B,加载 transformers pipeline。
  3. 代理初始化:PlanningAgent (prompt="分解任务为 5 步"), DecisionAgent (model=vlm), Reflector (model=llm)。
  4. 运行循环:
    while not task_complete:
        screenshot = device.screenshot()
        action = decision_agent(screenshot, memory, plan)
        device.execute(action)
        new_screenshot = device.screenshot()
        feedback = reflector(screenshot, new_screenshot, action)
        if feedback['success']: update_memory(); continue
        else: plan = revise_plan(feedback)
    
  5. 监控:日志成功率、步数、延迟;Prometheus 指标如 avg_heal_rounds<3。

风险控制:VLM 幻觉用双模型 ensemble(主 VLM + 备用 GPT-4V);隐私:本地推理不上传截屏;回滚:失败超 max_rounds 时 fallback 脚本模式。测试基准:OSWorld(桌面模拟移动)、AndroidWorld,自建数据集覆盖电商 / 社交 / 旅行 app。

实际案例:在真实手机上,MobileAgent-v3.5 处理 “查小红书魔搭社区粉丝数,总和小红书 + 抖音”,多代理协作打开 app、搜索、汇总数字,成功率 92%。相比单代理 v1,提升源于自愈:处理弹窗 / 加载延时。

参数调优表:

参数 默认 场景优化
max_rounds 20 长任务 30
conf_threshold 0.7 高精度 0.8
memory_slots 5 复杂 10
retry_limit 3 滑动 5

通过以上配置,开发者可在 1 天内搭建原型,适用于测试自动化、 RPA 等。MobileAgent 证明,视觉代理 + 自愈是移动 GUI 自动化的未来方向。

资料来源

查看归档