mobilegym
浏览器内运行的移动 GUI Agent 可验证仿真平台,支持状态快照评判与并行强化学习训练
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
浏览器内运行的移动 GUI Agent 可验证仿真平台,支持状态快照评判与并行强化学习训练
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,你正在训练一个 AI 代理来帮你操作手机——订外卖、回复微信、查地图。但手机操作不像下棋有明确的输赢标准:**"这次点确认按钮算对了吗?"**传统的答案是请另一个 AI(VLM Judge)来评判,但 VLM 自己还有 10.2% 的误判率,评价成本也高得离谱。
MobileGym 给出了一个更聪明的方案:在浏览器里跑一个完整的手机模拟器,所有操作都会留下结构化的 JSON 状态快照,judge 通过比对状态来判定任务是否完成——不需要 VLM,不需要真人,众目睽睽之下,结果一目了然。

手机 GUI Agent 是当前 LLM 应用最热门的方向之一。研究者们想让大模型学会操作真实手机——但这条路有三个大坑:
MobileGym 瞄准了这三个痛点。它是一个 浏览器内运行的全功能手机模拟器,支持 28 个主流应用、416 个参数化任务模板,同时内置可验证的状态评估系统和低成本的并行训练框架。

MobileGym 的核心创新是 structured state snapshot(结构化状态快照)。不同于截图比对,MobileGym 捕获每个操作后完整的 JSON 状态(比如地图应用里"当前缩放级别"、"搜索结果列表"、"当前位置坐标"),judge 对比 JSON 差异即可判定结果。
关键特性包括:

MobileGym 的代码库分为三个核心层:
| 层次 | 技术栈 | 说明 |
|---|---|---|
| Web UI 层 | React 18 + Vite + TypeScript + Tailwind CSS | 浏览器内模拟器前端,Leaflet地图、QR码、SQLite-WASM |
| Bench Judge 层 | Python(bench_env/) | Agent与Env解耦,模拟器模式用JSON状态判定,真实设备模式自动降级为VLM judge |
| RL 训练层 | Python(mobilegym-rl/) | verl + rllm + vLLM,强化学习训练,支持 GRPO 算法 |
mobilegym-rl 子目录提供了 Dockerfile,基于 verlai/verl:vllm011.latest 镜像,内置 vLLM推理引擎、verl 训练框架和 rllm 模型封装,GPU 训练开箱即用。
轻度使用(推荐):直接访问 mobilegym.dev,无需安装,在线体验模拟器和 Trace Viewer。
本地开发:需要 Node.js 22+ 和 Python 3.10+。前端 npm install && npm run dev 即可启动 Web 模拟器。后端评估环境 pip install -e ./bench_env。
强化学习训练(进阶):使用 mobilegym-rl/Dockerfile 构建镜像,或运行 install.sh 安装 verl + rllm + vLLM 依赖链。训练需要 NVIDIA GPU(推荐 16GB+ 显存)。
MobileGym 的核心价值是把手机 Agent 研究从"凭感觉调参"变成"数据驱动的可复现实验"。当评测结果可以通过 JSON 快照精确验证,当训练可以低成本并行扩展,手机 Agent 的迭代速度将迎来质的飞跃。
该项目背后的论文(arXiv:2605.26114)已在学术社区引发关注,GitHub 743 星的增长势头也说明产业界同样需要这样的基础设施工具。随着多模态大模型能力不断增强,能在仿真环境中高效训练和评测的手机 Agent 平台将成为行业标配——MobileGym 正在抢占这个生态位。