下一代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给作者留言。主要功能有:业主管理、报修管理、停车管理、资产管理、小区管理、用户管理、日志管理、系统信息。 演示…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...