OSCAR:用自然语言控制你的操作系统

OSCAR开源方案让自然语言控制操作系统成为可能,提升自动化效率,已在Windows、Ubuntu和Android系统验证。

原文标题:解放双手!OSCAR让操作系统交互实现自然语言「自由」

原文作者:机器之心

冷月清谈:

加拿大蒙特利尔大学和Mila研究所的研究团队开发了一种名为OSCAR的开源解决方案,旨在实现桌面任务UI自动化,并已在多个操作系统环境(Windows、Ubuntu和Android)中进行了测试。

OSCAR通过以下几个关键特性实现了这一目标:

* **状态机架构:** OSCAR采用状态机模式,循环执行初始化、观察、规划、执行和验证等步骤,并在遇到问题时利用实时反馈进行重新规划,从而提高效率和适应性。
* **视觉和语义双重UI定位:** OSCAR结合了视觉提示和语义标签,以精确识别和操作UI元素。
* **任务驱动重新规划:** OSCAR将用户指令分解成子任务,并在收到负面反馈时只对特定子任务进行重新规划,从而提高效率并避免错误传播。
* **基于代码的动作:** OSCAR使用PyAutoGUI库生成控制代码,实现对操作系统的精确控制。

OSCAR在多个真实世界工作流自动化基准测试中表现出色,尤其是在复杂任务上的成功率显著高于其他方法。此外,OSCAR的重新规划效率也更高,无论是在成功案例还是失败案例中都表现出更少的冗余度。

怜星夜思:

1、OSCAR虽然看起来很强大,但是实际使用中会不会对硬件性能要求很高?如果我的电脑配置比较低,使用起来会不会很卡?
2、文章提到了OSCAR在复杂任务上的成功率是之前方法的两倍,这个“之前的方法”具体指的是哪些?它们各自的优缺点是什么?
3、OSCAR目前是开源的,那么它未来可能的应用场景有哪些?除了文中提到的自动化工作流之外,还能在哪些方面有所发展?

原文内容

图片
AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:[email protected][email protected]


本文作者王晓强,加拿大蒙特利尔大学(Université de Montréal)和 Mila 人工智能研究所博士生,师从刘邦教授。博士期间的主要研究方向为自然语言处理,重点关注大语言模型的能力评估及其在智能体中的应用。目前已在自然语言处理领域的顶级会议 ACL、EMNLP 等发表多篇论文。


在人工智能的宏大发展蓝图里,通用人工智能(AGI)堪称研究者们梦寐以求的 「圣杯」,其终极目标是打造出像人类一样拥有广泛且灵活智能的系统,能够理解、学习并胜任几乎所有任务。在迈向这个目标的征程中,实现人工智能与数字世界的高效交互至关重要,而桌面任务 UI 自动化更是其中的关键赛道。


想象一下,未来我们只需轻松说出指令,电脑就能自动完成各种复杂操作,繁琐的手动操作成为历史,工作效率大幅提升,这样的场景是不是很令人期待?

去年,Anthropic 发布的 Computer use 为 AI 在桌面操作领域带来了新突破。它允许开发者通过 API,让 Claude 像人类一样操作计算机,极大拓展了 AI 在桌面操作领域的应用场景。


今年一月份,OpenAI 重磅推出的 Computer Using Agent(CUA)也备受瞩目,其赋能的 Operator 凭借 GPT-4o 的视觉能力,能够 「看懂」网站并与之交互,还可在 ChatGPT 界面自动执行多种常规浏览器任务。


与它们采用商用 API 不同,今天要给大家介绍一个来自加拿大蒙特利尔大学和 Mila 研究所的研究团队的开源解决方案 ——OSCAR(Operating System Control via state-Aware reasoning and Re-planning)。


OSCAR 不仅实现了桌面任务 UI 自动化,还在多个操作系统环境(桌面 Windows、Ubuntu 和智能手机 Android)完成了泛化与验证。目前,该研究已被 AI 领域顶级会议 ICLR 录用。下面,就让我们深入了解一下它的创新之处。



  • 论文题目:OSCAR: Operating System Control via State-Aware Reasoning and Re-Planning

  • 论文链接:https://arxiv.org/abs/2410.18963


操作系统 UI 交互自动化面临的挑战:

动态自适应难题


基于多模态大型语言模型(MLLM)的智能体(Agent)在复杂任务自动化领域表现出色,广泛应用于网络浏览、游戏、软件开发等场景,但不同应用的观察和动作空间差异极大,导致智能体通用性差,难以适应复杂工作流。


此外,以往的 UI 交互智能体多在静态离线的环境中开发,靠视觉问答和预设动作路径操作,缺乏操作系统实时反馈,任务失败时无法动态自适应。在现实应用中,实时反馈和自适应调整对适应新的 UI 环境至关重要,比如 「打开某文件并打印」 有多种操作路径,可通过开始菜单搜索,也能直接导航路径,但传统智能体难以应对这种多样性。


具体构建通用 UI 交互智能体面临以下挑战:


  • 统一控制接口难题:智能体需熟练运用鼠标、键盘等标准输入方式,精准理解视觉信息并转化为指令,在不同应用中稳定高效操作。


  • UI 定位困境:智能体要能解读屏幕信息,精准识别各类元素,如网页搜索时准确找到搜索框并正确交互,对其理解和定位能力要求高。


  • 新 UI 探索与重规划挑战:智能体需像人类面对陌生软件一样,具备动态探索和调整计划的能力,能处理软件崩溃等意外,依据反馈优化策略。


OSCAR 的独特设计:

灵活状态机与动态重规划的巧妙结合


为解决上述难题,研究团队推出 OSCAR。它以代码为核心控制方式,与动态操作系统环境自主交互,创新点如下:


  • 状态机架构:OSCAR 采用状态机模式,通过 [Init](初始化)、[Observe](观察)、[Plan](规划)、[Execute](执行)、[Verify](验证)等状态循环,处理任务各环节。遇到问题时利用实时反馈重新规划,比传统方式效率更高、适应性更强。


OSCAR 状态机


  • 视觉和语义双重 UI 定位:OSCAR 利用 Set-of-Mark(SoM)提示技术和可访问性(A11Y)树生成视觉提示,精准定位 UI 元素;同时添加描述性标签进行语义定位,便于把握 UI 布局,灵活操作元素。


OSCAR 视觉和语义双重 UI 定位


  • 任务驱动重新规划:受计划 - 解决提示(plan-and-solve)启发,OSCAR 将用户指令分解为子任务并逐步生成动作。收到负面反馈时,针对特定子任务重新规划,避免整体重规划,提高效率并防止错误传播。


  • 基于代码的动作:OSCAR 借助生成的语义定位信息,利用元素 ID 或坐标引用交互元素,通过 PyAutoGUI 库生成控制代码,精确控制操作系统。


OSCAR 任务分解与重规划


OSCAR 实验验证:

UI 理解、定位和动态导航能力的实力认证


研究人员在 GAIA、OSWorld、AndroidWorld 等多个真实世界工作流自动化基准测评数据集中对 OSCAR 进行了评估,这些基准涵盖了不同难度和类型的任务,包括简单操作、复杂多步骤任务以及跨多种应用的任务。


1. 基准测评成绩突出:在 GAIA 基准测试中,OSCAR 在所有工作流复杂程度级别上都表现最佳。尤其是在最复杂的 Level 3 任务上,成功率达到 13.5%,几乎是之前最先进方法的两倍。在 OSWorld 和 AndroidWorld 基准测评中,OSCAR 同样超越其他智能体,展现出强大的适应性。


6a. GAIA 基准测评


6b. OSWorld 基准测评


6c. AndroidWorld 基准测评

OSCAR 在基准测评 GAIA, OSWorld 和 AndroidWorld 中取得最好水平


2. 规划效率优势显著:


在成功案例中,OSCAR 成功案例所需重新规划次数更少,而且每次重新规划的步骤更高效


在失败案例中,OSCAR 在错误完成(FC)、达到步骤限制(RSL)和无效动作(IA)这些情况中的重新规划冗余度(RR)明显低于其他智能体系统


结语:开启操作系统交互新时代


OSCAR 作为通用智能体,凭借灵活的状态机和动态的重新规划能力,在桌面和智能手机操作系统任务中展现出强大的适应性和有效性。它为自动化工作流提供了高效通用的解决方案,有望成为提升动态操作系统环境生产力的有力工具,让操作系统交互变得更加便捷、高效、易访问。而且,凭借其开源特性,未来 OSCAR 还将在众多开发者的共同努力下不断进化,持续助力通用人工智能与数字世界实现完美交互。


© THE END 
转载请联系本公众号获得授权
投稿或寻求报道:[email protected]

想知道这些方法的具体对比数据,比如在不同任务上的成功率、执行时间等等。最好能有个表格或者图表来展示,这样更直观一些。

我觉得可以用来辅助一些行动不便的人士操作电脑或手机,比如语音控制、自动完成一些日常任务等等。这样可以极大地提高他们的生活质量。

“之前的方法”应该指的是那些传统的UI自动化工具吧,比如Selenium、AutoHotkey之类的。这些工具通常需要手动编写脚本,操作起来比较麻烦,而且对UI的变化比较敏感,容易出错。OSCAR这种基于AI的方法应该会更灵活一些,适应性更强。

可以看看它的GitHub repo,说不定里面有相关的说明或讨论。或者直接问问开发者,看看他们怎么说。

在软件测试方面应该也有很大的潜力,可以用来自动化测试一些UI相关的功能,提高测试效率和覆盖率。

还可以用来做一些个性化的定制,比如根据用户的习惯自动调整UI布局、设置快捷键等等。

这个问题问得好!OSCAR底层用的是什么技术,会不会很吃资源,文章里没细说,我比较关心它对CPU和内存的占用情况。希望开发者能公布一下这方面的测试数据。

论文里应该有提到对比的baselines,可以去看看。我猜可能是Computer Use Agent或者其他一些基于LLM的Agent。它们之间的主要区别可能在于UI定位的方式、重规划的策略以及对不同操作系统的支持程度。

我觉得性能要求应该和它使用的LLM有关吧,如果用的是比较大的模型,那肯定硬件要求就高。要是能支持一些轻量级的模型就好了,这样配置低一些的电脑也能用。