论文阅读笔记 - Web Agent
争取每月把论文笔记更新一次在博客中💪💪💪
Agent in Computer Control
主要还是 Web Agent 的相关论文分享
SeeAct [ICML 2024]
GPT-4V(ision) is a Generalist Web Agent, if Grounded
论文:https://arxiv.org/abs/2401.01614
代码:https://github.com/OSU-NLP-Group/SeeAct
概览
论文探索了 LMM 作为一种能够理解自然语言指令并完成任何网站上任务的通用网络智能体的潜力。SEEACT 结合了多模态大模型的能力以提升对网站内容的视觉理解和交互效果,以将语言模型的输出转化为具体的网页操作(研究的内容)来工作。论文在 MIND2WEB 上进行了离线评估;另外,通过开发一个运行 Web Agent 的工具,完成了在线评测。结果表明,如果手动将 GPT-4V 的文本计划转化为网站操作,它可以在实际网站上成功完成 50% 的任务。这大大优于纯文本 LLM 或专为网络智能体微调的较小模型 (FLAN-T5 和 BLIP-2)。
研究内容
自动化操作网站以完成用户用自然语言描述的任务。
作者主要关注:规划出自然语言描述的动作后,从自然语言指令中提取出具体的网页动作(Ground)
研究动机
web自动化任务可能相当多样化和复杂,一项任务可能在多个动态呈现的网页上执行 10 多个操作。现有方法主要在HTML输入上使用大模型,这种方式存在以下限制:
- HTML 代码比渲染出的视觉信息噪音更大,并且信息密度较低。
- HTML 本身提供的信息不完整,并且错过了嵌入图像等关键语义。
为此,作者提出了 SEEACT,这是一种通用 Web Agent,它利用 LMM 的强大功能来实现集成的视觉理解和在 Web 上的操作。
虽然 GPT-4V 在视觉上理解渲染的网页并在各种网站和任务中以文本形式生成正确的计划方面表现出强大的能力。然而,落地(即将文本计划转化为网站上的精确操作),仍然是一个重大挑战。它涉及选择要交互的正确 HTML 元素以及正确的操作(例如,单击、键入或选择)。
方法
🪄问题描述:动作生成
动作生成涉及到从自然语言指令中提取出具体的网页动作。这意味着SEEACT模型需要理解用户的指令,并将其转化为可以在网页上执行的具体操作,如点击链接、填写表单等。Prompt要点包括:1)之前的动作历史和当前网页截图;2)之前动作分析;3)截图细节分析;4)下一步行动:基于分析考虑人类的网络浏览习惯和网页设计逻辑,决定下一步操作,每次只生成一个行动。
本文研究的问题:将动作描述 a =(e, o, v)
(元素,操作,操作所需的附加值) 转换为环境中的可执行动作 a~
。从动作描述 a~
导出操作类型 o
和值 v
可以通过字符串解析很好地解决。关键的挑战是从生成的 e~
中识别能真正生成浏览器事件的目标元素 e
,作者将其称为Element Grounding(元素定位)
🪄元素定位
元素定位是指识别并定位网页上与执行任务相关的具体HTML元素。这个过程需要模型能够准确识别并与特定任务相关联的网页元素,比如按钮、输入框等,以确保正确执行动作。
文章测试了三种类型的定位方法(如图):1)元素属性定位:模型生成目标元素的详细属性,如文本和类型,然后使用这些属性在DOM元素中进行匹配,以找到正确的元素。2)文本选择定位:为模型提供元素的文本表示作为选择项,模型从给定的多个选择中确定其意图的元素。3)图像注释定位:在每个候选元素上覆盖边界框和字母标签,模型需要生成对应于目标元素的标签。
实验结果
如果提供了准确的元素定位,模型可以在在线评估中成功完成50%的任务。在各种定位策略中,结合HTML文本和视觉信息的方法表现最佳,显著优于仅使用图像注释的策略。在线评估与离线评估之间存在显著差异。
思考
创新点:能够真正生成可执行浏览器的操作,提出几种元素定位的方法:使用html元素属性;提供元素的文本表示作为选择项,让模型做选择题;使用图像标记来定位目标元素(具体使用的算法并没有写)。并且设计了一种在线测评方法。
WebVoyager [ACL 2024 (main)]
WebVoyager : Building an End-to-End Web Agent with Large Multimodal Models
论文:https://arxiv.org/abs/2401.13919
代码:https://github.com/MinorJerry/WebVoyager
研究内容
Web Agent:借助 GPT-4V 这样的多模态模型,与开放网络中的网站交互,自动化完成用户的各项指令。
目标:构建一个能够在没有任何人工干预的情况下,自主浏览开放网页并完成用户指令的Agent。
创新点:考虑视觉,使用了SoM(Set-of-Mark Prompting)提高大模型对屏幕截图的理解能力。
研究动机
现有的Agent通常用于处理复杂且冗长的HTML文本这一单一输入模态,而忽视了可以将HTML渲染为视觉网页这一要点,并且仅在简化的网络模拟器或静态网络快照中进行评估,很大程度上限制了Agent在现实世界场景中的适用性。
作者的工作
作者提出了一种新的多模态 Web Agent——WebVoyager,旨在以端到端的方式在线处理网络任务,即在没有人工介入的情况下从开始到结束自主管理整个过程。
构建了一个新的评估数据集,包含来自15个常用网站的300个网络任务;并提出了一种自动评估的方法,在在线导航过程中保存屏幕截图,使用GPT-4V自动评估轨迹和最终结果,同时进行人工评估以验证结果。验证了GPT-4V评估器与人类评估的一致性,从而减轻人工评估员的负担,显著降低实验的成本。
WebVoyager 的任务成功率为55.7%, 显著优于GPT-4(All Tools)的32.7%和纯文本设置的39.0%。
方法
WebVoyager 整体工作流程如上所示。具体来说:根据指令,WebVoyager 首先实例化一个 Web 浏览器,然后使用来自 Web 的视觉(即屏幕截图)和文本(即 HTML 元素)信号执行操作。Agent根据每一步的输入生成一个操作,然后在浏览器环境中执行。该过程将持续进行,直到Agent决定停止。 WebVoyager的详细设计,包括环境、交互周期、观察空间和动作空间如下。
1. 浏览环境的构建
工作流程始于构建一个自动化的网页浏览环境。使用Selenium工具,Agent可以模拟用户的浏览行为,访问真实的网页。允许Agent探索开放的网络环境,面对实时更新、浮动广告等挑战。
2. 交互的公式化表示和决策过程
决策过程是一个交互周期,Agent在每一步接收输入(包括截图和辅助文本),然后产生一个动作,该动作在浏览器环境中执行。如果动作执行期间出现异常,还会将错误信息纳入提示中,要求模型重新生成响应。这个过程持续进行,直到模型生成终止动作或达到最大步数为止。
- 使用 ReAct Prompting范式,提示 Agent 在生成 Action 代码之前首先生成一个 Reason 的推理过程。
- 为了避免长时间的网页导航导致的混淆,执行上下文裁剪,只保留最近的3个截图,并保留所有思考和动作的历史记录。
3.观察空间
在每一步中,代理都会接收当前屏幕截图、辅助文本和历史记录作为输入。(屏幕截图能够避免处理 HTML DOM 树或可访问性树来描绘网页整体结构的长上下文负担)
具体来说,受 Set-of-Mark Prompting (Yang et al., 2023a) 的启发,作者在网站上叠加交互元素的边界框,以更好地指导 Agent 的动作预测。与利用目标检测模块不同,作者利用 GPT-4V-ACT5(一种 Javascript 工具)根据 Web 元素类型提取交互元素,然后在元素的相应区域上覆盖带有数字标签的边界框。
网页的性质使其能够使用此工具精确定位和概述每个交互元素。分配给每个元素的数字标签对于模型识别需要交互的元素也至关重要,从而促进准确的动作确定。凭经验选择黑色作为标签的边框和背景,以提高清晰度。作者还为 Agent 提供辅助文本作为输入,包括嵌入交互元素中的文本内容、元素的类型,以及 aria-label 属性中可能的一些注释文本。为了简化观察,作者禁用了多个选项卡。
通过在网页上的交互元素上叠加边框和数字标签,Agent能够更准确地确定需要交互的元素,并执行相应的动作。
Set-of-Mark Prompting:来自微软、香港科技大学等机构的研究者提出的一种新的视觉 prompt 方法 Set-of-Mark(SoM),来解决 GPT-4V 在细粒度视觉任务上的问题。SoM的机制非常简单,简而言之,通过使用语义分割将图像划分为多个区域并标记每个区域,“我们可以让 GPT-4V 更容易地识别每个对象的位置关系”,仅此而已。
这项研究的重点是,只要对输入到 GPT-4V 的图像稍作修改,就能提高 GPT-4V 的图像识别能力。
4.行动空间
形式:操作+数字标签
行动空间定义了Agent可以执行的动作(有限的),如点击、输入、滚动、等待、返回、跳转到搜索引擎等,这都是最常用的鼠标和键盘操作,足以让Agent浏览各种网页并找到任务所需的内容。通过在屏幕截图中使用数字标签,使Agent能够以简洁的行为格式进行响应。
实验设计
1.选取的网站和任务多样性
本文选择了15个流行且具有代表性的网站,涵盖了日常生活的不同方面:包括Allrecipes、Amazon、Apple、ArXiv、BBC News、Booking、Cambridge Dictionary、Coursera、ESPN、GitHub、Google Flights、Google Map、Google Search、Huggingface和Wolfram Alpha。此外,Google Search作为一个通用网站,可以作为任何网站的起点。
2.数据集
- 自建数据集:数据集的构建采用了自我指导(self-instruct)方法和人工验证相结合的方式。首先,从Mind2Web中手动采样并重写了一些任务,然后使用GPT-4 Turbo生成约100个新任务,并对每个生成的任务进行人工验证和必要的重写。最终收集了每个网站20个任务,共计300个任务。
- GAIA 数据集:从中提取了90个网页浏览任务(Level 1 和 Level 2),并使用 SeeAct 中的50项任务。指示Agent从谷歌搜索开始搜索答案。采用主要的评估指标为任务成功率,不考虑逐步执行是否最优。每个任务的最大交互次数设置为15次。
SeeAct Agent 依赖于微调的交叉编码器模型来选择交互的候选元素。相比之下,WebVoyager 不需要任何额外的模块。
3.评估方法
- 人类评估:主要的评估指标,特别是针对那些具有开放式答案的任务。
- 自动评估:使用GPT-4V作为自动评估器。
4.基线模型
- GPT-4 (All Tools),将视觉、网页浏览、代码分析和各种插件集成在一个模型中。
- 考虑了一个仅接收网站可访问性树作为输入并进行行为预测的文本基线。