【论文通读】AgentStudio: A Toolkit for Building General Virtual Agents
AgentStudio: A Toolkit for Building General Virtual Agents
- 前言
- Abstract
- Motivation
- Framework
- 评估
- GUI Grouding
- Real-World Cross-Application Benchmark Suite
- Conclusion
前言
来自昆仑万维的一篇智能体环境数据大一统框架工作,对未来计算机智能体的发展具有指导性意义,作者在环境上对计算机智能体的输入输出进行了统一,基于该环境又设计了智能体数据的收集评估框架,通过实验也验证了数据集收集的重要性。此外它还提供了丰富的文档,便于初学者学习。
| Paper | https://arxiv.org/pdf/2403.17918.pdf |
|---|---|
| Document | https://skyworkai.github.io/agent-studio/ |
| From | Arxiv 26 Mar 2024 |
Abstract
创造在任意数字设备上操作任意软件的自主虚拟智能体仍然是当前AI的主要挑战。关键的两点障碍在于:现实环境中构建虚拟智能体的基础设施不足,以及对基础智能体能力评估的需求。为了解决这些问题,本文提出AgentStudio,一个在线、现实、多模式的工具包,可以涵盖智能体开发完整的生命周期。包括环境设置,数据收集,智能体评估以及可视化。观察和动作空间高度通用,支持函数调用和人机界面。AgentStudio的图形用户界面进一步增强了这种多功能性,允许在现实环境中高效开发数据集和基准。为了说明这一点,作者引入了一个视觉基础数据集和一个真实世界的基准套件,二者都是通过图像化界面创建的。此外,作者还提出一些源自AgentStudio的可行解,例如通用视觉基础、开放式工具创建、视频学习等。作者开源了环境、数据集、基准测试和界面,以促进开发更通用的虚拟智能体。
Motivation


- 受到环境和数据的限制,现有的智能体仅在简单、受限的场景下评估演示,缺乏实用性和可靠性。
- 真实环境难以收集数据,阻碍智能体的提升。
AgentStudio工具包如何解决上述问题?
- 包括了智能体观察和动作空间的定义工具。
- 提供了跨平台的在线环境支持。
- 支持交互式数据的收集与评估,以及可扩展的任务套件,增强实用性和灵活性。
上图展示AgentStudio如何在环境上和数据集上解决之前工作的问题。
Framework
AgentStudio优势:
- 可复现、多模态、跨平台的在线环境。支持docker、FastAPI以及虚拟机连接各种操作系统和设备,注重真实落地场景。
- 统一标准输入输出。和人类保持一致,通过观察屏幕输入,控制键鼠和命令行输出,也支持函数调用和API。
- 全面、可扩展、可组合的任务集。包含在十余个应用上全面评估AI智能体的能力,覆盖各种应用场景,包含不同难度任务。
- 完整的智能体数据收集和评估代码。可用于人工标注数据集,也可用于智能体自行收集经验。
- 关注工具创造和应用。支持智能体在交互中自行创造并复用新的工具。
- 交互式可视化界面。提供用户友好的轻量化GUI界面,帮助用户一键自动化创建任务并收集数据。
下图是使用AgentStudio人工标注数据以及自动标注数据的过程。


评估
除了工具包的搭建,研究团队评估了多个多模态智能体完成任务的能力。为了全面评估智能体的能力,AgentStudio的实验从多个角度考虑:
- 图形界面grounding数据集。任务为单步动作,指令无需规划, 关注智能体与图形界面交互的能力。
- 日常任务与组合任务数据集。任务涉及调用复杂API,或者多步动作以及跨软件交互。用于评估智能体完成日常任务、以及进行复杂动作规划的能力。
GUI Grouding
每个数据都是三元组: T = ( g , s , a ) T=(g,s,a) T=(g,s,a),分别代表instruction、截图和鼠标动作。基于AgentStudio,团队设计了一个包含 227 条鼠标点击指令的数据集,涵盖三种流行的桌面操作系统和九种应用程序。在当前多模态模型上进行评估,结果如下表所示:

在闭源模型上,模型展示了在不同操作系统下泛化的差异性,并且得分都不高,GUI能力不足。在开源模型上,基于Qwen-VL微调的SeeClick在每个任务上都是最高分,凸显了进一步扩展GUI基础数据的重要性,以通过数据驱动的方法改进多模式模型,从而实现有效的现实部署。

上图是在位置和点击类型两个指标上的比较。可以看到,所有模型在精确定位上得分较低,有很大改进空间,b表明点击成功率和元素大小相关,分而治之的方法可能提升点击的准确率。
Real-World Cross-Application Benchmark Suite
为了说明AgentStudio在复杂的场景促进评估,作者引入了由77个现实任务组成的基准套件,包括工具使用、GUI基础、长期规划等。每个任务形式化为一个三元组,包括自然语言描述,重置环境组件(防止其它项干扰实验),评估结果轨迹组件。结果如下:

虽然GPT-4在大多数API任务中表现出色,但是在GUI和组合任务上面临挑战,另一方面,Gemini-1.0 Pro 和 GPT-3.5 Turbo 总体上表现出相对较低的成功率,但它们较高的批评准确率意味着这些模型可能有潜力通过开发新颖的自校正算法来提高其性能。
Conclusion
本文介绍了AgentStudio,一个开放的工具包,用于开发在现实数字世界中的通用智能体,它包括数据收集评估、可视化和用户界面,允许在任意人类任务上开发测试。这篇工作非常solid ,在各种智能体打架的今天,AgentStudio从另一个角度出发, 在底层统一了各种计算机智能体的评估和交互,工作合理且完整, 有极强的扩展性和自定义性,具有特别大的发展前途。我认为基于这篇工作,未来可以考虑的方向有:
- 通用工具的积累。即插即用的工具,可以为任何智能体所用,这也涉及相关的框架与协议。
- 更丰富的输入输出接口。目前只支持键鼠、bash,如果能够泛化到各种设备,那会在更多场景解放人类双手。
- 评估的方式不是很合理,毕竟有的操作没有固定的流程,遇到特殊情况也无法评估。
- 数据集规模不大,覆盖面不够广。
相关文章:
【论文通读】AgentStudio: A Toolkit for Building General Virtual Agents
AgentStudio: A Toolkit for Building General Virtual Agents 前言AbstractMotivationFramework评估GUI GroudingReal-World Cross-Application Benchmark Suite Conclusion 前言 来自昆仑万维的一篇智能体环境数据大一统框架工作,对未来计算机智能体的发展具有指…...
wordvect嵌入和bert嵌入的区别
Word2Vec 嵌入和 BERT 嵌入之间有几个关键区别: 训练方式: Word2Vec:Word2Vec 是一个基于神经网络的词嵌入模型,它通过训练一个浅层的神经网络来学习单词的分布式表示。它有两种训练方式:连续词袋模型(CBOW…...
渗透测试练习题解析 5(CTF web)
1、[安洵杯 2019]easy_serialize_php 1 考点:PHP 反序列化逃逸 变量覆盖 【代码审计】 通过 GET 的方式获取参数 f 的值,传递给变量 function 定义一个过滤函数,过滤掉特定字符(用空字符替换) 下面的代码其实没什么用…...
PCA(Principal Component Analysis,主成分分析)
PCA(Principal Component Analysis,主成分分析)是一种在数据分析中广泛应用的统计方法,主要用于数据降维、可视化和去噪。以下是对PCA的发展史、工作原理以及理论基础的详细解释: Principal Component Analysis 一、PC…...
干货 | 探索CUTTag:从样本到文库,实验步步为营!
CUT&Tag(Cleavage Under Targets and Tagmentation)是一种新型DNA-蛋白互作研究技术,主要用于研究转录因子或组蛋白修饰在全基因组上的结合或分布位点。相比于传统的ChIP-seq技术,CUT&Tag反应在细胞内进行,创新…...
提质不增本,降本不降质
#公益巡讲# #质量万里行# 公开课、沙龙活动...
数据结构---顺序表实现
目录 1.顺序表 2.动态顺序表的实现 (4)顺序表初始化 (5)顺序表销毁 (6)顺序表的插入 a.尾插 b.头插 (7)顺序表的删除 a.尾删 b.头删 (8)指定位置之…...
python docx 添加动态表格
在Python中,使用python-docx库可以创建Word文档并添加动态表格。以下是一个简单的例子,演示如何创建一个包含动态内容的表格: from docx import Document# 创建一个Word文档 document Document()# 添加一个标题 document.add_heading(动态表…...
git配置多SSH
目的: 一台电脑可以让github、gitee等账号同时存在,让不同账号配置不同的密钥 第一步:创建不同平台的SSH公钥 执行命令: ssh-keygen -t rsa -C "对应仓库邮箱地址" -f ~/.ssh/id_rsa.github 如果执行上面的命令&…...
IDEA连接SqlServer数据库
目录 下载jar包 下载sqljdbc_12.6压缩包 解压 导入IDEA 新建文件夹 复制粘贴进JDBC文件夹并设为library 编写类及方法 代码 下载jar包 以sqljdbc_12.6为例 下载sqljdbc_12.6压缩包 最新地址:sqljdbc 官方最新地址 解压 解压即用 导入IDEA 新建文件夹 复制…...
LeetCode 378 有序矩阵中第K小的元素
题目信息 LeetoCode地址: . - 力扣(LeetCode) 题解内容大量转载于:. - 力扣(LeetCode) 题目理解 题意很直观,就是求二维矩阵中所有元素排序后第k小的数。 最小堆写法 该写法不再赘述,维护…...
Vue3(domdiff)最长递归子序列求解简易版(超简单)
Vue3(domdiff)最长递归子序列求解简易版 ⚠️ 关键词(每一个都需要理解)js 代码实现写完感想欢迎关注 ⚠️ 关键词(每一个都需要理解) 动态规划(O(N^2))(不提倡…...
LLaMA-Factory+qwen多轮对话微调
LLaMA-Factory地址:https://github.com/hiyouga/LLaMA-Factory/blob/main/README_zh.md qwen地址:https://huggingface.co/Qwen/Qwen-7B-Chat/tree/main 数据准备 数据样例 [ {"id": "x3959", "conversations": [{&qu…...
邦芒面试:如何在面试中巧妙回答自己的缺点
在面试中,被问及自己的缺点时,如何巧妙回答是一门学问。恰当的回答不仅能够展示你的自我认知,还能让面试官看到你的成长潜力和积极态度。 首先,切忌谈一些看似缺点实则优点的话题,如追求完美、待人接物太客气等。这些…...
Android:身份证识别功能实现
说明: 此文使用华为SDK、百度SDK、百度在线API三种方式实现。 一、使用华为SDK实现身份证识别: 说明:免费,不需要联网。 1.AndroidManifest.xml添加权限:<uses-permission android:name"android.permissio…...
MacOS安装Homebrew教程
安装 Homebrew 是在 macOS 上管理软件包的一种简便方法。以下是安装 Homebrew 的步骤: 打开终端:你可以通过在 Spotlight 搜索栏中输入“终端”并按下回车键来打开 macOS 的终端应用程序。 执行安装命令:在终端中粘贴以下命令并按下回车键执…...
laravel如何通过DB获取一条数据并转成数组
在 Laravel 中,你可以使用原生数据库查询构建器(DB facade)来获取一条数据,并将其转换为数组。这可以通过在查询链的末尾调用 first() 方法后,使用 toArray() 方法来实现。first() 方法会返回一个 StdClass 对象&#…...
ENSP USG防火墙接入虚拟机;开启Web访问;
1.添加防火墙及云,启动防火墙; 2.配置桥接网卡; 默认账户:admin 默认密码:Admin123 #第一次登陆需修改密码; 默认G0/0/0口为管理口,而在模拟器中进入防火墙的web需如下配置: 配置 …...
数据结构算法题(力扣)——链表
以下题目建议大家先自己动手练习,再看题解代码。这里只提供一种做法,可能不是最优解。 1. 移除链表元素(OJ链接) 题目描述:给一个链表的头节点 head 和一个整数 val ,删除链表中所有满足值等于 val 的节点…...
LeetCode---391周赛
题目列表 3099. 哈沙德数 3100. 换水问题 II 3101. 交替子数组计数 3102. 最小化曼哈顿距离 一、哈沙德数 简单的模拟题,代码如下 class Solution { public:int sumOfTheDigitsOfHarshadNumber(int x) {int s 0, tmp x;while(tmp){stmp%10;tmp/10;}return x…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
