UI-TARS 深度研究报告
字节跳动开源原生GUI Agent模型 - 让AI像人一样操控电脑
📑 目录
一、项目概述
1.1 什么是UI-TARS
UI-TARS(User Interface-Tokenized Action Reasoning System)是字节跳动Seed团队开发的开源原生GUI Agent模型,能够仅凭屏幕截图理解界面并执行鼠标键盘操作。该项目于2025年1月首次发布,并在GitHub上采用Apache 2.0许可证开源。
1.2 发展历程
| 时间 | 版本 | 主要更新 |
|---|---|---|
| 2025.01 | UI-TARS v1 | 首发开源,奠定GUI Agent基础架构 |
| 2025.04 | UI-TARS-1.5 | 引入强化学习推理能力,游戏和GUI任务能力大幅提升 |
| 2025.09 | UI-TARS-2 | All In One Agent,统一GUI、Game、Code、Tool Use能力 |
1.3 模型家族
| 模型版本 | 参数量 | 特点 | 适用场景 |
|---|---|---|---|
| UI-TARS-1.5 | 全量 | 通用GUI自动化+游戏 | HuggingFace云端部署 |
| UI-TARS-1.5-7B | 7B | 桌面电脑使用优化 | 本地/云端部署 |
| UI-TARS-72B-DPO | 72B | 增强推理+DPO训练 | 高性能服务器 |
| UI-TARS-2 | All In One | GUI+Game+Code+Tool统一 | 多能力Agent |
二、架构设计
2.1 基础架构:视觉语言模型
UI-TARS基于强大的视觉语言模型构建,以Qwen2.5-VL架构为基础,能够同时处理:
- 视觉输入:任意分辨率的GUI截图,通过smart_resize智能调整
- 文本指令:自然语言命令描述的期望操作
- 上下文感知:理解GUI元素、空间关系和交互模式
- 坐标定位:绝对坐标预测,精确定位目标元素
2.2 强化学习推理机制
UI-TARS-1.5引入强化学习机制,使模型能够"先思考再行动"。这是一个关键创新:
2.2.1 Thought-Action框架
系统采用两阶段推理过程:
- Thought生成:模型首先对当前状态和预期操作进行推理
- Action执行:基于思考过程,确定具体的GUI操作
- 矿石挖掘任务:35% → 42%(+7%)
- 生物击杀任务:25% → 31%(+6%)
2.2.2 UI-TARS-2的Data Flywheel
UI-TARS-2引入了革命性的Data Flywheel架构,实现模型与训练数据的共同演化:
- 持续预训练(CT):大规模教程、演示视频和标注数据建立基础能力
- 监督微调(SFT):人类标注和高质量合成轨迹,包含显式推理链
- 拒绝采样:自动过滤低质量轨迹
- 多轮强化学习:PPO优化,策略持续改进
2.2.3 稳定的PPO训练框架
UI-TARS-2使用增强版PPO(Proximal Policy Optimization),引入多项改进:
- 奖励塑形(Reward Shaping):基于最终结果正确性提供主要奖励
- 解耦广义优势估计(Decoupled GAE):使用不同系数计算策略和价值函数优势
- 长度自适应GAE:根据序列长度调整GAE参数
- 价值预训练(Value Pretraining):离线训练价值模型至收敛
2.3 UI-TARS-2 All In One设计
UI-TARS-2是"All In One"Agent模型,实现四大能力统一:
| 能力模块 | 描述 |
|---|---|
| GUI Agent | 桌面、移动端、浏览器图形界面交互 |
| Game Agent | 游戏环境感知与操作决策 |
| Code Agent | 代码生成与软件工程任务 |
| Tool Use | 终端、文件系统、外部工具调用 |
2.4 层次记忆结构
UI-TARS-2采用层次记忆架构管理上下文:
- 工作记忆(W):跟踪即时短期交互历史,用于响应式控制
- 情景记忆(E):编码压缩的长期知识,支持跨扩展任务的信息寻求和恢复
三、核心技术
3.1 GUI Grounding能力
GUI Grounding是GUI Agent的核心能力——将自然语言指令映射到图形界面上的具体操作。
3.1.1 技术原理
UI-TARS通过以下方式实现精确Grounding:
- 视觉编码:将GUI截图编码为模型可理解的表示
- 坐标预测:生成目标元素的精确坐标(x, y)
- 动作生成:结合坐标和任务意图生成可执行动作
3.1.2 绝对坐标机制
3.2 坐标处理机制
坐标处理是UI-TARS的核心技术细节,官方提供了专门的坐标处理指南。
3.2.1 模型输出格式
Action: click(start_box='(100,200)')
Action: drag(start_point='(100,200)', end_point='(300,400)')
3.2.2 坐标转换
由于模型使用归一化坐标(0-1000范围),实际执行需要转换为屏幕分辨率坐标:
import re
def add_box_token(input_string):
# 处理坐标转换
if "Action: " in input_string and "start_box=" in input_string:
# 提取坐标
coordinates = re.findall(r"(start_box|end_box)='\((\d+),\s*(\d+)\)'", input_string)
# 转换为模型可读格式
for coord_type, x, y in coordinates:
updated_action = updated_action.replace(
f"{coord_type}='({x},{y})'",
f"{coord_type}='<|box_start|>({x},{y})<|box_end|>'"
)
3.3 动作解析(parse_action_to_structure_output)
动作解析是将模型输出转换为可执行代码的关键步骤。
3.3.1 解析函数使用
from ui_tars.action_parser import parse_action_to_structure_output, parsing_response_to_pyautogui_code
# 模型响应
response = """Thought: Click the button
Action: click(start_box='(100,200)')"""
# 原始图像尺寸
original_image_width, original_image_height = 1920, 1080
# 解析为结构化输出
parsed_dict = parse_action_to_structure_output(
response,
factor=1000,
origin_resized_height=original_image_height,
origin_resized_width=original_image_width,
model_type="qwen25vl"
)
# 转换为PyAutoGUI代码
parsed_pyautogui_code = parsing_response_to_pyautogui_code(
responses=parsed_dict,
image_height=original_image_height,
image_width=original_image_width
)
3.3.2 支持的动作类型
| 动作类型 | 参数 | 说明 |
|---|---|---|
| click | point | 单击指定坐标 |
| left_double | point | 双击指定坐标 |
| right_single | point | 右键单击 |
| drag | start_point, end_point | 拖拽操作 |
| type | content | 文本输入 |
| hotkey | key | 快捷键操作 |
| scroll | point, direction | 滚动操作 |
| wait | - | 等待5秒 |
| finished | content | 任务完成 |
四、三种Prompt模式
UI-TARS提供了三种专门的Prompt模板,适应不同设备环境和任务复杂度:
4.1 COMPUTER_USE模式
特点:
- 支持常见桌面操作:鼠标点击(单击、双击、右键)、拖拽、快捷键、文本输入、滚动等
- 适用于浏览器导航、办公软件交互、文件管理等桌面任务
完整Prompt模板:
You are a GUI agent. You are given a task and your action history, with screenshots. You need to perform the next action to complete the task.
## Output Format
Thought: ...
Action: ...
## Action Space
click(point='x1 y1 ')
left_double(point='x1 y1 ')
right_single(point='x1 y1 ')
drag(start_point='x1 y1 ', end_point='x2 y2 ')
hotkey(key='ctrl c')
type(content='xxx')
scroll(point='x1 y1 ', direction='down or up or right or left')
wait()
finished(content='xxx')
## Note
- Write a small plan and finally summarize your next action in one sentence in Thought part.
## User Instruction
{instruction}
4.2 MOBILE_USE模式
特点:
- 包含移动端特有动作:
long_press、open_app、press_home、press_back - 适用于启动应用、滚动视图、填写输入框、移动端应用内导航等
完整Prompt模板:
You are a GUI agent. You are given a task and your action history, with screenshots. You need to perform the next action to complete the task.
## Output Format
Thought: ...
Action: ...
## Action Space
click(point='x1 y1 ')
long_press(point='x1 y1 ')
type(content='')
scroll(point='x1 y1 ', direction='down or up or right or left')
open_app(app_name='')
drag(start_point='x1 y1 ', end_point='x2 y2 ')
press_home()
press_back()
finished(content='xxx')
## Note
- Write a small plan and finally summarize your next action in one sentence in Thought part.
## User Instruction
{instruction}
4.3 GROUNDING模式
特点:
- 只输出
Action,不输出推理(Thought) - 用于评估Grounding能力
- 输出最简洁,推理开销最低
完整Prompt模板:
You are a GUI agent. You are given a task and your action history, with screenshots. You need to perform the next action to complete the task.
## Output Format
Action: ...
## Action Space
click(point='x1 y1 ')
## User Instruction
{instruction}
五、性能基准测试
5.1 OSWorld桌面基准
OSWorld是评估AI在真实桌面环境中操作能力的权威基准,包含369个真实世界任务。
5.1.1 在线基准评估
| 模型 | OSWorld(100步) | Windows Agent Arena | 说明 |
|---|---|---|---|
| UI-TARS-1.5 | 42.5% | 42.1% | 最新开源版本 |
| UI-TARS-72B-DPO | 24.6% | - | 15步限制 |
| OpenAI CUA | 36.4% | - | - |
| Claude 3.7 | 28.0% | - | - |
| Previous SOTA | 38.1% | 29.8% | 200步限制 |
5.2 ScreenSpot Grounding评估
ScreenSpot系列评估GUI Grounding能力,即模型准确定位UI元素的能力。
| 基准 | UI-TARS-1.5 | OpenAI CUA | Claude 3.7 | Previous SOTA |
|---|---|---|---|---|
| ScreenSpot-V2 | 94.2% | 87.9% | 87.6% | 91.6% |
| ScreenSpotPro | 61.6% | 23.4% | 27.7% | 43.6% |
5.3 Poki游戏表现
UI-TARS在Poki平台的14款游戏中展现了卓越的游戏能力:
| 游戏 | UI-TARS-1.5 | OpenAI CUA | Claude 3.7 |
|---|---|---|---|
| 2048 | 100% | 31% | 43% |
| energy | 100% | 33% | 42% |
| free-the-key | 100% | 0% | 0% |
| Gem-11 | 100% | 46% | 0% |
| hex-frvr | 100% | 92% | 31% |
| Infinity-Loop | 100% | 23% | 2% |
| Maze | 100% | 35% | 82% |
| shapes | 100% | 52% | 6% |
| snake-solver | 100% | 43% | 43% |
| wood-blocks-3d | 100% | 2% | 0% |
| yarn-untangle | 100% | 45% | 14% |
5.4 Minecraft任务
| 任务类型 | VPT | DreamerV3 | SOTA | UI-TARS w/o Thought | UI-TARS w/ Thought |
|---|---|---|---|---|---|
| 矿石挖掘(200任务平均) | |||||
| 平均 | 0.06 | 0.03 | 0.32 | 0.35 | 0.42 |
| 生物击杀(100任务平均) | |||||
| 平均 | 0.04 | 0.03 | 0.18 | 0.25 | 0.31 |
5.5 模型规模对比(72B vs 1.5)
| 基准类型 | 基准 | UI-TARS-72B-DPO | UI-TARS-1.5-7B | UI-TARS-1.5 |
|---|---|---|---|---|
| Computer Use | OSWorld | 24.6% | 27.5% | 42.5% |
| GUI Grounding | ScreenSpotPro | 38.1% | 49.6% | 61.6% |
5.6 UI-TARS-2最新性能
| 基准 | UI-TARS-2 | UI-TARS-1.5 | Claude | OpenAI o3 |
|---|---|---|---|---|
| Online-Mind2Web | 88.2% | - | - | - |
| OSWorld | 47.5% | 42.5% | <47.5% | <47.5% |
| WindowsAgentArena | 50.6% | 42.1% | <50.6% | - |
| AndroidWorld | 73.3% | 64.2% | - | <73.3% |
| Game Suite(15游戏平均) | 59.8 | - | - | - |
六、与Claude Computer Use对比
6.1 技术路线差异
| 维度 | UI-TARS | Claude Computer Use |
|---|---|---|
| 架构模式 | 端到端原生Agent | 复杂框架+商业模型 |
| 核心模型 | 基于Qwen2.5-VL开源模型 | 依赖Claude闭源模型 |
| 训练方法 | 强化学习+Data Flywheel | 主要是预训练+SFT |
| 推理机制 | 显式Thought-Action推理 | 隐式推理 |
| 开源程度 | 完全开源(Apache 2.0) | 闭源API |
| 部署方式 | 本地/云端均可 | 仅云端API |
6.2 性能对比总结
- OSWorld桌面任务:42.5% vs Claude 28%
- Windows Agent Arena:42.1% vs Claude未提供
- ScreenSpotPro Grounding:61.6% vs Claude 27.7%
- 游戏场景:全面超越
- WebVoyager:87% vs UI-TARS 84.8%
- 品牌影响力大,生态成熟
- 企业级支持完善
6.3 应用场景对比
| 场景 | UI-TARS推荐度 | Claude推荐度 |
|---|---|---|
| 桌面应用自动化 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 移动端自动化 | ⭐⭐⭐⭐ | ⭐⭐ |
| 浏览器自动化 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 游戏AI | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| 企业级应用 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 开源项目/研究 | ⭐⭐⭐⭐⭐ | ⭐ |
七、部署与使用
7.1 快速部署指南
7.1.1 HuggingFace云端部署
- 访问HuggingFace部署界面:HuggingFace Endpoints
- 选择模型:选择
UI-TARS 1.5 7B - 配置硬件:
- GPU: L40S 1GPU 48G(推荐Nvidia L4/A100)
- 容器配置:
- Max Input Length: 65536
- Max Batch Prefill Tokens: 65536
- Max Number of Tokens: 65537
- 环境变量:
CUDA_GRAPHS=0PAYLOAD_LIMIT=8000000
- 容器版本:设置为
ghcr.io/huggingface/text-generation-inference:3.2.1
7.1.2 Python API调用示例
# pip install openai
import io
import re
import json
import base64
from PIL import Image
from io import BytesIO
from openai import OpenAI
client = OpenAI(
base_url="https://xxx",
api_key="hf_xxx"
)
messages = json.load(open("./data/test_messages.json"))
chat_completion = client.chat.completions.create(
model="tgi",
messages=messages,
temperature=0.0,
max_tokens=400,
)
response = ""
for message in chat_completion:
response += message.choices[0].delta.content
print(response)
7.2 UI-TARS-desktop桌面版本
UI-TARS-desktop是原生GUI Agent桌面应用,可操作本地个人设备。
核心功能:
- 🤖 基于Vision-Language Model的自然语言控制
- 🖥️ 截图和视觉识别支持
- 🎯 精确的鼠标键盘控制
- 💻 跨平台支持(Windows/MacOS/Browser)
- 🔄 实时反馈和状态显示
- 🔐 隐私安全-完全本地处理
使用方式:
# 使用npm启动
npx @agent-tars/cli@latest
# 全局安装(需要Node.js >= 22)
npm install @agent-tars/cli@latest -g
# 运行
agent-tars --provider volcengine --model doubao-1-5-thinking-vision-pro
agent-tars --provider anthropic --model claude-3-7-sonnet-latest
7.3 Midscene.js Web自动化
Midscene.js是基于UI-TARS的Web自动化框架。
核心特性:
- 📝 自然语言编写自动化脚本
- 🌐 支持Web、移动App、任何界面
- 🔧 三种API:交互、数据提取、工具函数
- 🖼️ 纯视觉定位,无需DOM
Midscene + UI-TARS集成:
const { Midscene } = require('@midscene/web');
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch();
const page = await browser.newPage();
const mid = new Midscene(page, {
OPENAI_API_KEY: "sk-xxx",
OPENAI_BASE_URL: "https://ui-tars-endpoint/v1"
});
try {
// 步骤1:登录操作
await mid.aiAction('打开登录页面并输入用户名和密码');
// 步骤2:数据提取
const userProfile = await mid.aiQuery({
name: '用户昵称,string',
role: '用户角色,string'
});
// 步骤3:断言验证
await mid.aiAssert('页面右上角显示"欢迎回来"提示');
} finally {
await browser.close();
}
八、安全与限制
8.1 已知限制
8.1.1 CAPTCHA滥用风险
8.1.2 计算资源需求
UI-TARS仍然需要大量计算资源:
- 7B模型:推荐GPU L40S 48G或更高
- 72B模型:需要高性能服务器
- 大规模任务或长时间游戏场景资源消耗更大
8.1.3 幻觉问题
UI-TARS可能偶尔产生:
- 不准确的描述
- 错误识别GUI元素
- 基于错误推理采取次优操作
这些问题在模糊或不熟悉的环境中更常见。
8.2 模型规模限制
已发布的UI-TARS-1.5-7B:
- 主要优化桌面电脑使用能力
- 游戏场景未专门优化
- 完整版UI-TARS-1.5在游戏场景有明显优势
九、总结与展望
9.1 核心价值
- 开源可控:Apache 2.0许可证,完全可本地部署
- 性能领先:多项基准超越Claude Computer Use和OpenAI CUA
- 端到端:无需复杂框架,仅凭截图即可完成GUI交互
9.2 技术亮点
- 强化学习推理:先思考再行动,显著提升复杂任务表现
- Data Flywheel:自我进化数据管道,持续改进
- 统一动作空间:跨平台统一操作框架
- 混合环境:GUI+终端+文件系统的全面交互
9.3 应用场景
| 场景 | 应用说明 |
|---|---|
| 自动化测试 | 替代人工进行UI测试 |
| 数据录入 | 自动填写表单、整理Excel |
| 浏览器自动化 | 自动操作网页 |
| 无障碍辅助 | 帮助行动不便的用户操作电脑 |
| 游戏脚本 | 智能游戏辅助 |
| RPA流程 | 企业级流程自动化 |
9.4 未来展望
UI-TARS的发展方向:
- 更强的推理能力,特别是在长时程任务中
- 更广泛的平台支持
- 与更多工具的深度集成
- 企业级安全合规特性