2402.07939_UFO: A UI-Focused Agent for Windows OS Interaction

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),可以理解用户的自然语言请求,然后通过观察应用界面的截图,自动操作界面控件来完成任务。它能跨多个应用程序完成复杂任务。

  • 整体架构 由两个核心组件组成:

    1. HostAgent:负责分析用户请求,选择合适的应用程序,并制定一个整体执行计划。如果需要跨应用,它也负责切换应用。

    2. AppAgent:在被选中的应用中执行具体的操作步骤,逐步完成用户请求。

  • 执行流程

    1. 用户发出请求。

    2. HostAgent 查看全桌面截图和当前活动应用,选出合适应用并生成全局计划。

    3. AppAgent 打开该应用,基于界面截图和控件信息逐步执行操作。

    4. 如果任务完成,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 采用了两级控件筛选机制:

    1. 硬筛选(Hard Filter):只保留那些常见且与任务高度相关的控件类型(如按钮、输入框等)。

    2. 软筛选(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 系统的两个局限,以及未来的改进方向:

    1. UI 控件支持有限

      • UFO 目前只支持 pywinauto 和 Windows UI Automation 这两种方式,不能操作不符合这些标准的程序。

      • ➤ 未来计划支持更多底层接口(比如 Win32 API)或使用图像识别技术(如 CogAgent 中的方法)来扩展能力。

    2. 应对陌生应用能力弱

      • UFO 在面对不熟悉或冷门的应用时,操作效率低,难以快速找到正确操作。

      • ➤ 未来打算结合搜索引擎上的文字和图片指南,帮助 UFO 更准确地制定操作计划,提高通用性。

  • 简而言之:现在支持的程序有限,遇到陌生应用会变慢;未来打算用更多技术和搜索引擎知识来增强适应性。

6.Conclusion

  • UFO 是一个专为 Windows 系统设计的智能 UI 自动化代理,可以通过自然语言理解用户请求,并自动操作各种应用程序。它使用 GPT-Vision 来分析应用界面截图和控件信息,从而选择合适的应用和控件完成任务。通过一个控制模块,它能自动执行操作,几乎无需人工干预。

  • UFO 有两个子代理:HostAgent 和 AppAgent,可以在不同应用间切换,处理复杂跨应用任务。同时,它支持自定义操作和安全保护机制,保证灵活性和安全性。在 9 个常见 Windows 应用中测试 50 个任务,结果显示它具有很强的通用性和适应性。UFO 是首个专注于 Windows UI 自动化的智能代理系统。