展示一次操作流,让智能体适配当前任务。
Tencent HY Frontier
UI-Mate-democua-27B 是 UI-Mate 的演示引导检查点。它会观察实时截图,基于可见状态进行推理,并生成结构化的键盘与鼠标操作;此外,它还可以接收一段已录制的操作流作为输入,并将该流程应用到新任务中。
它从通用强化学习检查点出发,并在通用计算机使用数据与演示增强数据的混合数据上,进一步进行监督微调。在混合数据中保留通用数据,正是保持纯指令能力的关键:模型仍可根据单条指令执行任务,并在提供演示时获得使用演示的能力。
演示被视为指引,而非固定动作脚本。录制的坐标不会被重放;每当内容、布局或应用状态出现差异时,模型都会基于实时界面重新规划。
UI-Mate 是一个智能体检查点,而非独立的视觉聊天模型。我们建议使用来自 UI-Mate 仓库 的官方提示词、响应解析器和交互框架。
| 检查点 | 目标用途 |
|---|---|
| UI-Mate-27B | 27B 规模的通用计算机使用 |
| UI-Mate-9B | 9B 规模的通用计算机使用 |
| UI-Mate-democua-27B | 演示引导的计算机使用 |
pyautogui 兼容的结构化动作,通过 OpenAI 兼容接口提供。演示是一次被记录下来的成功执行:涵盖每一次键盘与指针动作,并附带每个动作前后即时截取的屏幕截图。它可能由人工录制,也可能取自更强 GUI agent 的一次成功 rollout。原始轨迹随后:
在指令之前会放置三个区块:<workflow_progress> 将全部子任务列为已完成、当前或待进行;<current_subtask> 承载子指令及其完成标准;<current_subtask_action_list> 仅保存该子任务的有序步骤。工具 schema 新增一个 subtask_complete 动作,模型通过上报该动作来推进指针。
训练会刻意隐藏其中一部分引导。完整轨迹仍作为监督目标,但展示给模型的工作流只保留关键动作——聚焦点击、滚动和弹窗关闭均被省略——因此模型无法把任务简化为照抄下一行,而必须从截图中推断缺失的步骤。训练混合数据还覆盖三种引导与屏幕的对应关系:完全对齐;部分失配,即模型依据截图纠正不一致的步骤;无关,即模型完全忽略工作流。完全对齐仍占多数,以确保引导仍然有用。
在推理时,则改为传入当前子任务的完整动作序列,不再进行关键动作抽取。一旦模型将演示视为可能出错的参考,并在判断冲突时以截图为准,那么更完整的引导自然具有更多信息量;省去抽取步骤还能减少一次模型调用,并消除一个静默污染的来源。
在 self-demo 设定下进行配对评测,每个目标都与更强智能体在同一任务上的一次成功运行轨迹配对。两种条件下,任务指令、初始环境状态、交互预算和评估器均相同,唯一不同之处是演示。每个回合最多允许 1,000 个交互步骤。
| 评测集 · 指标 | 仅指令 | + 一条演示 | 变化 |
|---|---|---|---|
| OSWorkerBench-Subset (33) · 严格成功率 | 17.17 | 35.35 | +18.18 个百分点 |
| OSWorkerBench-Subset (33) · 进度 | 67.85 | 81.14 | +13.29 个百分点 |
| OSWorld-Subset (30) · 进度 | 40.27 | 65.75 | +25.48 个百分点 |
| GameDev (10) · 平均得分 | 76.76 | 81.15 | +4.39 个百分点 |
结果在 OSWorkerBench-Subset 上按每个目标三次运行取平均,其他数据集按五次运行取平均。
OSWorkerBench-Subset(33 个任务) 包含需要跨三到五个应用程序协调交互的多应用办公任务,并带有重复的子任务模式和分支执行路径。演示使 33 个任务中的 28 个得到提升,满分任务数从 1 个增至 5 个。平均轨迹长度也从 173.3 步增至 216.0 步:无引导运行往往只完成请求工作流的一部分便终止,而演示会揭示剩余分支和重复操作,从而产生更长但更完整的轨迹。
OSWorld-Subset(30 个任务) 由仅指令模型无法完成、但更强参考智能体可以解决的可行任务组成,从而隔离出仅凭指令不太可能发现的程序性知识。18 个任务的性能得到提升,8 个任务保持不变。在没有引导时得分为零的四个任务——chrome-02、chrome-03、multi-02 和 os-01——在所有带演示的运行中均被完美解决。
GameDev(10 个任务) 是一组精心筛选的超长时间跨度任务,每个任务平均需要 200 多次人类操作,以八个 Godot 任务为核心,共同覆盖从零开始的端到端 2D 游戏开发。最大提升出现在 godot-04(+18.89)、godot-07(+17.89)和 qgis-01(+11.25),这些任务都需要长且结构化的细粒度操作序列;原本已经完美解决的三个任务保持不变。在这里,演示通过消除探索性绕路,将平均轨迹长度从 303.6 步缩短至 253.1 步。
首次启动时,vLLM 会自动从 Hugging Face Hub 下载 checkpoint。
pip install -U vllm openai pillow
vllm serve tencent/UI-Mate-democua-27B \
--trust-remote-code \
--served-model-name UI_Mate \
--port 8000 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.85 \
--mm-encoder-tp-mode data \
--chat-template-content-format openai \
--limit-mm-per-prompt '{"image":6,"video":0}'默认智能体在上下文中保留五张截图。因此,服务器必须至少接纳六张图片,因为最新截图会在最旧截图被折叠之前到达。
请确认该端点对外暴露了预期的模型名称:
curl -s http://127.0.0.1:8000/v1/modelsGitHub 上的 UI-Mate 仓库 在 resources/example_demonstration/ 下提供了一个真实演示:
| 文件 | 说明 |
|---|---|
task.json | 一个用于配置受 chroot 限制的 SSH 用户的 OSWorld 任务——包括指令、环境配置和评估器。 |
trajectory_captioned.json | 一次得分为 1.0 的该任务运行,提炼为横跨 42 个步骤的 12 个子任务;由于使用的是同一任务,这属于自演示场景。 |
git clone https://github.com/Tencent/UI-Mate.git
cd UI-Mate
python examples/run_agent.py \
--demo resources/example_demonstration/trajectory_captioned.json \
--image resources/example_single_step/os_install_spotify.png \
--instruction 'Please create an SSH user named "charles" with password "Ex@mpleP@55w0rd!" on Ubuntu who is only allowed to access the folder "/home/test1".' \
--base-url http://127.0.0.1:8000/v1去掉 --demo 后,相同命令将以仅指令模式运行。
将 demo= 设置为一个演示文件,或一个仅包含单个 trajectory_captioned*.json 的目录:
from agents.ui_mate_agent import UIMateAgent
agent = UIMateAgent(
base_url="http://127.0.0.1:8000/v1",
model="UI_Mate",
demo="resources/example_demonstration/trajectory_captioned.json",
)
agent.reset()
with open("screen.png", "rb") as f:
response, actions = agent.predict(instruction, {"screenshot": f.read()})
print(response)
print(actions)若某一步中模型仅报告进度,则返回 WAIT。在非最终子任务上提前输出 finished 只会推进工作流,而不会结束当前回合;因此,完成单个子任务无法让任务提前结束。
对于较长的交互回合,运行框架会在请求超出上下文窗口之前,将最早发生的交互步骤折叠为一条简洁的进度说明,同时保留近期步骤原文,并原样保留最近的截图。
UI-Mate-democua-27B 适用于在受控桌面环境中研究并开发基于截图的 GUI 智能体。
其行为可能受到应用版本、屏幕布局、显示缩放、延迟以及异常 UI 状态的影响。基准测试表现不保证在任意环境中都能可靠执行,并且该模型需要外部运行时来执行其预测的操作。
计算机使用智能体可能会出现错误、遭遇提示注入,或触发影响重大的操作。
UI-Mate 基于 Apache License 2.0 发布。第三方组件仍受其各自许可证约束。详见仓库中的 LICENSE。
@article{uimate2026,
title = {UI-Mate: Advancing Open-Weight Foundation GUI Agents with In-Context Demonstrations},
author = {Tencent HY Frontier Team},
journal = {arXiv preprint arXiv:2608.15930},
year = {2026},
}