UI-TARS:原生代理驱动的GUI自动化交互新范式

UI-TARS:原生代理驱动的GUI自动化交互新范式 UI-TARS原生代理驱动的GUI自动化交互新范式【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS每天面对重复的GUI操作时开发者们不禁会想如果电脑能像人类一样看懂屏幕并自主操作那该多好。传统自动化工具依赖坐标录制或DOM解析难以应对复杂的界面变化和跨平台场景。UI-TARS的出现正试图用原生代理Native Agents技术重新定义GUI自动化的技术边界。架构设计从感知到执行的闭环系统UI-TARS采用分层架构设计将GUI交互分解为四个核心模块感知Perception、动作Action、系统2型推理System-2 Reasoning和经验学习Learning from Prior Experience。这种设计让系统不仅能看到界面还能理解界面最终操作界面。感知模块是系统的眼睛通过Element Description识别界面元素、Dense Captioning生成详细描述、Transition Captioning跟踪状态变化以及Question Answering回答界面相关问题。Set-of-Mark技术则像人类在屏幕上做标记一样精准定位关键交互点。动作模块定义了统一的操作空间支持click、type、drag等基础动作结合标注数据集和开源数据构建多步交互轨迹。这种设计让系统能够处理复杂的操作序列而不仅仅是单次点击。系统2型推理是UI-TARS的大脑通过GUI教程增强和思维增强技术模拟人类的分步规划过程。当面对在Word中打开Documents/Papers文件夹下的文档并输入Hello这样的复杂任务时系统会先规划找到Word图标→点击→导航到文件夹→打开文档→定位输入框→输入文本的完整流程。经验学习模块实现了在线轨迹自举和反思优化系统在实际交互中不断学习形成交互→反馈→学习的闭环。这种持续优化机制让UI-TARS能够在真实环境中越用越智能。坐标处理从视觉理解到物理执行的技术桥梁GUI自动化的核心挑战之一是如何将视觉理解转化为精确的物理操作。UI-TARS通过智能坐标处理解决了这一难题。def smart_resize(height: int, width: int, factor: int 28, min_pixels: int 100*28*28, max_pixels: int 16384*28*28) - tuple[int, int]: 智能缩放图像满足三个条件 1. 高度和宽度都能被factor整除 2. 总像素数在[min_pixels, max_pixels]范围内 3. 尽可能保持原始纵横比 if max(height, width) / min(height, width) 200: raise ValueError(f纵横比必须小于200当前为{max(height, width) / min(height, width)}) h_bar max(factor, round_by_factor(height, factor)) w_bar max(factor, round_by_factor(width, factor)) if h_bar * w_bar max_pixels: beta math.sqrt((height * width) / max_pixels) h_bar floor_by_factor(height / beta, factor) w_bar floor_by_factor(width / beta, factor) elif h_bar * w_bar min_pixels: beta math.sqrt(min_pixels / (height * width)) h_bar ceil_by_factor(height * beta, factor) w_bar ceil_by_factor(width * beta, factor) return h_bar, w_bar上图展示了UI-TARS在GIMP图像编辑软件中的坐标处理过程。系统通过红色标记点精准定位Preferences窗口中的目标位置这种基于绝对坐标的定位方式相比相对坐标更加鲁棒能够适应不同分辨率和缩放比例的屏幕环境。对于Qwen2.5VL模型输出的绝对坐标UI-TARS采用智能缩放算法将其转换为屏幕实际坐标# Qwen2.5VL输出绝对坐标需要根据缩放因子转换 if model_type qwen25vl: smart_resize_height, smart_resize_width smart_resize( origin_resized_height, origin_resized_width, factorIMAGE_FACTOR, min_pixelsMIN_PIXELS, max_pixelsMAX_PIXELS ) # 坐标归一化处理 x_normalized float(x) / smart_resize_width y_normalized float(y) / smart_resize_height性能表现超越现有SOTA的实测数据在GUI自动化领域性能指标直接决定了技术的实用性。UI-TARS在多个标准基准测试中展现出了显著优势。从性能对比图中可以看出UI-TARS-72B在GUI-Odyssey任务中相比前代最佳系统提升了42.90%在OSWorld15步任务中提升了33.53%。这种提升在复杂多步任务中尤为明显证明了系统2型推理架构的有效性。计算机使用基准测试显示UI-TARS-1.5在OSWorld100步任务中达到42.5分超越了OpenAI CUA的36.4分和Claude 3.7的28分。在Windows Agent Arena50步任务中UI-TARS-1.5的42.1分大幅领先前代SOTA的29.8分。浏览器自动化测试中UI-TARS-1.5在Online-Mind2web任务中获得75.8分优于OpenAI CUA的71分。在WebVoyager任务中虽然以84.8分略低于OpenAI CUA的87分但整体表现依然强劲。移动设备测试方面UI-TARS-1.5在Android World任务中取得64.2分超越前代SOTA的59.5分展现了跨平台适配能力。技术实现从模型输出到PyAutoGUI代码的转换UI-TARS的核心技术栈包括模型推理、动作解析和代码生成三个层次。系统首先通过多模态模型理解屏幕内容和用户指令然后解析动作指令最后生成可执行的PyAutoGUI代码。from ui_tars.action_parser import parse_action_to_structure_output, parsing_response_to_pyautogui_code # 模型输出示例 response Thought: 点击开始菜单按钮\nAction: click(start_box(150,300)) # 解析动作指令 parsed_dict parse_action_to_structure_output( response, factor1000, origin_resized_height1080, origin_resized_width1920, model_typeqwen25vl ) # 生成PyAutoGUI代码 pyautogui_code parsing_response_to_pyautogui_code( responsesparsed_dict, image_height1080, image_width1920 )系统支持多种动作类型包括鼠标点击、键盘输入、拖拽操作等# 鼠标点击操作 if action_type in [click, left_single, left_double, right_single, hover]: start_box action_inputs.get(start_box) if start_box: x1, y1, x2, y2 eval(start_box) x round(float((x1 x2) / 2) * image_width, 3) y round(float((y1 y2) / 2) * image_height, 3) if action_type left_single or action_type click: pyautogui_code f\npyautogui.click({x}, {y}, buttonleft) elif action_type left_double: pyautogui_code f\npyautogui.doubleClick({x}, {y}, buttonleft)提示词工程面向不同场景的优化策略UI-TARS提供了三种针对不同使用场景的提示词模板确保模型能够生成最适合当前环境的动作指令。COMPUTER_USE模板专为桌面环境设计支持鼠标点击、键盘快捷键、文本输入等常见操作。这种模板适合浏览器导航、办公软件交互等桌面任务。MOBILE_USE模板针对移动设备优化包含long_press、open_app、press_home、press_back等移动端特有操作。这种模板适合应用启动、视图滚动、表单填写等移动场景。GROUNDING模板专注于动作输出省略推理过程适用于模型训练和评估场景。这种轻量级模板能够快速生成动作指令提高系统响应速度。部署实践从云端到本地的技术栈选择UI-TARS支持多种部署方式满足不同用户的需求。对于云端部署推荐使用Hugging Face Inference Endpoints配置GPU L40S 48G显存以获得最佳性能。# 云端API调用示例 client OpenAI( base_urlhttps://your-huggingface-endpoint, api_keyyour-api-key ) chat_completion client.chat.completions.create( modeltgi, messagesmessages, temperature0.0, max_tokens400 )对于本地部署UI-TARS-desktop版本提供了完整的桌面自动化解决方案。系统采用模块化设计各组件可以独立替换或升级确保技术栈的灵活性。应用场景超越传统自动化的创新实践游戏自动化是UI-TARS的亮点之一。在Poki游戏测试中UI-TARS-1.5在2048、迷宫解谜等14款游戏中实现了100%的完成率远超OpenAI CUA和Claude 3.7。这种表现证明了系统在复杂决策任务中的强大能力。Minecraft环境测试进一步验证了UI-TARS的泛化能力。在200个挖矿任务和100个击杀怪物任务中带思维链Thought的UI-TARS-1.5平均得分分别达到0.42和0.31显著优于前代SOTA系统。办公自动化场景中UI-TARS能够处理打开Word文档→编辑内容→保存文件→发送邮件的完整工作流。系统通过多步推理和坐标精确定位实现了接近人类的操作精度。技术挑战与未来展望尽管UI-TARS在GUI自动化领域取得了显著进展但仍面临一些技术挑战。计算资源需求较高特别是在大规模任务或长时间游戏场景中。模型偶尔会产生幻觉在模糊或陌生环境中可能生成不准确的描述或采取次优动作。UI-TARS-2的发布标志着技术的又一次飞跃这个All In One代理模型集成了GUI、游戏、代码和工具使用能力实现了多能力的无缝集成。未来UI-TARS有望演进为更加复杂的代理体验能够在真实世界中执行动作为平台如豆包doubao赋能完成更复杂的任务。对于开发者社区而言UI-TARS的开源特性提供了宝贵的学习资源。通过研究其架构设计和实现细节开发者可以深入了解多模态代理、坐标处理、动作解析等核心技术推动整个GUI自动化领域的技术进步。UI-TARS不仅是一个工具更是GUI自动化技术发展的里程碑。它展示了原生代理在理解、推理和操作图形界面方面的潜力为构建更加智能、自主的人机交互系统提供了新的技术路径。【免费下载链接】UI-TARSPioneering Automated GUI Interaction with Native Agents项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考