UI-TARS 实战:10 分钟跑通一条基于视觉的移动端自动化测试链路
【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS
发版前夜,有人动了界面上两个按钮的位置,回归脚本里的定位器开始批量报错——这是移动端自动化测试里常遇到的事。UI-TARS 是一个视觉语言 GUI 智能体(能看懂截图、直接输出操作的模型):给它一张屏幕截图和一句任务描述,它返回下一步该点哪里、输什么,不需要 XPath。下面从安装到第一次调用,把链路走一遍。
它是什么:直接操作屏幕的 GUI 智能体
UI-TARS 是字节跳动 Seed 团队开源的多模态 GUI 智能体,面向需要在真机、Android 模拟器或桌面上做自动化的测试与研发工程师。模型本体基于视觉语言模型,1.5 版本开源了 7B 规格;仓库里的ui-tarsPython 包则负责把模型输出的动作字符串解析成可执行脚本。
3 行代码跑通第一个 GUI 自动化任务
先装解析器(模型本身需要单独部署,官方给了现成的步骤):
git clone https://gitcode.com/GitHub_Trending/ui/UI-TARS pip install ui-tars然后把模型返回的原始响应转成脚本:
from ui_tars.action_parser import parse_action_to_structure_output, parsing_response_to_pyautogui_code # 模型典型返回:先想(Thought),再给动作(Action) response = "Thought: 设置按钮在右下角\nAction: click(start_box='(100,200)')" parsed = parse_action_to_structure_output( response, factor=1000, # 模型坐标的放大倍数 origin_resized_height=1080, # 真实截图高度 origin_resized_width=1920, # 真实截图宽度 model_type="qwen25vl", # 你实际用的模型,别填错 ) print(parsing_response_to_pyautogui_code(parsed, 1080, 1920)) # 输出可直接执行的 pyautogui 脚本模型部署、API 调用与参数细节见 部署指南;上面这段代码本身不依赖 GPU,可以先本地跑通。
它是如何做到的:四个机制
- 统一动作空间:点击、拖拽、打字、打开应用等一套指令同时覆盖移动端和桌面端,跨平台不用换格式。
- System-2 推理:动手前先输出 Thought(类似模型的"内心独白")解释判断依据,1.5 版用强化学习增强,点击前先想一步。
- 密集界面字幕训练:训练数据包含整屏描述和逐元素标注,所以没有控件 ID、纯靠外观也能认出自定义组件。
- 坐标对齐:模型坐标基于缩放后的图像,
ui-tars包负责换算回原始截图,下面这张图就是换算结果的可视化。
基准测试成绩与工具选型对比
成绩来自仓库 README 的在线评测,直接并排列出:
| 基准(场景) | UI-TARS-1.5 | OpenAI CUA | Claude 3.7 | 此前 SOTA |
|---|---|---|---|---|
| Android World(移动端) | 64.2 | – | – | 59.5 |
| OSWorld(桌面,100 步) | 42.5 | 36.4 | 28.0 | 38.1(200 步) |
| ScreenSpotPro(元素定位) | 61.6 | 23.4 | 27.7 | 43.6 |
并非全线第一:WebVoyager(网页导航)上它是 84.8,略低于 OpenAI CUA 的 87,与 Claude 3.7 的 84.1 基本持平。和 Appium、Espresso 的差异也不在分数,而在原理:
| 维度 | UI-TARS | Appium / Espresso |
|---|---|---|
| 定位方式 | 直接看截图,不依赖元素 ID | XPath / 资源 ID,界面一改就失效 |
| 非标准控件 | 按外观识别自定义绘制组件 | 自定义控件难以识别 |
| 速度与确定性 | 每步一次推理,约数秒,偶尔误判 | 确定性强、毫秒级 |
选型可以很直接:界面稳定、要跑几千条用例的高频回归,传统工具仍是主力;界面频繁改动、跨应用串流程、控件"长得都不一样",再把 UI-TARS 接进来。
上手前要知道的事
- 🖥️算力成本:官方部署指南建议 7B 模型用 L4 / L40S(48G)级单卡,云上部署按端点计费,每步都有一次模型推理,不是免费午餐。
- 🎯坐标参数:不同模型的坐标语义不同,
model_type填错会导致所有点击整体偏移,详见 坐标处理指南。 - ⚠️失败代价:在模糊或不熟悉的界面里模型会幻觉、点错元素,支付、删除这类破坏性操作前面加人工确认。
小结
如果你的团队要覆盖界面高频迭代、跨应用或多形态控件的场景,UI-TARS 值得纳入回归体系;追求确定性的批量执行仍由传统工具承担。下一步从仓库的 部署指南 开始,先在自己的模拟器上跑通一条最短流程。
【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考