下一代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给作者留言。主要功能有:业主管理、报修管理、停车管理、资产管理、小区管理、用户管理、日志管理、系统信息。 演示…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
【iOS】 Block再学习
iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...
使用python进行图像处理—图像滤波(5)
图像滤波是图像处理中最基本和最重要的操作之一。它的目的是在空间域上修改图像的像素值,以达到平滑(去噪)、锐化、边缘检测等效果。滤波通常通过卷积操作实现。 5.1卷积(Convolution)原理 卷积是滤波的核心。它是一种数学运算,…...
旋量理论:刚体运动的几何描述与机器人应用
旋量理论为描述刚体在三维空间中的运动提供了强大而优雅的数学框架。与传统的欧拉角或方向余弦矩阵相比,旋量理论通过螺旋运动的概念统一了旋转和平移,在机器人学、计算机图形学和多体动力学领域具有显著优势。这种描述不仅几何直观,而且计算…...
Ansible+Zabbix-agent2快速实现对多主机监控
ansible Ansible 是一款开源的自动化工具,用于配置管理(Configuration Management)、应用部署(Application Deployment)、任务自动化(Task Automation)和编排(Orchestration…...
JSON解析崩溃原因及解决方案
问题记录: /************************************************| * 描述: 将ID124执行NFC操作-JSON解析为结构体* 函数名: cJSON_ID124_to_struct* 参数[ I]: *json_string 待解析的指针* 参数[II]: *wireless_rxd 结构体指针* 返回: 成功返回0 失…...
RISC-V 开发板 + Ubuntu 23.04 部署 open_vins 过程
RISC-V 开发板 Ubuntu 23.04 部署 open_vins 过程 1. 背景介绍2. 问题描述3. 解决过程3.1 卸载旧版本3.2 安装 Suitesparse v5.8.03.3 安装 Ceres Solver v2.0.03.4 解决编译爆内存问题 同步发布在个人笔记RISC-V 开发板 Ubuntu 23.04 部署 open_vins 过程 1. 背景介绍 最近…...
做题笔记(ctfshow)
一。ctfshow web13 文件扫描 存在upload.php.bak <?php header("content-type:text/html;charsetutf-8");$filename $_FILES[file][name];$temp_name $_FILES[file][tmp_name];$size $_FILES[file][size];$error $_FILES[file][error];$arr pathinfo($fi…...
单例模式与锁(死锁)
目录 线程安全的单例模式 什么是单例模式 单例模式的特点 饿汉实现方式和懒汉实现方式 饿汉⽅式实现单例模式 懒汉⽅式实现单例模式 懒汉⽅式实现单例模式(线程安全版本) 单例式线程池 ThreadPool.hpp threadpool.cc 运行结果 线程安全和重⼊问题 常⻅锁概念 死…...
