下一代Windows系统曝光:基于GPT-4V,Agent跨应用调度,代号UFO
下一代Windows操作系统提前曝光了??
微软首个为Windows而设的智能体(Agent) 亮相:
基于GPT-4V,一句话就可以在多个应用中无缝切换,完成复杂任务。整个过程无需人为干预,其执行成功率和效率是GPT-4的两倍,GPT-3.5的四倍。
比如,删除PPT演示文稿上的所有备注。
几个简单步骤就可完成。

还有像利用多个来源文本,比如word文档、图像文本内容,撰写电子邮件。
网友表示:这才是Windows级别应有的创新能力

第一个Windows Agent来了
这样一个智能体叫做UFO,全名“UI-Focused”,是一个专为Windows OS(操作系统)交互设计、面向用户界面(UI)的智能体框架,可以在单个或者多个应用程序中操作,由MSRA、微软AI与应用研究团队等共同打造。
用户就可以通过自然语言指令,来操作App的用户界面。

据介绍,UFO是第一个专为Windows OS环境中的任务完成量身定制的UI Agent。

就拿删除PPT上的所有注释为例。传统方式需要一页一页手动删除注释。如果PPT巨长无比,这个过程就会又久又无聊,让人瞬间暴躁。
但UFO得到指令后,简化了整个过程。
它先是提议用“删除所有演示笔记”功能,这个功能因为按钮位置藏得很深,经常被用户忽视。
而后,UFO导航到“File”选项,对后台视图进行访问;然后,再平滑地切换到“info”菜单,单击“检查问题”按钮,并选择“检查文档”,开始检查文档中所有包含的注释。
紧接着,UFO识别到菜单地步的“删除所有演示笔记”,向下滚动定位到其位置,启动单击功能。
考虑到误删的可能性,UFO这里有一道保护功能,需要用户再次确定是否真的要删除所有注释。
用户一旦确认,所有笔记就“ 彭 ”的一下都没有了~

如PowerPoint这般,文章中对其它几个场景进行了图文并茂的展示。
比如读一篇PDF:

设计PPT格式:

下载Docker拓展:

发条推文:

搜索总结:

读篇paper:

以及怎么利用UFO在Word文档里提取文本、描述图像、撰写然后发送电子邮件等。
研究团队在9个常用的Windows应用程序上对UFO进行了测试,包括Outlook、Photos、PPT、Word等,涵盖了Windows用户的高频使用场景,能够测试工作、交流、编码、阅读、网页浏览等目的。
对于每个应用程序,团队设计了5个不同的请求,共45个;另外还设计了5个设计跨多个交互应用程序的请求。
也就是说,共产生了50个请求,每个应用程序至少有一个请求链接到另一个后续请求,提供全面评估UFO的互动模式。
在评估指标方面,则从成功度、步骤、完成率和保障率这几个角度来评估UFO。
为了全面评估UFO的性能,团队开发了名为WindowsBench的测试基准。
考虑到没有现成的Windows Agent,团队选择GPT-3.5和GPT-4作为基座模型,并且指示它们提供一步一步的指导来完成用户请求。
值得注意的是,UFO在WindowsBench上成功率达到了86%,成倍超过了GPT-4——因此UFO可以被定位为一个高效的Agent。
而UFO的完成率也是最好的,这表明它有能力采取更精确的动作;此外,UFO完成任务的步骤也是最少的,安全度也是最高的。

最后,9个场景从4个角度在WindowsBench的详细得分如下:

三个模块组成
既然如此,这样一个操作系统级别的Agent,究竟是如何实现的呢?
首先,它理解用户的自然语言要求,然后将其分解为一系列子任务。然后观察用户界面,并对其控制元素进行操作,以实现总体目标。
既然如此,又是如何实现的呢?
架构上看,UFO是个双Agent框架,主要有三个模块:
- 应用智能体(AppAgent),选择一个应用程序满足用户请求。
- 行动智能体(ActAgent),负责在所选应用中反复执行任务。
- 交互控制,无需人工干预,全自动执行。
在收到用户请求后,AppAgent会对需求进行分析。除此之外,还有这些信息作为输入:桌面截图、App信息、记忆以及示例。
其中,UFO为AppAgent提供了完整的桌面截图和可用应用程序列表以供参考。
然后从当前激活的应用程序中选择一个合适的应用程序,并制定一个全局实现计划,将其传递给ActAgent。

一旦找到合适的应用程序,App就会出现在桌面上。随后ActAgent启动操作。
在每个操作选择之前,UFO都会捕获当前应用程序用户界面窗口的屏幕截图,并标注所有可用控件。此外,UFO还记录了每个控件的相关信息,供 ActAgent观察。

ActAgent的任务是选择要操作的控件,然后通过控件交互模块选择要在所选控件上执行的特定操作。

这一决定是基于 ActAgent 的观察结果、先前计划和操作记忆做出的。
这个递归过程一直持续到用户请求在所选应用程序中成功完成为止。至此,用户请求的一个阶段结束。
如果需要跨越多个应用程序,那么在ActAgent 完成当前任务之后,ActAgent 将把任务委托给 AppAgent,以便切换到不同的应用程序,从而启动请求的第二阶段。

用户可以选择提出新的请求,促使 UFO 通过重复上述过程来处理新任务。
研究团队依据日常鼠标操作,还开发了自定义操作,比如单击、选择文本、滚动等,以此来完成对于控件的操作。
主要有这些控制类型。

微软全球资深副总裁、MSRA副院长领衔
最后介绍一下UFO的研究团队,其中大多数都为华人。
通讯作者Chaoyun Zhang,是微软DKI(Data、Knowledge、Intelligence,数据/知识/情报)*小组的高级研究员。
他于2020年,在爱丁堡大学获得硕士和博士学位,研究兴趣包括时间序列建模、时空数据挖掘、因果推理以及云服务和 AIOps的可解释机器学习。
Chaoyun Zhang还是华中科技大学校友,出国前在华中科技大学电子信息与通信学院取得学士学位。

作者Liqun Li,现为微软DKI组首席研究员。
他先毕业于清华大学计算机科学与技术系,取得学士学位;而后又在2012年获得中国科学院软件研究所博士学位。期间,Liqun Li曾作为访问学者前往密歇根州立大学。

作者Saravan Rajmohan,Miceosoft 365的AI及应用研究的合作伙伴总监。
他领导应用研究团队与Microsoft的各个研究小组进行深入协作,将算法研究与AI/ML技术和硬件创新相结合

作者张冬梅,MSRA(微软亚洲研究院)常务副院长,微软杰出首席科学家。
她从2004年起加入MSRA,从事和领导DKI领域的研究工作,近几年,团队将研究扩大到商业智能领域。

作者张祺,微软全球资深副总裁。
此前,张祺曾任微软(亚洲)互联网工程院常务副院长,兼任微软移动联新互联网服务有限公司董事长,负责微软互联网业务及人工智能平台在亚洲的团队。
同时,他也是微软中国首位“全球杰出工程师”。

最后,简单介绍一下多位作者的工作单位:MSRA的DKI组。
DKI是Data、Knowledge、Intelligence的简写。
该小组致力于AI、数据分析、数据交互、数据可视化的研究,探索全新的数据分析、展示、交互技术,让数据和数据中的发现故事被高效地理解、广泛地传播。
团队与微软产品如Excel,PowerPoint等深度合作,常年在各个领域的顶会和期刊上发表论文。
相关文章:
下一代Windows系统曝光:基于GPT-4V,Agent跨应用调度,代号UFO
下一代Windows操作系统提前曝光了?? 微软首个为Windows而设的智能体(Agent) 亮相: 基于GPT-4V,一句话就可以在多个应用中无缝切换,完成复杂任务。整个过程无需人为干预,其执行成功…...
二.自定义头文件
一.Worker.h 1.1概述 - 类名:Worker - 继承关系:所有其他类(Employee、Manager、Boss)都继承自该抽象类 - 头文件保护:使用 pragma once 防止头文件重复包含 - 引入标准库:包含 <iostream> 和 <st…...
【AIGC】Stable Diffusion之模型微调工具
推荐一款好用的模型微调工具,cybertron furnace 是一个lora训练整合包,提供训练 lora 模型的工具集或环境。集成环境包括必要的依赖项和配置文件、预训练脚本,支持人物、二次元、画风、自定义lora的训练,以简化用户训练 lora 模型…...
探索未来科技前沿:深度学习的进展与应用
深度学习的进展 摘要:深度学习作为人工智能领域的重要分支,近年来取得了巨大的进展,并在各个领域展现出惊人的应用潜力。本文将介绍深度学习的发展历程、技术原理以及在图像识别、自然语言处理等领域的应用,展望深度学习在未来的…...
PTA | Wifi密码
下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答…...
Linux中gdb使用说明书
首先我们要使用gdb,必须明白gdb使用范围: 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项(gcc/g) 其次,我们就要来学习gdb使用的一些命令了: list/l 行号:显…...
LInux——开发工具的使用
目录 Linux软件包管理器 yum rzsz Linux编辑器——vim vim的使用 vim的基本操作 命令模式的常见命令 底行模式的常见命令 vim是需要配置的 Linux编译器——gcc/g 预处理 编译 汇编 链接 函数库 Linux项目自动化构建工具 make/makefile make原理 项目清理 Linux调试器g…...
沁恒CH32V30X学习笔记03--64位systick
systick CH32F2x 系列产品Cortex-M3 内核自带了一个 24 位自减型计数器(SysTick timer)。支持 HCLK 或 HCLK/8 作为时基,具有较高优先级别(6)。一般可用于操作系统的时基。 CH32V3x 系列产品内核自带了一个 64 位加减计数器(SysTick),支持 HCLK 或者 HCLK/8 作为时基,…...
【JavaEE】IP协议
作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…...
计算机网络-数据通信基础
目录 前言 一、数据通信基本概念 二、数据通信相关知识1 总结 前言 正在学习计算机网络体系,把每日所学的知识梳理出来,既能够当作读书笔记,又能分享出来和大家一同学习讨论。 一、数据通信基本概念 基本概念:信源、信道、信宿&…...
【lesson53】线程控制
文章目录 线程控制 线程控制 线程创建 代码: 运行代码: 强调一点,线程和进程不一样,进程有父进程的概念,但在线程组里面,所有的线程都是对等关系。 错误检查: 传统的一些函数是,成功返回0&…...
TypeScript(一):TypeScript基本理解
TypeScript基本理解 为什么使用TS JavaScript发展至今,没有进行数据类型的验证而我们知道,在编程阶段,错误发现的越早越好而TS就解决了JS的这个问题 认识TypeScript TypeScript是拥有类型的JavaScript超级,它可以编译成普通、…...
C语言—指针
碎碎念:做指针题的时候我仿佛回到了原点,总觉得目的是为了把框架搭建起来,我胡说的哈31 1.利用指针变量将一个数组中的数据反向输出。 /*1.利用指针变量将一个数组中的数据反向输出。*/#include <stdio.h> #include <time.h> #include <…...
c++作业
Shell中的函数(先调用后使用的原则)(没有申明) (Function) 函数名(有没有参数根据调用格式)(不能写任何内容) { 函数体 Return 返回值 } 函数名 ----》…...
什么是tomcat?tomcat是干什么用的?
前言 Tomcat是一个开源的、轻量级的应用服务器,是Apache软件基金会的一个项目。它实现了Java Servlet、JavaServer Pages(JSP)和Java Expression Language(EL)等Java技术,用于支持在Java平台上运行的动态W…...
中科院一区论文复现,改进蜣螂算法,Fuch映射+反向学习+自适应步长+随机差分变异,MATLAB代码...
本期文章复现一篇发表于2024年来自中科院一区TOP顶刊《Energy》的改进蜣螂算法。 论文引用如下: Li Y, Sun K, Yao Q, et al. A dual-optimization wind speed forecasting model based on deep learning and improved dung beetle optimization algorithm[J]. Ener…...
C# 如何实现一个事件总线
EventBus(事件总线)是一种用于在应用程序内部或跨应用程序组件之间进行事件通信的机制。 它允许不同的组件通过发布和订阅事件来进行解耦和通信。在给定的代码片段中,我们可以看到一个使用C#实现的Event Bus。它定义了一些接口和类来实现事件…...
Python学习路线图
防止忘记,温故知新 进阶路线...
作业2.14
chgrp: 只能修改文件的所属组 chgrp 新的组 文件名 要求:修改的目标组已经存在 chown: chown 新的用户名 文件名 sudo chown root :1 将文件1的所属组用户和所属组用户都改为root sudo chown root:ubuntu 1 将文件1的所属用户…...
基于python+django+mysql的小区物业管理系统
该系统是基于pythondjango开发的小区物业管理系统。适用场景:大学生、课程作业、毕业设计。学习过程中,如遇问题可以在github给作者留言。主要功能有:业主管理、报修管理、停车管理、资产管理、小区管理、用户管理、日志管理、系统信息。 演示…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
2025.6.9总结(利与弊)
凡事都有两面性。在大厂上班也不例外。今天找开发定位问题,从一个接口人不断溯源到另一个 接口人。有时候,不知道是谁的责任填。将工作内容分的很细,每个人负责其中的一小块。我清楚的意识到,自己就是个可以随时替换的螺丝钉&…...
