[阅读笔记25][WebArena]A Realistic Web Environment for Building Autonomous Agents

本文主要是介绍[阅读笔记25][WebArena]A Realistic Web Environment for Building Autonomous Agents,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇论文提出了WebArena这个环境与测试基准,在24年1月发表。

之前的agent都是在一些简化过的合成环境中测试的,这会导致与现实场景脱节。这篇论文构建了一个高度逼真、可复现的环境。该环境涉及四个领域:电子商务、论坛讨论、软件开发和内容管理。基于环境又引入了一组基准任务,用来评估任务完成的正确性,这些任务可以模拟人类在互联网上的日常行为。另外该基准被证明是具有挑战性的,GPT-4成功率仅14.41%,人类成功率为78.24%。

WebArena的观察空间主要有三类,网页的原始HTML、网页截图和可访问性树。下图是三种不同类型的观察表示。

动作空间也是主要分为三类,第一类是元素相关的操作,例如单击、悬停、键入以及组合键。第二类是标签页相关的操作,例如打开关闭或者切换标签页。第三类是url导航相关操作,例如前进后退或者访问某个url。右图为三类动作的具体描述。

作者基于四个Web环境提出了新的评测基准,这个基准包括812个以自然语言描述的指令。这些指令是通过241个模板生成的。相当于每个模板生成了3.3个指令。
这些指令可以分为三类,第一类是信息查找类任务,第二类是网站导航类,第三类是具体操作类任务,涉及增删改网页内容或者一些设置。右图对这三类任务举了一些例子。

生成了812个指令后,由精通网页任务的专业人员进行标注,拿到标注之后需要确定每类指令如何进行评估。具体可以参照下面的表,对于第一类指令信息查找类的,根据具体指令不同又分为三类,第一种就是答案必须精确匹配的,第二种是答案必须包含某些字段的,第三种是答案可以模糊匹配的,这里使用GPT-4来判断两个答案语义上是否相同。
对于第二类和第三类指令,需要借助程序来判断。具体而言,导航类任务先获取当前页面的url,然后通过比对url来判断是否导航到要求页面。操作类任务根据不同操作也有不同的评估方法,这里是发帖子操作。

最后是作者使用各种LLM作为agent来完成任务,SR表示成功率,SRac是能完成的任务成功率,SRua是不可能完成的任务识别率。另外可以观察到,添加了思维链提示后普遍都能获得更高的成功率,而添加UA Hint后对于不可能任务识别率更高了,但是GPT-4对能完成的任务成功率会下降。这主要是由于GPT-4将一些可行的任务错误识别为不可能任务了。
最终最好的LLM也才只有14.41%的成功率,人类也只有78.24%的成功率,这些结果强调了在WebArena这个现实环境下完成任务的挑战性。

左图是对比之前已有的一些基准,WebArena是在可交互的现实环境下实现的,并且包含了多样的人类在日常生活中可能遇到的任务,另外还设计了评估指标来评估任务执行的功能正确性。
右图是在探讨同一个模板生成的不同指令是否具有相似的难度。可以看到大部分模板只有20%多的成功率,也就是说即使是同一个模板所生成的指令也具有不同的难度。

这篇关于[阅读笔记25][WebArena]A Realistic Web Environment for Building Autonomous Agents的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/922094

相关文章

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.