Mobile-Agent-基于多模态大模型(MLLM)的视觉驱动型GUI智能体

🔍 背景

随着人工智能从感知智能迈向决策与行动智能,AI代理(AI Agent)成为连接数字世界与物理操作的关键桥梁。在移动端,让AI真正"会用手机",已成为人机交互的新前沿。传统自动化工具如Appium依赖控件树(Accessibility API),对动态界面兼容性差;而Mobile-Agent系列项目通过纯视觉方案突破这一限制,开启了以"看"代"读" 的新范式。

该项目由阿里巴巴通义实验室联合北京交通大学等机构推出,已在NeurIPS 2024发表,并获CCL 2024/2025连续两年Best Demo奖 4。其核心思想是:让AI像人一样通过观察屏幕来理解状态、规划动作、执行任务

目前,Mobile-Agent已迭代至v3版本,开源地址为:
https://github.com/X-PLUG/MobileAgent

相关论文包括:

🧩 技术演进路线:从单体到多智能体再到自进化
版本 发布时间 核心创新 关键能力
v1 2024年初 纯视觉操作框架 基于GPT-4V实现端到端任务执行 6
v2 2024年中 多Agent协作架构 引入规划、决策、反思三Agent协同机制 7
E 2024年末 自进化学习机制 支持经验积累与策略优化,提升长期成功率 9
v3 2025年8月 GUI基础模型GUI-Owl 构建统一GUI语义空间,支持跨平台自动化 16

(补充说明)每一代升级都解决了前一阶段的核心瓶颈:v1解决了"能否做"的问题;v2解决"做得稳"的问题;E版解决"越做越好"的问题;v3则迈向"通用智能体"的愿景。

🏗️ 架构解析:Mobile-Agent-v2 多智能体系统

以下是v2版本的经典架构图(可自行绘制或引用原文配图):

复制代码

[用户指令] ↓ [ Planner Agent ] → 生成任务进度 & 记忆焦点内容 ↓ [ Decision Agent ] ←→ [ 视觉感知模块 ] ↓ (执行操作) [ Reflection Agent ] → 判断操作是否成功 ↖_________↙ 反馈循环

✅ 各组件功能详解
### 🎯 规划Agent(Planner)

负责高层次任务分解。例如输入"帮我查明天上海天气,并发给张三",它会拆解为:

  1. 打开天气App
  2. 搜索"上海"
  3. 查看明日预报
  4. 截图保存信息
  5. 打开微信
  6. 找到联系人"张三"
  7. 发送消息+截图

该过程形成结构化任务流,避免决策Agent陷入长上下文混乱 7

### ⚙️ 决策Agent(Decision)

接收当前屏幕图像 + 规划进度,输出具体操作指令。操作空间定义如下:

复制代码

class ActionSpace: CLICK = "click(x, y)" SWIPE = "swipe(x1, y1, x2, y2)" TYPE = "type(text)" HOME = "home()" BACK = "back()" STOP = "stop()"

实际调用示例(来自controller.py1

复制代码

def tap(adb_path, x, y): """通过ADB执行点击操作""" cmd = f"{adb_path} shell input tap {x} {y}" os.system(cmd) def swipe(adb_path, x1, y1, x2, y2): """滑动操作""" cmd = f"{adb_path} shell input swipe {x1} {y1} {x2} {y2}" os.system(cmd)

### 🔍 反思Agent(Reflection)

这是系统鲁棒性的关键。它通过对比操作前后截图判断结果:

  • 正确操作:页面变化符合预期(如进入新页面)
  • 无效操作:无任何变化(点错位置)
  • 错误操作:跳转到错误页面(误触广告)

若检测异常,则触发重试或上报Manager重新规划 7

### 👁️ 视觉感知模块

集成OCR、图标检测、CLIP描述三大工具:

  • OCR识别文本坐标(用于精准点击)
  • GroundingDINO检测图标位置 2
  • CLIP生成语义描述辅助推理

示例代码(简化版):

复制代码

from transformers import pipeline ocr = pipeline("text-detection", model="iic/cv_resnet18_ocr-detection-db-line-level_damo") icon_detector = pipeline("object-detection", model="AI-ModelScope/GroundingDINO") def extract_elements(screenshot_path): texts = ocr(screenshot_path) icons = icon_detector(screenshot_path, candidate_labels=["button", "icon"]) return {"texts": texts, "icons": icons}

💡 Mobile-Agent-E:自进化能力揭秘

在真实场景中,重复执行相同任务应越来越快。Mobile-Agent-E引入"经验记忆库",记录高频路径并生成快捷方式(Shortcut)。例如:

第一次打车流程:打开高德地图 → 点击"打车" → 输入目的地 → 选择车型 → 确认下单

经过几次训练后,系统自动创建快捷指令:"一键打车回家"

其实现依赖一个Notetaker Agent ,专门收集有效操作序列,并经验证后存入知识库 9

此外,系统还支持"Tips"机制------当某次任务失败时,人工可添加提示(如"注意弹窗广告拦截"),这些Tips会被编码进后续推理过程,显著降低同类错误率。

🚀 Mobile-Agent-v3:迈向通用GUI智能体

最新发布的v3版本最大亮点是提出了GUI-Owl模型------一个专为图形界面设计的基础模型。它的目标是建立统一的GUI语义理解空间,无论Android、iOS还是Windows桌面,都能用同一套逻辑进行操作。

其核心技术优势包括:

  • 跨平台适配:同一模型处理不同OS的UI元素
  • 零样本迁移:未见过的应用也能尝试操作
  • 语义对齐:将"搜索框"、"返回键"等抽象为通用概念

在AndroidWorld基准测试中,v3达到73.3%任务成功率,远超此前SOTA 16

🛠️ 快速上手指南(含完整代码)

以下是一个基于Mobile-Agent-E的实战教程,教你如何运行第一个自动化任务。

1. 环境准备
复制代码

# 克隆项目 git clone https://github.com/X-PLUG/MobileAgent.git cd mobileagent/Mobile-Agent-E # 创建虚拟环境 conda create -n mobile_agent_e python=3.10 -y conda activate mobile_agent_e # 安装依赖 pip install -r requirements.txt

2. ADB配置

确保手机开启USB调试模式,并连接电脑:

复制代码

# 启动ADB服务 adb start-server # 查看设备 adb devices # 输出应类似: # List of devices attached # 1234567890ABCDEF device # 授权输入权限(安装ADBKeyboard) adb install ADBKeyboard.apk

3. 配置AI模型

设置OpenAI API密钥:

复制代码

export BACKBONE_TYPE=OpenAI export OPENAI_API_KEY=your-api-key-here

或使用Qwen-VL:

复制代码

export BACKBONE_TYPE=QwenVL export QWEN_API_KEY=your-qwen-key

4. 编写任务脚本

创建 tasks/weather_task.json

复制代码

以上内容均由AI搜集总结并生成,仅供参考

相关推荐
Blossom.1181 小时前
基于知识图谱+LLM的工业设备故障诊断:从SQL日志到可解释推理的实战闭环
人工智能·python·sql·深度学习·算法·transformer·知识图谱
t梧桐树t1 小时前
spring AI都能做什么
java·人工智能·spring
lpfasd1231 小时前
AI 时代,编程语言战争会终止吗?
人工智能
WLJT1231231231 小时前
芯片与电流:点亮生活的科技力量
大数据·人工智能·科技·生活
syounger2 小时前
德军 SAP 迁移受阻:S4/HANA 系统功能不稳定,全面上线再度推迟
大数据·人工智能
声网2 小时前
全球首个语音 AI 广告平台问世;Sam Altman 与 Jony Ive:合作新硬件将「如湖畔山间小屋般平静」丨日报
人工智能
Yeats_Liao2 小时前
CANN Samples(七):视频与流媒体:RTSP与多路输入实战
人工智能·机器学习·音视频
玖日大大2 小时前
X-AnyLabeling-实践使用AI驱动的图像
人工智能
倔强的石头1062 小时前
Rokid AI眼镜:连接现实与数字的桥梁,探索下一代智能应用开发
人工智能·ai·ar·rokid·ai眼镜