2402.07939_UFO: A UI-Focused Agent for Windows OS Interaction¶
GitHub: https://github.com/microsoft/UFO
组织: Microsoft
引用: 94(2025-06-27)
Abstract¶
UFO 是微软提出的一个智能助手,专为 Windows 系统上的应用操作而设计,结合了 GPT-Vision 的视觉能力。
它通过两个智能体观察和分析应用界面和控制信息,从而可以自动执行用户的操作请求,包括跨应用操作。
用户只需要用自然语言下指令,UFO 就能自动完成复杂任务,无需人工干预。
测试结果表明,它在多个常见 Windows 应用中表现优秀,是首个专注于 Windows 应用任务完成的 UI 智能体。
1.Introduction¶
大语言模型(LLM)的发展,尤其是多模态视觉模型(如 GPT-Vision),让 AI 能像人一样进行推理、计划、协作,甚至处理图像信息。这些能力正在推动通用人工智能(AGI)的实现。
其中一个重要应用是:让模型能理解自然语言,并直接操作图形界面(GUI)完成任务,比如点击按钮、切换应用。这种模型被称为“大动作模型”(LAM)。
Windows 操作系统因其广泛使用和任务复杂性,是 LAM 的理想平台。但目前大多数类似系统都只支持手机或网页,缺乏专为 Windows 设计的智能体。
为此,作者提出了一个新系统 UFO:
它是一个视觉驱动的智能体,基于 GPT-Vision;
能看懂 Windows 的界面截图,并模拟人类操作应用;
支持多个应用之间的切换,完成更复杂的任务;
用户可自定义操作流程,实现任务自动化。
测试表明,UFO 能完成 50 个涉及 9 个常用 Windows 应用的任务,是首个面向 Windows 通用任务的 AI 智能体。
3.The Design of UFO¶
3.1 UFO in a Nutshell¶
定义:UFO 是一个面向 Windows 操作系统的多模态智能体(Agent),可以理解用户的自然语言请求,然后通过观察应用界面的截图,自动操作界面控件来完成任务。它能跨多个应用程序完成复杂任务。
整体架构 由两个核心组件组成:
HostAgent:负责分析用户请求,选择合适的应用程序,并制定一个整体执行计划。如果需要跨应用,它也负责切换应用。
AppAgent:在被选中的应用中执行具体的操作步骤,逐步完成用户请求。
执行流程
用户发出请求。
HostAgent 查看全桌面截图和当前活动应用,选出合适应用并生成全局计划。
AppAgent 打开该应用,基于界面截图和控件信息逐步执行操作。
如果任务完成,UFO 结束;否则继续执行或切换应用,直到完成所有任务。
3.2 HostAgent¶
HostAgent 的输入输出
输入:用户请求、桌面截图、应用列表、历史记忆、示例。
输出:观察结果、思考逻辑、选中的应用、全局计划、状态(继续或完成)、评论。
3.3 AppAgent¶
AppAgent 的输入输出
输入:用户请求、应用截图(含控件标注)、控件信息、历史记忆、示例。
输出:观察分析、思考逻辑、选中的控件、具体操作、状态(继续、完成、等待、切换等)、局部计划、评论。
关键特点
支持多模态(图像+文本)理解。
支持任务规划、跨应用任务执行。
具有记忆能力,可以参考之前的操作结果。
能实时互动,应对用户新增请求。
3.4 Control Interaction¶
UFO 通过
pywinauto
和 Windows 的 UI Automation API 实现对 Windows 应用控件的识别和操作:pywinauto:用于识别应用中的控件位置、类型和名称,并执行操作,如点击、输入、获取文本等。
支持的控件类型:限定为 10 种常见控件,如按钮(Button)、输入框(Edit)、菜单项(MenuItem)等。
支持的操作:
Click
:点击控件(支持左/右键、单/双击)SetText
:输入文本GetText
:提取控件文本Scroll
:滚动内容Annotate
:重新截图并标注控件Summary
:对当前界面内容生成文字描述
3.5 Special Design Consideration¶
为更好地适配 Windows 系统,UFO 做了五个重要增强设计:
3.5.1 Interactive Mode¶
支持任务完成后用户进一步发起新请求、修改原任务,或手动辅助(如输入密码),提高灵活性和用户参与感。
3.5.2 Action Customization¶
用户可扩展操作指令,如添加快捷键、插件操作等,通过注册方式向 UFO 说明操作目的和参数,即可调用。
3.5.3 Control Filtering¶
在一个应用的界面中,Windows UI Automation 通常会识别出上百个可操作的控件,但:
如果全部标注,会让截图变得非常杂乱,遮挡关键内容;
其中很多控件对完成用户任务其实没用;
这会影响 UFO 做出最优决策的能力。
为了解决这个问题,UFO 采用了两级控件筛选机制:
硬筛选(Hard Filter):只保留那些常见且与任务高度相关的控件类型(如按钮、输入框等)。
软筛选(Soft Filter):在控件过多、界面太乱时,UFO 会自动判断是否需要精简,并重新筛选出一组更相关的控件,再生成新的截图,仅标注这部分控件。
3.5.4 Plan Reflection¶
UFO 每执行一步都会根据实际界面重新评估是否需要调整计划,确保操作适应界面变化,例如应对控件未出现的情况。
3.5.5 Safeguard¶
对高风险操作(如删除文件)会先请求用户确认,智能判断操作敏感性,防止误操作,提高系统安全性。
4.Experiment¶
实验目的:
评估 UFO 系统能否像人一样高效、安全地操作 Windows 上的各种应用程序,完成用户请求。
4.1 Benchmark & Baselines & Metrics¶
创建了一个 WindowsBench 基准集,包含 50 个真实用户请求,覆盖 9 个常见应用(如 Outlook、Word、Edge、微信等),还有跨应用任务。
与两个基准模型(GPT-3.5 和 GPT-4)进行对比,这两个模型只能给出操作步骤,由人类来执行。
评估指标包括:
成功率(Success):任务是否完成。
操作步数(Step):完成任务用了多少步,越少越高效。
完成率(Completion Rate):每一步是否做对。
安全率(Safeguard Rate):对敏感操作是否询问用户确认。
4.2 Performance Evaluation¶
Table 3: Performance comparison achieved by UFO on WindowsBench.
Table 4: The detailed performance breakdown across applications achieved by UFO on WindowsBench.
各应用表现
UFO 在大多数应用中表现优异,如 Outlook、Word、微信均为 100% 成功率。
Adobe Acrobat 表现稍弱,因其 UI 控件不被自动化系统完全支持。
跨应用任务仍保持高成功率(80%)和安全性(100%)。
4.3 Case Study¶
案例1:删除 PPT 中的所有备注
UFO 利用 PowerPoint 的隐藏功能一步删除所有备注,自动识别并请求用户确认,效率远超人工。
案例2:多应用协同发邮件
UFO 从 Word 提取会议记录、从照片中分析图片内容,最后在 Outlook 自动生成并发送邮件,整个过程无需人工干预,展示出复杂任务处理能力。
✅ 总结:¶
UFO 是目前在 Windows 上表现最好的智能操作系统代理,不仅能正确执行任务,还兼具高效率和高安全性,远超传统的语言模型方案。
5.Limitations & Lessons Learned¶
这段话主要讲了当前 UFO 系统的两个局限,以及未来的改进方向:
UI 控件支持有限:
UFO 目前只支持 pywinauto 和 Windows UI Automation 这两种方式,不能操作不符合这些标准的程序。
➤ 未来计划支持更多底层接口(比如 Win32 API)或使用图像识别技术(如 CogAgent 中的方法)来扩展能力。
应对陌生应用能力弱:
UFO 在面对不熟悉或冷门的应用时,操作效率低,难以快速找到正确操作。
➤ 未来打算结合搜索引擎上的文字和图片指南,帮助 UFO 更准确地制定操作计划,提高通用性。
简而言之:现在支持的程序有限,遇到陌生应用会变慢;未来打算用更多技术和搜索引擎知识来增强适应性。
6.Conclusion¶
UFO 是一个专为 Windows 系统设计的智能 UI 自动化代理,可以通过自然语言理解用户请求,并自动操作各种应用程序。它使用 GPT-Vision 来分析应用界面截图和控件信息,从而选择合适的应用和控件完成任务。通过一个控制模块,它能自动执行操作,几乎无需人工干预。
UFO 有两个子代理:HostAgent 和 AppAgent,可以在不同应用间切换,处理复杂跨应用任务。同时,它支持自定义操作和安全保护机制,保证灵活性和安全性。在 9 个常见 Windows 应用中测试 50 个任务,结果显示它具有很强的通用性和适应性。UFO 是首个专注于 Windows UI 自动化的智能代理系统。