ClawGUI: A Unified Framework for Training, Evaluating, and Deploying GUI Agents

Fei Tang, Zhiqiong Lu, Boxuan Zhang, Weiming Lu, Jun Xiao, Yueting Zhuang, Yongliang Shen · Zhejiang University · 2026-04-13
arXiv:2604.11784 · GitHub · 关键词: GUI agent · online RL · GiGPO · PRM · real-device training · MobileWorld · full-stack infrastructure

速读卡片 (TL;DR)

一句话: GUI agent 领域的真正瓶颈不是模型,而是把训练 / 评测 / 部署捏成一条流水线这件基础设施事;ClawGUI 是第一个把这三件事一起开源的 full-stack harness — RL trainer 同时支持 Docker 并行 emulator 和真实物理设备,Eval 在 6 个 benchmark 上对 11+ 模型实现 95.8% reproduction,Agent 通过 12+ 聊天平台部署到 Android/HarmonyOS/iOS 并采用 hybrid CLI-GUI 路由策略。

17.1%
ClawGUI-2B 在 MobileWorld GUI-Only 上 SR (比同尺寸 MAI-UI-2B 高 6.0 个绝对点)
95.8%
ClawGUI-Eval 在 6 个 benchmark / 11+ 模型上的 reproduction rate (46/48 cells)
+2.6%
GiGPO 替换 GRPO 带来的 SR 提升 (14.5% → 17.1%,relative +17.9%)

立场: 这是一篇典型的 infrastructure paper,而非算法 paper — 真正的贡献是把过去散落在 AgentGym-RL (只 train) / OSWorld、AndroidWorld (只 eval) / Anthropic Computer Use (闭源产品) 之间的 gap 填掉,让"用同一份 code 训出来 → 用同一份 code 测出来 → 推到用户手机上"成为可能。ClawGUI-2B 的 17.1% 数字只是 framework 自我验证的副产物,真正的产品是这条流水线本身。


1 · 动机:GUI agent 领域的碎片化危机

1.1 历史脉络

过去两年 GUI agent 这一线进展极快,但每一步都只解决了 stack 上的一个孤立环节:

每一段的论文都把自己环节做到了 SOTA,但没有一篇负责让上一环和下一环对得上。结果是:

论文用一句话概括这种困境:"none of these works open-source their training infrastructure, and all are validated solely in virtual sandboxes" — 也就是说目前所有 RL 训练的 GUI agent 都没在真实手机上验证过

1.2 别的方案为什么不够 — 三个 gap × 三类对手

把现存所有 GUI agent 相关工作按"覆盖了哪一段 stack"对齐到下表,空缺即 ClawGUI 要补的位置:

类别代表训练 infra评测真实部署关键短板
纯 RL 训练 framework AgentGym-RL · verl-agent × × 开源了 trainer 但只覆盖 web/text 任务,GUI 这块没现成 emulator pool 和 real-device backend
GUI 模型 paper (含 RL 训练) UI-TARS-2 · UI-Venus-1.5 · MAI-UI · MobileGUI-RL · ComputerRL × (报数字但 infra 不开源) 部分 × code 即使发也只 bind 在自家 sandbox,real-device 训练完全没碰
GUI Benchmark 工具 OSWorld · AndroidWorld · MobileWorld · ScreenSpot-Pro × × 只覆盖 eval,且没统一 prompt/分辨率/采样温度,跨 paper 数字漂移好几个点
CLI agent harness Anthropic Computer Use · OpenClaw · Claude Code · Hermes Agent × × 能部署到用户手里,但只走 CLI/MCP — 没 GUI 路径,且大多闭源
研究原型部署 Agent S · MobileAgent × 有限 demo 停留在 notebook / 单 Android controller,跨 OS、持久化 personalization 都缺
ClawGUI 本文 ✓ 第一个开源 + real device ✓ 6 bench, 11+ 模型, 95.8% repro ✓ Android/HarmonyOS/iOS, 12+ chat 平台

三个具体 gap 论文写得很清楚 (按 §1 的小标题原文翻译):

  1. 训练生态封闭。 所有 online-RL GUI agent paper (UI-TARS-2 / UI-Venus / MAI-UI / ComputerRL) 都不开源 infra;开源的那部分又只能跑 emulator,real device 训练在 open literature 里"essentially unexplored"。
  2. 评测严重错位。 Prompt 顺序、坐标归一化、图片分辨率、sampling temperature 任何一个变都让结果飘几个点 — ScreenSpot-Pro 上一个 2% 提升可能是真进展,可能只是换了 prompt。社区没有共享 baseline
  3. 部署回路断裂。 Train 出来的 model 几乎不会出现在真实用户的手机上。现有部署线上要么是 CLI-only (覆盖窄),要么是封闭产品 (黑盒)。

1.3 为什么这事不平凡

表面看 ClawGUI 只是"把三个轮子装到一起",听起来工程为主。但具体到 GUI 这个 domain 上,把它们捏到一起的复杂度比想象大很多:

非平凡之处是:这五条难点彼此互锁 — 你要 real-device training 必须有 MLLM judge,要 MLLM judge 必须有 dense PRM 弥补 sparsity,要 dense PRM 必须有 step-level RL (GiGPO) 才能吃下信号,而要 RL 跑得稳又必须有 spare server rotation 兜底。任何一环缺失,整个 stack 就跑不通。


2 · 背景速查

术语意思
GUI agent通过视觉界面 (截屏 + tap/swipe/type) 而非 API 操作软件的 agent;对比 CLI agent (走 shell/MCP)
VLM (Vision-Language Model)多模态模型 (Qwen3-VL / GUI-Owl / UI-TARS),输入截屏 + instruction,输出动作 token 序列
Grounding给定 instruction,在截屏上定位目标元素 (输出坐标或 bbox);ScreenSpot 系列测这件事
Navigationmulti-step 任务执行 (打开 App → 点击 → 输入文本 → 发送);MobileWorld / AndroidControl 测这件事
GRPOGroup Relative Policy Optimization,DeepSeek-Math 提出。同一 task 跑 N 个 rollout,把 reward 归一化作为 advantage,免去 value network
GiGPOGroup-in-Group Policy Optimization (Feng et al. 2025b)。两级 hierarchy:macro 级保留 GRPO 的轨迹级 advantage,micro 级把"相同 intermediate state"的 step 聚为 sub-group 并算 discounted-return 的局部 advantage,获得 step-level credit
PRMProcess Reward Model,给每一步打分而不是只给 episode end。ClawGUI 里用 Qwen3.5-72B 作为 judge,输入 (前截屏, 后截屏, 历史动作),输出 step 贡献分
MobileWorldKong et al. 2025 提出的 mobile 交互 benchmark;GUI-Only split 含 117 个 task,要求纯视觉控制,无 API 访问
OSWorld / AndroidWorld / AndroidControl桌面 / 安卓的交互式 benchmark,Step-level 或 task-level 评分
ScreenSpot-Pro / V2静态 grounding benchmark,看 click 坐标是否落在正确元素 bbox 内
MLLM-as-judge用大模型看最终截屏 + instruction,判断 task 是否完成 — 真机训练里唯一可行的 outcome reward 来源
Spare server rotationEmulator pool 里维持一队空闲容器,主容器一崩,自动从 queue 拉一个健康的替换,不打断 rollout
Hybrid CLI-GUI同一 agent 同时拥有 shell 命令 + 屏幕点击两套 action space,运行时由 model 自主选择走哪条

3 · 方法 · ClawGUI-RL: 训练基础设施

ClawGUI-RL 由两层构成:上层是 RL Infrastructure (Environment Manager + RL Trainer + Reward Manager),下层是 Real & Virtual Environment。两层之间是统一接口 — virtual emulator 和 real phone 在 trainer 眼里看起来完全一样。基于 verl + verl-agent 改造,支持 PPO / GRPO / GiGPO / GSPO / Reinforce++ 一族算法。

3.1 Environment Manager — 并行环境 + 真实设备

Virtual environment. 借助 MobileWorld,在单机或多机上拉起几十个 Docker-based Android emulator。论文实验配置是 64 parallel virtual environments on 8×A6000 (48GB) — 也就是平均每张 A6000 上 8 个 Android 容器。每个容器走四阶段 lifecycle:

  1. Task Reset: Episode 开始,初始化设备状态 + 加载新任务
  2. Task Evaluation: System-level 读 DB / app state + MLLM-as-judge 看最终屏
  3. Spare Server Rotation: 主容器不健康 → 自动从空闲 queue 拉替换,resume 任务
  4. Teardown: 周期性 restart,防止 state 累积

Real device training. 同一接口对接物理 Android / cloud phone。两个独有的难点:

RL Trainer (verl + GiGPO) policy π_θ · 64 parallel rollouts · group size 8 Environment Manager (健康检查 / 故障转移 / 调度) Emu-1 healthy Emu-2 healthy Emu-3 CRASHED ... Emu-64 Spare-Q stand-by Real Phone (ADB · cloud phone) spare rotation Reward Manager R_outcome (binary) + R_step (PRM, Qwen3.5-72B) dense step-level signal R action a_t 同一接口下 emulator pool 和 real device 互换
ClawGUI-RL 数据流。RL Trainer 同时驱动 64 个 Docker Android emulator + 真实手机;Environment Manager 监控容器健康,Emu-3 崩了就自动从 Spare Queue 拉一个替换,任务可恢复执行而不打断整个 rollout。Reward Manager 把 binary outcome reward 和 PRM 给的 step-level dense reward 合并后回传给 trainer。

3.2 Reward Design — Binary + Dense

论文采用两级 reward 叠加:

R = Routcome + Rstep     (式 1)

具体例: Task = "在微信里给妈妈发'晚饭别等我了'"。Trajectory 走 12 步,只有第 12 步发送后任务完成 → Routcome = 1 出现在 step 12;但 step 3 (打开通讯录)、step 5 (点击妈妈头像) 也是关键正向步,GRPO 会把所有 12 步赋同一个 advantage。PRM 给 step 3 / 5 高分,给 step 7 (误点表情面板) 负分,GiGPO 借此对 step 7 单独打负 advantage,policy 学会避免这种 misclick。

3.3 RL Trainer — 为什么选 GiGPO 而非 GRPO

论文用一个非常清晰的反例论证 GRPO 不够用:同一 task 上,rollout A 4 步完成,rollout B 8 步完成。两者都成功,GRPO 给两条轨迹相同的 reward,优化器拿不到"哪条更高效"的信号。

GiGPO 的两级 advantage:

关键优点:不需要额外 value network,也不需要多跑 rollout — 用已有数据再聚一次类即可。论文报告 GiGPO 把 SR 从 14.5% 拉到 17.1%,绝对 +2.6%,相对 +17.9%。

为什么这样设计 (反向论证): 如果只用 episode-level GRPO,3 步的 misclick 和 8 步的关键 tap 拿到一样的梯度,policy 学不到 step 粒度的偏好。如果只用 PRM 给 step 完全替代 episode reward,PRM 本身有噪声 → 累积偏差会让 trajectory 整体走偏。两级叠加保证 global 由真实 outcome 锚定 + local 由 PRM 增稠,信号既无偏又稠密。

4 · 方法 · ClawGUI-Eval: 标准化评测

4.1 三段 pipeline 解耦

ClawGUI-Eval 的核心设计哲学是"把任何配置选择 pin 死,任何中间产物开源"。具体落地为三阶段解耦:

① Infer transformers · OpenAI API multi-GPU shard ckpt 输出: raw predictions (released) ② Judge point-in-box · polygon refusal-aware · multi-action 输出: per-sample correct/wrong ③ Metric accuracy · pass@1 breakdown by element 输出: 最终 leaderboard 关键: 任何单阶段可独立 rerun 想换 judge parser? 只跑 ②③,不重跑昂贵 ①
ClawGUI-Eval 三段 pipeline。预测输出公开发布 → 任何研究者想质疑某个 judge 实现,只需 download predictions + rerun stage ②③,免重 inference 的算力开销。

Coverage: 6 个 benchmark — ScreenSpot-Pro、ScreenSpot-V2、UI-Vision、MMBench-GUI、OSWorld-G、AndroidControl;11+ 模型 — Qwen3-VL/2.5-VL、UI-TARS、MAI-UI、GUI-G2、UI-Venus、GUI-Owl、StepGUI、Gemini、Seed 1.8。

4.2 "95.8% reproduction" 到底意味着什么

这是论文最容易被误读的数字。看 Table 3 后定义清楚:

注意: 这个数字只针对 grounding benchmark (SS-Pro / SS-V2 / UIV / MMB / OSW-G),并不包含 navigation / interactive 任务 (如 AndroidControl、MobileWorld)。也就是说"95.8% reproduction"覆盖的是静态视觉 grounding 这件事,而 ClawGUI-2B 自己拼的 MobileWorld 17.1% 不在 reproduction 统计内。

4.3 闭源模型的 Zoom 策略

对 Gemini 3.0 Pro / Seed 1.8 这种 API-only 闭源模型,标准 inference 不可行 (无法控分辨率)。论文采用 Zoom paradigm — 一种两阶段 crop-then-ground 策略:Gemini 用 25% crop tiles,Seed 用 50% crop tiles。结果在 SS-Pro 上 Gemini 3.0 Pro 拿到 75.08 (官方 72.70),Seed 1.8 拿到 72.80 (官方 73.10),均 ≤2% 误差,reproduction 100%。


5 · 方法 · ClawGUI-Agent: 部署栈

5.1 Hybrid CLI-GUI 控制

论文最有意思的设计点:同一 agent 既能输出 shell command 也能输出 GUI 动作,每一步由 model 自主选择走哪条。设计哲学:

论文的明确立场是 "neither paradigm alone is sufficient" — agent 必须能在两种 action space 间动态路由。

用户: "给 John 发 WhatsApp '明天见'" Agent (perceive → reason → act) 观察当前截屏 · 检索 personalized memory ("John" → +86 138...) 能 CLI 吗? YES → 用 CLI NO → 退回 GUI CLI / MCP call adb shell am start ... (一步搞定) GUI sequence TAP(WhatsApp) → TAP(John) → TYPE → TAP(Send)
Hybrid CLI-GUI 决策流。Agent 每个 turn 都先尝试 CLI (若 App 暴露 API/intent);否则回落到 GUI tap/swipe/type。这条路由策略本身是 prompt-driven,论文没给细节说是否将来会用 RL 学,但 §5 Discussion 暗示 "learns the routing policy itself from interaction data" 是未来方向。

5.2 Personalized Memory

Agent 在执行任务过程中自动抽取结构化事实:contact name & relationship、frequently used App、user habit/preference,以 vector embedding 存进持久库。后续任务在 system context 注入 top-k 最相似 memory。重复 memory 会被 merge 而非累积,保持库 lean。这块论文写得很简,本质上是 RAG-style external memory + dedup,设计上接近 MemoryBank/Mem0 的工程化版本。

5.3 Remote 和 Local 部署

5.4 ClawGUI-Eval 作为 Skill

有意思的小设计:用户可直接发自然语言 "benchmark Qwen3-VL on ScreenSpot-Pro",agent 自动完成环境验证 → 多 GPU 并行 inference → judging → metric → 返回结构化报告。把 eval pipeline 包成 agent tool 是产品化思路,普通用户也能跑 benchmark。


6 · 完整任务跟踪 · 给 John 发 WhatsApp '明天见'

把上面三个模块串起来跟踪一个具体任务在 ClawGUI 体系下的完整生命周期:

阶段动作系统状态
0. 用户输入Telegram bot: "Send WhatsApp to John saying 'see you tomorrow'"ClawGUI-Agent server 接收 message,触发 PhoneAgent
1. Memory 检索Embedding 查 personalized memory store命中: "John = +86 138 0013 8000 (close friend, contact)";"WhatsApp 经常用,通常用英文沟通"
2. 第一次决策Agent 评估能否走 CLIWhatsApp 不暴露公开 send-message intent → 走 GUI
3. PerceiveADB 截屏,VLM 解析看到主屏,定位到 WhatsApp icon (经 ClawGUI-RL 训练后 grounding 准)
4. Act t=1TAP(x=512, y=1340)打开 WhatsApp 主界面
5. Act t=2TAP("Chats" tab)跳到 chats 列表
6. Act t=3TAP("John") (memory 提供消歧)进入与 John 的对话窗口
7. Act t=4TAP(input box)键盘弹出
8. Act t=5TYPE("see you tomorrow")文字已输入
9. Act t=6TAP(Send button)消息已发送
10. VerificationMLLM judge 看最终截屏判定: 消息显示在对话流中 → Routcome = 1 (training 时);部署时返回成功 status 给 Telegram bot
11. Memory update抽取新 fact"用户在晚上发消息频次高" 等 preference 入库

训练时 (ClawGUI-RL 视角): 这条 6-step trajectory 会被 PRM 给每步打分 — step 3 (打开 John 对话) 因为减少了 plus 一层菜单导航而获得正分;step 4 (点输入框) 分数中性;step 6 (发送) 因接近 success 获得高分。GiGPO 在跨 N=8 个 rollout 内,把"也都进入了 John 对话窗口"的 step 3 聚为 sub-group,在 sub-group 内比较"接下来 5 步走什么 path 最高效"。

反向论证: 如果是给老板发邮件,Agent 第一步决策可能选 CLI — 因为 Android 有公开的 android.intent.action.SENDTO mailto URL,一条 adb shell am start 加 send 即可完成,无需 GUI 序列。Hybrid 路由的价值正在这种 case 体现。


7 · 实验关键结果

7.1 MobileWorld GUI-Only (Table 1) — 主结果

模型类别SR (%)读法
Gemini-3-Pro + UI-Ins-7BAgentic Framework (闭源)55.6另一个 regime,frontier model + grounding 助手,不直接可比
GPT-5 + UI-Ins-7BAgentic Framework54.0同上
Doubao-1.5-UI-TARSEnd-to-End26.3当前 e2e 开源 SOTA
MAI-UI-8BEnd-to-End19.78B 同家族,作为 scale 上限对照
ClawGUI-2BEnd-to-End17.1本文,基于 MAI-UI-2B 重训
UI-Venus-72BEnd-to-End16.472B 的 untrained model 还输给 2B trained,基础设施的价值
Qwen3-VL-235B-A22BEnd-to-End12.8巨大的 MoE 也只 12.8%
Qwen3-VL-32BEnd-to-End11.9
MAI-UI-2BEnd-to-End11.1同 base,未走 ClawGUI-RL,差 6.0 个绝对点

三个 takeaway:

  1. Infra 驱动 policy 质量。 同 base weights 下,过一遍 ClawGUI-RL 涨 6.0 个绝对点 — 增益完全来自 environment management + reward 设计。
  2. Small trained > Large untrained. 2B trained 打败 32B / 72B / 235B 的 untrained,RL infra 价值 > model scale。
  3. Agentic frameworks 是 separate regime。 Gemini-3-Pro + grounding 助手在 55.6% — 这是闭源 + planner 的体系,不和 e2e trained 直接比。

7.2 GiGPO vs GRPO Ablation (Table 2)

方法Reward TypeSR (%)
GRPOBinary (episode-level only)14.5
GiGPODense (episode- + step-level)17.1

+2.6% 绝对,+17.9% 相对。这是论文最干净的 ablation,验证 dense step-level credit 在 long-horizon GUI 任务上是必要的。

7.3 ClawGUI-Eval Reproduction (Table 3 节选)

选几个有代表性的格子:

模型SS-Pro OfficialSS-Pro Ours判定
GUI-Owl 1.5-8B71.1070.08✓ (|Δ|=1.02)
UI-Venus 1.5-8B68.4067.68✓ (|Δ|=0.72)
MAI-UI-8B65.8064.07✓ (|Δ|=1.73)
Qwen3-VL-2B48.5043.90× (|Δ|=4.60)
UI-TARS 1.5-7B49.6042.06× (|Δ|=7.54)
Gemini 3.0 Pro (Zoom)72.7075.08✓ (超过)

两个失败 case 都集中在"官方未公开 eval config"的模型上 — 这恰好印证作者主张:差异不是算法问题,是 infrastructure 问题。


8 · 开源到底放了什么 — repo 实地清点

纸面声明"three components 全部 open-source"很容易,实际验证要看 repo。我去 github.com/ZJU-REAL/ClawGUI(注意是浙大 REAL 组,不是 Kilo)拉了完整目录结构。

8.0 仓库基本信息

仓库github.com/ZJU-REAL/ClawGUI
LicenseApache 2.0(全模块)
Stars / Forks / Watchers1.2k / 43 / 11
默认 branchmaster(注意不是 main)
语言占比Python 86.2% / Kotlin 9.6%(app)/ Shell 3.2% / Jupyter 0.6% / TS 0.3% / Docker 0.1%
项目页zju-real.github.io/ClawGUI-Page

8.1 顶层结构 — 实际是 4 个模块,不是 3 个

Paper 说"three modules",但 repo 实际有 4 个。第 4 个 clawgui-app(Android 应用)是 paper 之后新加的。

ClawGUI/
├── clawgui-rl/       # 训练 — 我精读 §3 讲的就是这个
├── clawgui-eval/     # 评测 — §4
├── clawgui-agent/    # 部署 — §5
├── clawgui-app/      # 📱 Android on-device 应用(NEW,paper 没提)
├── assets/           # 图、logo
├── LICENSE           # Apache 2.0
├── CONTRIBUTING.md   # 8 KB
├── README.md / README_zh.md
└── .github/

8.2 模块 1:clawgui-rl/ — 训练 infra

子目录 / 文件内容
verl/整个 verl (字节 HybridFlow) 拉进来当 backend,不是 submodule
gigpo/GiGPO 算法实现 — 替代 GRPO 的 Group-in-Group Policy Optimization。来自 langfengq/verl-agent
agent_system/VLM agent 主循环(screenshot → reason → action → next screenshot)
docker/Android 模拟器 Docker 镜像配置(并行多 env 训练靠它)
recipe/训练配方 yaml(超参 / 模型路径 / reward weights)
scripts/启动脚本 + episode_visualizer.py 可回放任一 rollout
examples/跑通最小示例
requirements.txt / setup.py依赖 + 安装入口

关键事实(从 README 读出):

8.3 模块 2:clawgui-eval/ — 评测 pipeline

子目录 / 文件内容
inference/每个支持模型的 inference adapter(load + prompt format + output parse)
judge/判分器(每个 benchmark 不同的 coordinate / element 匹配规则)
metric/指标聚合(success rate / IoU / 等)
data/本地缓存目录(数据从 HF 下载)
image/评测图像预处理代码(crop, resize)
Dockerfile + docker-compose.yml容器化跑评测
main.py统一入口
scripts/各 benchmark + 模型组合的启动脚本

数据集(开源):

关键发现:支持 local GPU (transformers)remote OpenAI-compatible API 两种推理后端 — 这意味着自托管 vLLM/SGLang 服务可以直接接入跑 eval,跟 PinchBench 思路一致。多 GPU 多进程并行,每进程 pin 一个 GPU。

Zoom paradigm 是 paper 没明说但代码里的细节:

8.4 模块 3:clawgui-agent/ — 部署到手机

子目录 / 文件内容
nanobot/聊天平台桥接 — 来自 HKUDS/nanobot,接 12+ chat 平台
phone_agent/VLM 驱动的手机控制核心:截图 → reasoning → tap/swipe/type
main.py / webui.pyCLI 和 Web UI 两种入口
ios.pyiOS 设备控制
examples/ + scripts/配置示例 / 启动脚本

支撑栈(全部 third-party,ClawGUI 只做集成):

8.5 模块 4:clawgui-app/ — 📱 on-device Android app(NEW)

这是 paper 没提的新模块,2026 年 4 月之后加的。一个完整的 Kotlin Android app(build.gradle.kts + app/ + Shizuku 集成),把 brain + GUI agent 整套塞进一部手机:

设计详情
底层权限Shizuku(非 root 但高权限的 Android 控制框架)
双 agent(1) brain: function-calling LLM 做意图理解 / 工具编排 / session 管理 / 长期记忆
(2) phone agent: VLM 驱动的执行器,截图 → 计划 → 通过 Shizuku 执行 tap/swipe/type/launch/scroll
消除依赖不需要 desktop coordinator(旧架构是 PC 跑 brain + 手机跑执行,新架构全在手机上)
UX悬浮窗状态指示 / 内置 IME / 会话持久化 / Feishu 等外部入口 / trace 重放
要求Android 8.0+,需先装 Shizuku 并授权

8.6 Docker 与模拟器 — 训练环境到底"全开"吗?

这是用户最关心的一块。下面把整条链路按"三仓库 / 五镜像 / 实际依赖"拆给清楚,所有内容都是从 GitHub Contents API 直接拉的原文。

📦 8.6.1 三个仓库的角色

仓库角色License是否必装
ZJU-REAL/ClawGUI主仓 — trainer(clawgui-rl/)、评测(clawgui-eval/)、部署(clawgui-agent/)、Android app(clawgui-app/)Apache 2.0必装
sugarandgugu/ClawGUI-ServerAndroid 模拟器容器编排 — uv run mw env run --count 8 一行起 8 个 emulator;封装 MobileWorld 上游⚠ 无 LICENSE 文件训练必装(虚拟环境时)
Tongyi-MAI/MobileWorld真正的 Android 模拟器 + 应用后端 + API,被 ClawGUI-Server 拉来用(查官方仓)间接(通过镜像)

🐳 8.6.2 五张 Docker 镜像各自是什么

#镜像来源用途体积估算
1clawgui-eval(本地 build)clawgui-eval/Dockerfile静态 grounding benchmark 推理 + judge + metric~10 GB
2clawgui-rl(本地 build,9 变体)clawgui-rl/docker/Dockerfile.*vLLM / SGLang / Megatron RL trainer~20 GB
3ghcr.io/tongyi-mai/mobile_world:latestGHCR 公开 pullAndroid emulator + Mattermost + Mastodon + API server,一个容器内全装~15 GB
4Mattermost(嵌套在 #3 内)官方 mattermost docker聊天平台 task 用
5Mastodon(嵌套在 #3 内)官方 mastodon docker社交平台 task 用
注意 #3 是 Docker-in-Docker:mobile_world 镜像基于 cruizba/ubuntu-dind:latest,容器内还跑一个 Docker daemon 去 docker load 预打包的 Mattermost / Mastodon tar 包。所以宿主机要给这个容器 privileged 权限,这是个不小的安全开销。

⚙️ 8.6.3 评测镜像 clawgui-eval 原文(完整)

FROM pytorch/pytorch:2.6.0-cuda12.4-cudnn9-devel

# system packages
RUN apt-get update && apt-get install -y --no-install-recommends \
    git wget unzip build-essential ninja-build libgl1

WORKDIR /workspace
COPY . clawgui-eval/
WORKDIR /workspace/clawgui-eval

RUN pip install --no-cache-dir -r requirements.txt
RUN pip install --no-cache-dir --no-build-isolation flash-attn==2.8.1
RUN pip install --no-cache-dir -e .

CMD ["python", "main.py", "--help"]

requirements.txt 完整内容(只有 8 个核心包,极其干净):

torch>=2.8.0
transformers>=4.57.0
qwen-vl-utils>=0.0.14
openai>=2.9.0
pillow>=12.0.0
tqdm>=4.67.0
numpy>=2.2.0
accelerate>=1.12.0
# optional: flash-attn>=2.8.1, vllm>=0.11.0

docker-compose.yml 关键挂载:

volumes:
  - ${DATA_DIR:-./data}:/workspace/clawgui-eval/data       # benchmark 数据
  - ${IMAGE_DIR:-./image}:/workspace/clawgui-eval/image    # 截图素材
  - ${OUTPUT_DIR:-./output}:/workspace/clawgui-eval/output # 评测输出
  - ${MODEL_DIR:-/tmp/models}:/models                      # 本地模型权重
ipc: host          # torch multiprocessing spawn 需要
ulimits.memlock: -1
deploy.resources.reservations.devices: [{ driver: nvidia, count: all }]

这一块的开源度:

🔧 8.6.4 训练 Trainer 镜像 clawgui-rl/docker/ — 9 个变体

Dockerfile大小定位
Dockerfile.vllm.sglang.megatron5.3 KB主力:支持 vLLM + SGLang + Megatron 三套后端
Dockerfile.ngc.vllm / Dockerfile.ngc.vllm0.83.3 KBNVIDIA NGC pytorch:24.08 + vLLM
Dockerfile.ngc.vllm0.8.sagemaker1.8 KBAWS SageMaker 适配版
Dockerfile.sglang2.4 KB纯 SGLang 后端
Dockerfile.vemlp.vllm.te1.8 KB火山引擎 ML 平台 + TransformerEngine
Dockerfile.awsefa2.1 KBAWS EFA(高速网络互连)
Dockerfile.rocm / Apptainerfile.rocm1.4 KBAMD ROCm GPU + Singularity/Apptainer

主力镜像 Dockerfile.vllm.sglang.megatron 的关键栈(原文摘录):

FROM nvcr.io/nvidia/pytorch:24.08-py3
ENV MAX_JOBS=32 VLLM_WORKER_MULTIPROC_METHOD=spawn HF_HUB_ENABLE_HF_TRANSFER=1

# 清掉 NV 自带 fork 版本
RUN pip uninstall -y torch torchvision torchaudio \
    pytorch-quantization pytorch-triton torch-tensorrt \
    xgboost transformer_engine flash_attn apex megatron-core grpcio

# 装公网版本
RUN pip install "sglang[all]==0.4.6.post5" --find-links https://flashinfer.ai/whl/cu124/torch2.6/flashinfer-python
RUN pip install "vllm==0.8.5.post1" "torch==2.6.0" "torchvision==0.21.0" "tensordict==0.6.2"
RUN pip install "transformers[hf_xet]>=4.51.0" accelerate datasets peft hf-transfer \
    ray[default] codetiming hydra-core qwen-vl-utils wandb dill liger-kernel ...
RUN wget .../flash_attn-2.7.4.post1+cu12torch2.6cxx11abiFALSE-...whl && pip install ...

对应 requirements.txt 列出 development 全集(全部 PyPI 公开包):

accelerate, codetiming, datasets, dill, flash-attn, hydra-core,
liger-kernel, numpy, pandas, peft, pyarrow>=19.0.0, pybind11,
pylatexenc, pre-commit, ray[default], tensordict<=0.6.2, torchdata,
transformers==4.51.1, wandb, packaging>=20.0, uvicorn, fastapi,
qwen-vl-utils[decord], openpyxl

注意:9 份 Dockerfile 都是从 verl 上游继承的原版(setup.py 头部还写着 Copyright 2024 Bytedance Ltd.),ClawGUI 没改 trainer 容器本身,所有改动都在 agent_system/ Python 代码层。

📱 8.6.5 Android 模拟器镜像 — 真正复杂的一块

训练时,clawgui-rl/agent_system/environments/env_package/mobileworld/envs.pyMobileWorldWorker(Ray Actor)走 HTTP 连到一组 backend URL,默认从 examples/env_server/mobileworld_server.txt 读:

# mobileworld_server.txt 长这样
http://127.0.0.1:7000
http://127.0.0.1:7001
http://127.0.0.1:7002
...

每个 URL 对应一个独立的 emulator 容器。容器的 Dockerfile(ClawGUI-Server/docker/Dockerfile)摘要:

FROM cruizba/ubuntu-dind:latest    # Docker-in-Docker 基底
ENV ANDROID_SDK_ROOT=/opt/android-sdk

RUN apt-get install -y openjdk-17-jdk scrcpy python3 python3-pip \
    ffmpeg xvfb x11vnc openbox novnc websockify socat
RUN pip install uv

# 装 Android SDK + emulator + Pixel_8 API 34 系统镜像
RUN cd /opt/android-sdk/cmdline-tools && \
    wget commandlinetools-linux-13114758_latest.zip ... && \
    sdkmanager "platform-tools" "build-tools;34.0.0" \
               "platforms;android-34" "system-images;android-34;google_apis;x86_64"

# AVD 配置 + adb key + 启动脚本
COPY docker/Pixel_8_API_34_x86_64.avd /root/.android/avd/.../
COPY docker/adbkey docker/adbkey.pub /root/.android/
COPY docker/start_emulator.sh docker/start_novnc.sh /app/docker/

# 应用后端预打包
COPY docker/mattermost-docker /app/mattermost-docker-bk
COPY docker/mastodon-docker /app/mastodon-docker-bk
COPY docker/images /app/images        # 预打包应用镜像 tar

HEALTHCHECK CMD curl -f http://localhost:6800/health || exit 1
ENTRYPOINT ["entrypoint.sh"]

entrypoint.sh 启动顺序:

  1. sysctl net.ipv6.conf.all.disable_ipv6=1(否则模拟器 SIM 卡禁用)
  2. start-docker.sh 启 inner Docker daemon
  3. docker load -i 把 Mattermost/Mastodon tar 包载入
  4. start_emulator.sh 启动 Android 模拟器(emulator -avd Pixel_8_API_34_x86_64 -no-window -no-audio -no-snapshot -gpu swiftshader_indirect)
  5. socat TCP-LISTEN:5556 ... TCP:127.0.0.1:5555 把 ADB 暴露到 0.0.0.0
  6. uv run mobile-world server --port 6800 启 API server

每容器对外暴露的端口(用 ClawGUI-Server 的 mw env run 自动分配):

端口用途默认起始
backendAPI server(/task/list / /step / /screenshot 等)7000
viewerWeb 查看器8000
VNCnoVNC 远程屏幕5900
ADBADB 中继(socat 转发)5600

开源状态:

🚀 8.6.6 从 0 到训练跑起来 — 完整命令序列

# Step 1. 准备 emulator 池(在专门的物理机或带嵌套虚拟化的机器)
git clone https://github.com/sugarandgugu/ClawGUI-Server && cd ClawGUI-Server
uv sync
cp .env.example .env && vim .env    # 填 API key
sudo uv run mw env check            # 检查 Docker / KVM / .env
docker pull ghcr.io/tongyi-mai/mobile_world:latest

sudo uv run mw env run \
    --count 16 \                    # 起 16 个并行容器
    --backend-start-port 7000 \
    --viewer-start-port 8000 \
    --vnc-start-port 5900 \
    --adb-start-port 5600 \
    --launch-interval 3

# Step 2. 把 16 个 URL 写进 trainer 配置
cd /path/to/ClawGUI/clawgui-rl
cat > examples/env_server/mobileworld_server.txt <

训练脚本 run_mobileworld.sh 的核心参数(直接从仓库拉的):

model_path=/models/GUI-Owl-1.5-2B-Instruct
group_size=4
train_data_size=1
total_epochs=3
adv_estimator=grpo
server_file=../env_server/mobileworld_server.txt

# 用 verl 主程序跑
python3 -m verl.trainer.main_ppo \
    algorithm.adv_estimator=$adv_estimator \
    actor_rollout_ref.rollout.name=vllm \
    actor_rollout_ref.rollout.gpu_memory_utilization=0.65 \
    ...
容器数下限规则(README 明写):
容器数 ≥ train_batch_size × group_size;以上面默认 1 × 4 = 4 为最小,但作者强烈建议额外加 50%+ spare(虚拟容器常 OOM / 截图失败 / ADB 卡死,trainer 会自动 rotate 到备用 URL)。
论文实验用的是 train_batch_size=4 × group_size=4 = 16,加 spare 推荐 24 个容器。

📊 8.6.7 开源度总评 — 三个维度

维度评分说明
代码开源★★★★★所有 Dockerfile、训练脚本、eval pipeline、agent harness、模型权重(ClawGUI-2B)全部开源,Apache 2.0(主仓)
评测可复现★★★★★评测 Docker 一行 docker compose up,数据公开,12+ 模型 adapter 现成,本机一卡能跑;和 PinchBench self-hosted 模式同级
训练可复现★★★☆☆代码全开,但硬件门槛非常高:GPU 4-8 卡 + 同时要 16-24 个能开 KVM + privileged 的容器(每个吃 4-6 GB RAM,1 个 vCPU);普通云 GPU 实例(非 bare-metal)很多开不了嵌套虚拟化,所以训练可复现度被硬件卡住,不是被代码卡住
真机训练可复现★★☆☆☆代码全开 + 验证过两台 Android,但需要 USB 直连或云手机服务,scale 起来要解决登录验证 / 设备管理 / IP 池等工程问题,作者也承认是"notoriously challenging"

一句话总结:评测环境是真正"开箱即用"级别的开源,Apache 2.0 + 公开数据 + 一行启动;训练环境代码也全开,但 Android 模拟器要走另一个 repo(sugarandgugu/ClawGUI-Server)拉公开 GHCR 镜像,而且要凑 16-24 个 privileged + KVM 容器,这是工程门槛,不是开源门槛。

8.7 模型 — ClawGUI-2B

训练好的 2B 模型权重开源:

  • HuggingFace: SugarVapeur/OpenGUI-2B(注意 repo 名是 "OpenGUI",不是 "ClawGUI" — README 里叫 ClawGUI-2B,这是早期项目改名的痕迹)
  • ModelScope: SugarFree/OpenGUI-2B
  • BF16 / safetensors / Apache 2.0 / 基于 Qwen3-VL 架构
  • 结果: MobileWorld GUI-Only Success Rate = 17.1%(同尺寸 MAI-UI-2B baseline 11.1%,+6.0)
⚠ 没开源的: 训练用的数据集(只 release 了 eval 数据集);PRM judger (Qwen3.5-72B) 的具体 prompt / fine-tune 数据;训练 ClawGUI-2B 用的 reward 设计完整 yaml(部分见 recipe/ 但不完整);72B PRM 跑了多少 token 量 / GPU 时长

8.8 ClawGUI = "原创 + 工程集成"占比拆解

整个 stack 大致 30% 原创 + 70% 集成上游开源工作。诚实拆解:

组件来源原创度
RL trainer 底座verl (字节 HybridFlow)0% — 直接用
GiGPO 算法langfengq/verl-agent0% — 直接用
vLLM hybrid enginevLLM 项目0%
Agent harnessOpenClaw (Kilo)0%
Chat 平台桥nanobot (HKUDS)0%
Android 控制Shizuku (RikkaApps)0%
Eval 6 benchmark各自社区0% — 数据来自原 benchmark
Android 模拟器 Docker pool 编排ClawGUI~80%
Eval 三段 pipeline + 12+ 模型 adapterClawGUI~90%
Zoom paradigm(Gemini/Seed 大模型评测)ClawGUI100%
ClawGUI-2B model weightsClawGUI(用上面 infra 训出来)100%
clawgui-app 双 agent AndroidClawGUI~90%

这不是贬义。**ClawGUI 的真实贡献是"做对了胶水层"** — 把碎片化的 verl / OpenClaw / Shizuku / 6 benchmark 整合成一个可复现的全栈方案,这件事比单独训个 SOTA 模型还有用,因为它降低了整个 GUI agent 社区的入门门槛。

8.9 平台覆盖 — ClawGUI 到底支持什么 OS?

从主仓 README 逐字核对的事实表(很多人会以为是"全平台",其实训练只覆盖 Android):

模块AndroidHarmonyOSiOSWindowsmacOSLinuxWeb
ClawGUI-RL(训练)
ClawGUI-Eval(评测)间接*间接*间接*
ClawGUI-Agent(部署 harness)✅ ADB✅ HDC✅ XCTest
ClawGUI-APP(on-device)✅ Shizuku

* "间接"指 OSWorld-G 是 OSWorld(Ubuntu/Win/macOS)的 grounding 子集,但只用静态截图,不涉及真实 OS 操作。

主 README 自己列的 Roadmap 也承认:

- [x] ClawGUI-RL  (Android 移动训练)
- [x] ClawGUI-2B  (训练好的模型权重)
- [x] On-device ClawGUI-APP
- [ ] Desktop Online RL — 扩展到桌面 OS,还没做
- [ ] Web Online RL — 扩展到浏览器,还没做
关键澄清:iOS 只在 部署 harness 里出现 — 你能让一个已经训好的 GUI agent 通过 XCTest 控制 iPhone,但仓库里没有任何 iOS 训练代码、iOS benchmark、iOS reward 设计。这是因为 iOS 不允许批量启 emulator 容器,生态封闭。

8.10 缺口对应的相关 paper 与开源 repo

下面把 ClawGUI 暂时不覆盖的几块 — 桌面 / Web / iOS — 各自的当前 SOTA 列清楚。

🖥️ 桌面 GUI Agent(Windows / macOS / Linux)

名字平台能力开源定位
OSWorld
NeurIPS 2024 · 2404.07972 · xlang-ai/OSWorld
Ubuntu / Win / macOS369 个真实 task,docker-based VM,可执行评测桌面 benchmark 事实标准。OSWorld-Verified(2025)修正后 SOTA 已 ~84% of human(原版只有 12.24% vs human 72.36%)
Windows Agent Arena
2024 · 2409.08264 · microsoft/WindowsAgentArena
Windows-only154 task(浏览器/文档/视频/代码/Notepad/Paint/Settings),Azure 并行Microsoft 官方,SOTA 19.5% vs human 74.5%,云上一次跑完几分钟
UI-TARS-2
2025-09 · 2509.02544 · bytedance/UI-TARS + UI-TARS-desktop
桌面 + Web + 移动 + 游戏 + Code多轮 RL (RLVR) + data flywheel + hybrid 沙箱,文件系统 + 终端集成✅ 权重 + harness最接近 ClawGUI 但全平台的全栈方案,字节跳动,SOTA。一句话:"ClawGUI 想做但还没做的桌面 RL 版,UI-TARS-2 已经做完了"
Agent-S2
2025 · simular-ai/Agent-S
macOS + Win + LinuxMixture of Grounding + Proactive Hierarchical Planning(模块化框架,非 RL)OSWorld 上超 OpenAI CUA/Operator 和 Claude 3.7 Computer Use
Hermes Agent
2026-02 · Nous Research
Linux / macOS / WSL2自改进 agent,持久记忆,一行 curl 安装偏部署而非训练,补 macOS 桌面助手生态
Claude / Gemini Computer Use桌面商业 API闭源对比 baseline,不能自训

🌐 Web GUI Agent

名字类型开源说明
WebArena / VisualWebArena
web-arena-x/webarena
Benchmark + 自托管站点5 个自托管站点(电商/论坛/CMS/...),事实 web benchmark
BrowserGym + AgentLab
servicenow/BrowserGym
Gym-style 包装ServiceNow 维护,把 MiniWoB / WorkArena / WebArena / VisualWebArena 统一到一个 API,带并行实验
WebAgent-R1
2505.16421
端到端多轮 RL trainerWebArena-Lite,二值 reward;Qwen-2.5-3B 6.1 → 33.9%,Llama-3.1-8B 8.5 → 44.8%这是 web 上的 GiGPO 等价物
WEBLICA
2605.06761
scalable web env 合成HTTP cache + LLM 自动合成 web 站点,几千个并行 env
Go-Browse
2506.03533
结构化探索训练训 web agent 的探索策略

📱 iOS 训练 — 一个明显的空白领域

iOS 因为生态封闭(没有像 Android emulator 那样的 KVM 镜像可以批量起几十个),到 2026 年 5 月没有公开的 iOS RL 训练 repo。能找到的相关工作:

  • ClawGUI-Agent 通过 XCTest 接 iPhone — 只能 deploy 不能 train
  • Apple ML Research 发了 Reinforcement Learning for Long-Horizon Interactive LLM Agents(machinelearning.apple.com),但不针对 iOS UI,是通用长程 agent RL
  • UINavBench(ICCV 2025)— 主要 Android,iOS 子集小
  • 实际生产:研究界用 iOS 一般走 云手机服务(BrowserStack / Sauce Labs / Appium)+ XCUITest,没有专门 iOS RL trainer
  • 潜在原因:Apple 限制 IPA 注入和 emulator 镜像分发,做 100 容器并行训练在法律和工程上都难

🎯 跨平台一锅端 — 真正的 "all-OS" RL 方案

方案覆盖方法
UI-TARS-2(ByteDance)桌面 + Web + 移动 + 游戏 + Code(无 iOS)多轮 RLVR + hybrid 沙箱 + data flywheel — 目前最完整的开源跨平台 RL trainer
RLAnything / Open-AgentRL(Gen-Verse, ICML 2026,见 #13 精读)Terminal + GUI + SWE + Tool-call(GUI 部分主要是 OSWorld)"闭环优化"框架,env / policy / reward 三件套都用 RL 协同训
AgentGym-RL(见 #06 精读)WebArena / BabyAI / SciWorld / TextCraft / SearchQA / TextWorld(没有移动 / 桌面 GUI)ScalingInter-RL,通用 agent RL framework,GUI 只占 Web 一块
结论:如果你想做的是移动端 + 真机 + 在线 RL,ClawGUI 是当前最完整的开源方案;如果你想做桌面 / Web 的 RL 训练,首选 UI-TARS-2(桌面+Web+移动一锅端)和 WebAgent-R1(纯 Web RL);如果你想做评测 only,桌面用 OSWorld,Windows-only 用 WAA;iOS 训练目前没有开源方案,只能走云手机 + deploy harness 这条路。

8.11 Roadmap (paper / repo 上标 coming soon)

  • Desktop Online RL — 扩展到桌面 OS,不只是手机
  • Web Online RL — 浏览器 task
  • Real-time RL — 当前是 offline batch,目标 on-the-fly 更新
  • Learned routing for hybrid CLI-GUI — paper §5 Discussion 明示当前是 prompt-driven,未来要用 RL 学

9 · 与同类工作对比

系统定位trainevaldeploy开源real device
AgentGym-RL (2509.08755)通用 agent RL trainer××无 GUI 专项
verl / verl-agentRL backend 库××
OSWorld / AndroidWorld交互式 benchmark××
ScreenSpot-Pro / MMBench-GUI静态 grounding benchmark××
UI-TARS-2 / UI-Venus-1.5RL-trained GUI 模型报数字××weights×
MAI-UI / MobileGUI-RLRL-trained GUI 模型报数字××weights×
Anthropic Computer Use / Claude.ai商业部署产品× (闭)× (闭)闭源不公开
OpenClaw / Hermes AgentCLI agent harness××✓ (CLI only)×
Agent S / MobileAgent研究 demo 部署×limiteddemo×
ClawGUIfull-stack✓ + real device✓ 95.8%✓ Android/HarmonyOS/iOS

从这张表能清楚看到 — 在它之前,三列同时打勾的开源系统就是没有过。这是 ClawGUI 的核心 contribution。


10 · 局限 / 个人 take / 待验证

9.1 局限和注意点

  • +6.0% 是 framework 的功劳还是 recipe 的功劳? 这是最重要的疑问。MAI-UI-2B (baseline) → ClawGUI-2B (本文) 走的不只是同一份 RL infra,还有不同的 data、PRM judger、reward 设计组合。论文没分离"infra 自身贡献"和"具体训练 recipe (Qwen3.5-72B PRM + GiGPO + 64-env scale) 贡献"。Table 2 那 +2.6% 是 GiGPO vs GRPO 的纯算法 ablation,但还有其他变量没做 ablation。
  • "95.8% reproduction" 只覆盖 grounding,navigation 没统计。 6 个 benchmark 里 5 个是 grounding (SS-Pro / SS-V2 / UIV / MMB / OSW-G),AndroidControl 这个 navigation 的 reproduction 数字没单独报。MobileWorld 也不在统计内。
  • Hybrid CLI-GUI 的路由策略是怎么学的? 论文说"learns the routing policy itself from interaction data"是未来方向,意味着当前版本的路由还是 prompt-driven 或规则化。这部分细节论文交代得比较粗,需要看 GitHub 实际实现。
  • Real device training 的 scale 没说清。 论文反复强调"first open-source with real device support",但训练 ClawGUI-2B 实际用的是 64 parallel virtual environments,真机训练具体跑了多少 task / step / 性能多少没单独 ablate。论文似乎主要是"basic infra works on real device",而不是"用 real device 拿到比 virtual 更好的 policy"。
  • PRM 用 Qwen3.5-72B 是巨大开销。 训练一个 2B agent 时,judge 用 72B model — 这意味 PRM 推理 cost 远大于 policy 训练 cost。在更大规模 training 时 PRM 是否能换成更小的专用 judger 是个工程问题。
  • Personalized memory 是工程化 RAG,不是论文级贡献。 这块论文写得简,基本对齐 Mem0 的工程实践,没新方法。

9.2 个人 take

这是一篇典型的 infrastructure paper。它的价值不在于发明了新算法 (GiGPO 是引用 Feng et al. 2025b 的现成算法,PRM 是 prevalent),而在于把领域里至少 3 条孤立 line 的工作拧成一条流水线并开源。这种 paper 的影响力短期看不出来,长期看是否成为 community standard 取决于:

  1. 会不会有第二批 paper 真的用 ClawGUI-RL 训 model (而不是各家重新写自己的 trainer)?
  2. ClawGUI-Eval 会不会成为 GUI agent paper 的事实评测 baseline?例如以后 paper 在 SS-Pro 上报数字必须附上"由 ClawGUI-Eval 评测"作为可比性 anchor。
  3. Hybrid CLI-GUI 这条路由是否会被后续 RL 训出来 — 这才是真正"new science",当前版本只是 prompt-driven。

给类比的话,ClawGUI 之于 GUI agent ≈ vLLM 之于 LLM serving — 单看不出 algorithmic 突破,但如果它真的成为默认 stack,那整个研究范式都会受益。

9.3 待验证问题清单

  1. 把同样 GiGPO + Qwen3.5-72B PRM 接到别人的 trainer (verl 原版) 上,能不能复现 17.1%?如果能 → infra 价值有限,真正是 recipe;如果不能 → infra 价值大,论文成立。
  2. Real-device-only training vs virtual-only training,在 holdout real device tasks 上的 generalization gap 多大?这是论文标榜 real device support 的核心 motivation,但没正面 ablate。
  3. PRM (Qwen3.5-72B) 替换成 7B / 2B model,SR 会掉多少?PRM 是不是 free lunch,还是要在 judge 质量上付出 huge cost?
  4. ClawGUI-Eval 的 95.8% 是否会随着 community 提交新模型而漂移?有没有 leaderboard CI/CD 机制?
  5. Hybrid 路由当前是怎么实现的?Prompt 给两个 action space,model 自由选?有没有 reward shaping 偏向 CLI?
  6. 12+ chat 平台 + 3 OS 部署,真实用户量级有多大?有没有 production usage statistics 验证 personalized memory 的实际收益?

11 · 记忆点 (cold recall)

立场 Full-stack open-source GUI agent harness:第一个把"RL 训练 + 标准化评测 + 真实设备部署"开源捏在一起,且 RL trainer 支持真实手机训练。
关键数字 ClawGUI-2B 在 MobileWorld GUI-Only 17.1%,比同尺寸 MAI-UI-2B baseline +6.0 绝对点,超过 UI-Venus-72B (16.4%) 和 Qwen3-VL-235B (12.8%)。
算法核心 GiGPO + PRM 双层 reward: macro 沿用 GRPO 的轨迹级 group relative,micro 用 anchor-state grouping 对相同 intermediate state 的 step 聚类算局部 advantage;PRM (Qwen3.5-72B) 给每步打分弥补 outcome 的稀疏。Ablation: GiGPO 比 GRPO +2.6%。
Eval 95.8% reproduction = 46/48 cells (5 个 grounding benchmark × 11+ 模型) 误差 ≤2% 或超过 official。失败 2 例都因官方未公开 eval config。闭源模型走 Zoom paradigm (crop-then-ground)。
Infra 64 parallel Docker Android emulator on 8×A6000;Environment Manager 实现 spare server rotation + health check + crash recovery;同一接口支持真机/ADB/cloud phone。Trainer 基于 verl + verl-agent。
Deploy Hybrid CLI-GUI 决策: 能 CLI 就 CLI (快),否则 GUI fallback (覆盖广)。12+ chat platform (Feishu/DingTalk/Telegram/Slack/...) 接入 Android/HarmonyOS/iOS。Personalized memory 持久化 contact/preference,vector store + top-k retrieval + dedup。
Eval 也是 skill 用户直接发"benchmark Qwen3-VL on ScreenSpot-Pro",agent 自动跑完 infer→judge→metric 返回报告。
主要风险 +6.0% 没分离 "framework 自身价值" vs "具体 recipe (PRM + GiGPO + scale) 价值";real-device training 的 ablation 不充分;PRM 用 72B judge,cost 不平凡。
类比 之于 GUI agent ≈ vLLM 之于 LLM serving:不是算法 paper,但若成为 community default 则范式级影响。