ShowUI-π:基于流生成模型的GUI灵巧操控手 ShowUI-π: Flow-based Generative Models as GUI Dexterous Hands
首个基于流匹配的GUI Agent,通过连续轨迹生成实现拖拽等高自由度操控
前置知识
Flow Matching (流匹配)
Flow matching是一种生成模型框架,它通过学习一个时间条件的速度场 $v_\theta(\hat{a}_t, t | o_t, Q)$ 来实现从噪声到数据的转换。不同于扩散模型需要迭代去噪,flow matching直接回归沿预定义概率路径的速度场,消除了显式分数估计的需求。在训练时,模型学习预测目标速度 $u_t$,推理时通过ODE求解器实现确定性采样。这种方法简化了轨迹建模,提升了采样效率,特别适合需要实时响应的连续控制任务。
本文的核心创新就是将flow matching引入GUI控制领域,理解它是理解ShowUI-π如何生成平滑、连续鼠标轨迹的关键
Vision-Language-Action (VLA) Model
VLA模型是将视觉感知、语言理解和动作执行统一的多模态模型。它接收视觉观测(如屏幕截图)和自然语言指令作为输入,输出机器人或GUI的动作策略。在机器人领域,VLA模型如RT-1、OpenVLA等已经在物理操控中展示了强大的能力。VLA的核心思想是利用大规模视觉-语言预训练的知识迁移到动作控制任务中。
ShowUI-π本质上是一个轻量级VLA模型,理解VLA的设计范式有助于理解本文的架构选择和技术路线
Discrete vs Continuous Action Space
在GUI自动化中,离散动作空间将交互简化为点击、输入文本等原子操作,坐标通过token化表示。而连续动作空间则允许模型生成轨迹序列,支持拖拽、旋转等需要持续观测和调整的复杂操作。现有主流GUI Agent(如基于LLM的方法)通常采用离散动作空间,通过语言token预测动作,这虽然简化了与VLM的集成,但从根本上限制了对高自由度连续控制的支持。
本文的核心论点就是离散动作空间的局限性,理解这两种表示方式的区别是理解论文动机和贡献的基础
Chunk-based Action Prediction
这是一种动作预测策略,模型一次预测多个时间步的动作序列(称为chunk),而不是逐个预测。在本文中,chunk size被设为20,即模型一次生成20个连续的鼠标坐标点。执行时可以选择执行1步、2步或5步后重新观测屏幕状态。更大的chunk size有助于模型学习动作分布的整体特性,而更频繁的重新观测则能提高精度。
chunk设计直接影响模型的实时性和精度平衡,论文的消融实验揭示了chunk size和执行步数的重要权衡关系
UI Automation / UIA Framework
UI Automation (UIA) 是Windows SDK提供的一套辅助功能框架,允许程序访问和操作系统UI元素的元数据。在本文的数据收集流程中,UIA被用来解析PowerPoint、文件管理器等应用的UI元素边界框、位置和属性。这些元数据为自动生成拖拽任务指令和验证轨迹执行结果提供了基础。
理解UIA框架有助于理解论文中ScreenDrag数据集是如何自动化构建的,以及数据收集流程的技术实现
研究动机
现有GUI Agent几乎全部依赖离散化的动作表示,将坐标编码为token序列,通过语言模型自回归地预测动作。这种设计在处理简单点击任务时表现良好,但从根本上无法支持需要连续轨迹的高自由度操控任务。具体来说,当用户需要在PowerPoint中旋转文本框时,鼠标必须沿着弧形轨迹平滑移动;解决旋转类验证码时,滑块需要精确停在特定角度;在画布上手写时,笔画需要连续流畅。这些任务要求Agent能够在执行过程中持续观测屏幕状态变化并实时调整轨迹,而不是简单地预测起点和终点。然而,现有的基准测试(如GUI grounding任务)只评估单个离散点击,完全忽略了拖拽类交互。即便一些工作尝试支持拖拽,也仅将其简化为线性的start-end点对,忽略了轨迹中间状态的丰富信息。此外,商业产品如OpenAI Operator在面对验证码任务时会触发安全策略拒绝执行,而Gemini-2.5-CUA则会错误地调用浏览器工具而非直接操控画布。这些都暴露了现有方法在连续操控方面的根本缺陷。
本文的目标是本文的目标是构建首个专注于连续轨迹生成的GUI Agent,使其能够像人类的灵巧手一样,在数字环境中执行拖拽、旋转、手写等需要持续视觉观测和实时调整的复杂操控任务。具体而言,作者希望:(1) 设计一个统一的动作表示框架,将离散点击和连续拖拽整合在同一个模型中;(2) 引入flow matching作为轨迹生成的核心方法,实现平滑、稳定的动作预测;(3) 构建一个大规模的训练数据集和评测基准,覆盖PowerPoint、桌面文件管理、手写、Premiere Pro和验证码五大领域;(4) 在仅450M参数的轻量级模型上实现超越商业模型的性能。
与已有工作不同的是,本文的独特切入点在于将机器人领域的flow-based VLA方法引入GUI自动化领域。作者观察到,物理机器人操控中的灵巧手(如抓取、精细装配)与数字环境中的鼠标操控具有深刻的类比关系:两者都需要连续的、实时反馈的轨迹控制。然而,GUI领域的工作一直沿用NLP范式,将动作视为语言token来预测,而机器人领域早已采用flow matching、diffusion policy等生成模型来处理连续动作空间。本文抓住了这个跨领域的技术迁移机会,提出'click本质上是一种移动可忽略的drag'这一统一视角,从而在单一框架内同时支持离散和连续交互,避免了为不同动作类型设计不同head的繁琐工程。
核心方法
ShowUI-π的方法可以用一个直觉来理解:想象你在用鼠标拖拽一个文件到文件夹,你的手并不是一步到位地跳到目标位置,而是持续地感知屏幕、微调鼠标的移动方向和距离。ShowUI-π就是模拟这个过程的数字灵巧手。技术路线上,ShowUI-π基于SmolVLM-450M架构,包含两个核心组件:(1) 预训练的视觉语言模型(VLM),负责处理多模态输入(屏幕截图+文本指令),将其编码为统一的视觉token表示;(2) 轻量级的flow matching action expert,基于Transformer结构,与VLM具有相同的层数(16层),通过交叉注意力机制获取VLM的隐藏状态,并生成连续的动作轨迹。在推理时,模型接收当前屏幕观测和任务指令,通过action expert生成一段动作chunk(20个坐标点),执行后获取新的屏幕观测,再次生成下一段动作,形成闭环控制。
ShowUI-π的核心创新在于三个设计的有机结合。首先是统一的离散-连续动作表示:作者观察到'click本质上是一种移动可忽略的drag',因此将点击表示为两步轨迹 [(x, y, down), (x, y, up)],而拖拽则表示为扩展的按住-移动序列 [(x1, y1, down), (x2, y2, down), ..., (xT, yT, up)]。所有动作都被统一为(x, y, m)三元组序列,其中m是鼠标按键状态。这种设计的美妙之处在于消除了动作类型的区分,一个模型同时处理点击和拖拽,无需任务特定的head选择。其次是flow-based轨迹生成,不同于现有GUI Agent通过语言解码预测离散坐标,ShowUI-π采用flow matching的确定性速度场来生成轨迹,每个预测步骤都将噪声动作 $\hat{a}$ 精化为清晰预测。最后是时间加权和方向正则化,作者认识到轨迹的起始点和终止点比中间点更重要(因为要从起点精确出发、在终点精确落位),因此对首尾施加10倍的权重;同时引入方向一致性损失,防止轨迹方向偏离。
方法步骤详情
ShowUI-π的完整工作流程如下。输入阶段:模型接收任务指令Q(如将标题顺时针旋转45度)和当前屏幕截图o。编码阶段:VLM的视觉编码器将截图处理为视觉token序列,文本指令也被编码为token,两者在统一的嵌入空间中融合。动作预测阶段:Action expert接收VLM的中间隐藏状态作为KV,通过自注意力和交叉注意力机制预测动作。首次预测时,动作状态初始化为 $a_0 = [-1, -1]$,表示起始状态。每个预测步骤生成一个动作chunk,即20个连续的(x, y, m)三元组。Flow matching推理:在每个chunk内,模型通过ODE求解器执行多次精化步骤,从噪声动作逐步去噪为清晰轨迹。执行阶段:执行第一步动作(或前几步),获取新的屏幕观测,将最后一步的预测动作 $a_k$ 作为新的动作状态反馈给模型,用于条件化下一次预测。闭环循环:重复上述观测-预测-执行过程,直到任务完成。训练目标:总损失为加权flow matching损失 $\mathcal{L}_{weighted}$ 和方向正则化损失 $\mathcal{L}_{reg}$ 的加权和,其中 $\mathcal{L}_{weighted} = \sum_{t=1}^{T} w_t \mathcal{L}(t)_{flow\ matching}$,首尾点权重 $w_t = 10$,方向正则化 $\mathcal{L}_{reg} = \frac{1}{T} \sum_{t=1}^{T} (1 - \cos(\hat{a}_t, u_t))$,总损失 $\mathcal{L}_{total} = \mathcal{L}_{weighted} + \lambda \mathcal{L}_{reg}$,其中 $\lambda = 0.1$。
技术新颖性
ShowUI-π的技术新颖性体现在多个层面。架构层面:首次在GUI领域引入flow-based VLA架构,借鉴机器人操控领域的π0、Diffusion Policy等方法,但针对GUI任务的特点进行了轻量化设计,仅450M参数。动作表示层面:提出统一的(x, y, m)三元组表示,巧妙地将点击和拖拽统一在同一个框架下,这与现有工作为点击和拖拽分别设计不同表示形成鲜明对比。训练策略层面:引入时间步加权的flow matching损失和方向正则化,这两个设计都是针对GUI拖拽任务的特点定制的——轨迹的首尾关键步需要更高精度,方向一致性对GUI任务至关重要。评估方法层面:设计了数据驱动的闭环在线评估方法,通过预录制的密集状态匹配来模拟真实环境,避免了搭建完整OS环境的复杂性,同时保证了可复现性。数据层面:构建了20K条训练轨迹和505个评测任务的ScreenDrag数据集,覆盖5个领域11类任务,这是首个专门针对连续GUI操控的大规模数据集。
实验结果
ShowUI-π在ScreenDrag基准上展示了令人印象深刻的结果,特别是在其仅450M参数的轻量级规模下。在线评估(闭环境成功率):ShowUI-π达到26.98%的总体成功率,超越了SOTA商业模型Gemini-2.5-CUA的22.18%(+4.8%),以及SOTA开源模型OpenCUA-7B的21.98%(+5.0%)。在各领域的表现中,ShowUI-π在Captcha(验证码)任务上取得55.91%的成功率,远超Gemini-2.5-CUA的3.96%,因为后者在遇到验证码时会触发安全拒绝策略。在Handwriting(手写)任务上,ShowUI-π达到34.32%,而Gemini-2.5-CUA为0%,因为后者会错误地调用浏览器工具。在PowerPoint旋转任务上,ShowUI-π达到22.93%,而Operator仅为9.90%。离线评估(端点准确率和轨迹误差):ShowUI-π的总体端点准确率为78.55%,大幅超越所有基线模型,最好的Gemini-2.5-CUA仅20.00%。轨迹误差方面,ShowUI-π为159.05px,而基线模型普遍在300-800px范围。动作建模对比(Table 7):flow matching在端点准确率上超越diffusion policy 31.22%(78.55% vs 47.33%),在轨迹误差上也更优(159.05 vs 267.92px),展示了确定性速度场在GUI轨迹生成上的优势。关键发现:(1) 更大的模型(如32B参数的Qwen3-VL-32B)并不能保证更好的拖拽性能,轻量化模型值得进一步开发;(2) 商业GUI Agent的安全策略(如Operator的验证码拒绝)和RLHF调优(如Gemini调用工具而非直接操作)会严重阻碍连续操控任务;(3) 统一head设计在参数更少(450M vs 550M)的情况下实现了更好的性能(26.98% vs 23.25%)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Online Success Rate - Overall | 闭环境成功率 (%) | 26.98 | Gemini-2.5-CUA: 22.18, OpenCUA-7B: 21.98 | +4.8% vs Gemini, +5.0% vs OpenCUA |
| Online Success Rate - Captcha | 闭环境成功率 (%) | 55.91 | Gemini-2.5-CUA: 3.96, OpenCUA-7B: 5.94 | +51.95% vs Gemini, +49.97% vs OpenCUA |
| Online Success Rate - Handwriting | 闭环境成功率 (%) | 34.32 | Gemini-2.5-CUA: 0.00, OpenCUA-7B: 0.00 | +34.32% vs both |
| Online Success Rate - PowerPoint | 闭环境成功率 (%) | 22.93 | Gemini-2.5-CUA: 20.79, Operator: 9.90 | +2.14% vs Gemini, +13.03% vs Operator |
| Offline Endpoint Accuracy - Overall | 端点准确率 (%) | 78.55 | Gemini-2.5-CUA: 20.00, Seed-1.6-Vision: 15.84 | +58.55% vs Gemini, +62.71% vs Seed |
| Offline Trajectory Error - Overall | 平均轨迹误差 (px) | 159.05 | Gemini-2.5-CUA: 189.15, OpenCUA-32B: 387.60 | -30.10px vs Gemini, -228.55px vs OpenCUA-32B |
| Flow Matching vs Diffusion Policy | 端点准确率 / 轨迹误差 | 78.55 / 159.05 | Diffusion Policy: 47.33 / 267.92 | +31.22% acc / -108.87px error |
局限与改进
论文存在多个值得深入讨论的局限性。模型规模限制:ShowUI-π仅使用450M参数,虽然在ScreenDrag上表现优异,但在传统GUI grounding任务ScreenSpot-Pro上,其性能(6.1% avg)明显落后于更大规模的模型如OSAtlas-7B(18.9%)。这表明小模型的视觉容量限制了其在需要精细视觉理解的任务上的表现。训练数据局限:虽然ScreenDrag包含20K条轨迹,但这个规模相对于大模型预训练的海量数据仍然有限。作者也承认未来需要扩大训练数据规模。评估环境的数据驱动局限:在线评估采用数据驱动的闭环方法,通过匹配预测点到预录制状态来获取下一观测,这虽然提高了可复现性,但并非真正的交互式环境。当模型预测的轨迹偏离预录制轨迹较大时(超过20px容差),状态匹配可能失败。领域覆盖有限:当前仅覆盖5个领域(PowerPoint、桌面文件管理、手写、Premiere Pro、验证码),缺乏Web浏览、移动端操控、文本编辑等常见GUI场景。没有文本规划集成:当前的ShowUI-π是纯视觉动作模型,没有将高层文本规划(如先理解任务、再分解步骤)整合进来,作者在未来工作中提到了这个方向。单一平台限制:数据收集和评测都在Windows系统上进行,缺乏跨平台(macOS、Linux、Web)的验证。
独立分析的弱点
基于独立分析,ShowUI-π存在以下可改进的弱点。轨迹精度与自由度的权衡:当前的chunk size为20,执行步数为1的配置在精度和效率之间取得了一定平衡,但对于需要极高精度的任务(如精细的图形设计操作),20个点可能不够密集。建议探索自适应chunk size策略,根据任务难度和轨迹复杂度动态调整预测点数。方向正则化的局限:当前的cosine方向损失对所有时间步等权处理,但轨迹的不同阶段可能需要不同的方向约束强度。例如,在起始阶段方向一致性更重要,而在中间阶段可能允许一定程度的探索性偏差。建议引入时间感知的方向正则化。缺乏长期规划:当前模型是反应式的,只基于当前观测预测下一步动作,没有对未来轨迹的显式规划。对于需要多步推理的复杂拖拽任务(如跨越多个UI元素的复杂路径),这种缺乏前瞻性的策略可能导致次优轨迹。建议引入planning模块或目标条件化机制。跨域泛化能力:虽然模型在5个域内表现良好,但没有验证从训练域到新域的迁移能力。例如,在PowerPoint上学到的旋转技能能否迁移到其他绘图软件?建议设计跨域迁移实验和域适应方法。单一视觉模态:当前仅使用RGB截图作为视觉输入,缺乏对UI元素属性(如可交互性、层级关系)的显式建模。建议整合UI解析信息,如DOM结构或元素类型标注。
未来方向
论文作者提出的未来方向包括:(1) 扩大模型规模和训练数据量,利用更大规模的VLM backbone提升视觉理解能力;(2) 探索文本规划集成,将ShowUI-π与高层任务分解和规划能力结合,实现先想后做的智能体。基于本文成果可延伸的方向包括:(3) 多模态交互扩展,将拖拽能力与键盘快捷键、手势等其他交互形式整合;(4) 跨平台迁移,在macOS、Linux、Web等不同平台上验证和适配;(5) 少样本域适应,利用少量目标域数据快速适应新软件环境;(6) 实时流式处理,优化推理延迟以支持需要高帧率响应的任务(如实时绘图);(7) 与GUI grounding任务的统一,将ShowUI-π的连续轨迹能力与点击定位能力在同一模型中无缝切换;(8) 强化学习优化,利用在线评估的反馈信号进一步优化轨迹质量。
复现评估
ShowUI-π具有较好的可复现性。开源情况:论文承诺将开源代码和数据生成代码库,GitHub仓库 https://github.com/showlab/showui-pi 已公开。数据可用性:ScreenDrag数据集包含20K训练轨迹和505个评测任务,虽然部分原始数据来自特定的Windows软件环境,但作者将提供预录制的数据和评测脚本。算力需求:训练使用4张H200 GPU,batch size 64,采用DeepSpeed Zero-2和bfloat16精度,属于中等规模的训练配置,学术实验室可复现。视觉输入被resize到(1024, 576)以降低计算开销。学习率为1e-4。基座模型:基于SmolVLM-450M初始化,这是公开可获取的小规模VLM。评测环境:在线评估采用数据驱动方法,无需搭建完整OS环境,大幅降低了复现门槛。复现难度:中等偏低,主要挑战在于数据收集需要Windows环境和特定软件(PowerPoint、Premiere Pro等),但预录制的评测数据可以独立使用。
论文图表
左侧展示了不同领域的拖拽数据可视化,包括PowerPoint旋转、验证码解决、Premiere Pro效果应用等。右侧展示了ShowUI-π在拖拽任务上的能力,给定查询指令,模型从流式视觉观测中生成对应的连续轨迹。右下角的柱状图对比了各方法在Captcha任务上的性能,ShowUI-π达到26.98%,显著优于Gemini-CUA (22.18%)和Operator (13.27%)。
这是论文的开场图,直观展示了拖拽动作的多样性和ShowUI-π的核心能力,帮助读者快速理解论文的研究对象和主要贡献