论文阅读笔记 - 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]
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个流行且具有代表性的网站,包括Amazon、Apple等。此外,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),将视觉、网页浏览、代码分析和各种插件集成在一个模型中。
- 考虑了一个仅接收网站可访问性树作为输入并进行行为预测的文本基线。
AutoWebGLM [KDD 2024]
AutoWebGLM: Bootstrap And Reinforce A Large Language Model-based Web Navigating Agent
论文:AutoWebGLM: A Large Language Model-based Web Navigating Agent
代码:GitHub - THUDM/AutoWebGLM: An LLM-based Web Navigating Agent (KDD’24)
研究内容
🎨问题建模
网页浏览任务定义:将网页浏览任务视为序列决策过程。
- 状态 (S):当前网页状态,包括HTML结构、URL和窗口位置。
- 动作集合 (A):所有可能的网页操作,包括点击(click)、滚动(scroll)、输入文本(type)等。
- 状态转移 (T):模型通过操作改变网页状态,记录历史操作和当前网页内容。
- 策略 (π):模型根据历史操作记录和当前网页状态,选择下一步的动作,直到任务完成或达到最大操作次数。
动机
当前网页浏览智能体在现实环境中表现不能令人满意,由于:
- 缺乏统一的动作空间:不同网页之间的交互方式差异极大(如表单填写、按钮点击、内容搜索等)。缺乏通用且方便的操作空间,涵盖跨不同网站的浏览器上所有必要的任务执行。
- 缺乏网页简化方法:网页的多样性和复杂性以及其倾向性的冗长给大模型理解内容和进行正确操作带来了重大挑战。内容丰富的网页的Token长度通常可以达到30k以上。
- 缺乏高质量的训练轨迹:用于训练强大的基于 LLM 的网络代理的高质量轨迹有限。现有训练的智能体明显缺乏对网络任务进行正确推理和自我检查的能力。一旦陷入错误循环,他们就很难及时纠正问题。
方法
AutoWebGLM框架设计
受人类浏览模式的启发,作者设计了一种 HTML 简化算法来表示网页,简洁地保留重要信息。论文,采用人类与人工智能混合的方法来构建用于课程培训的网络浏览数据。然后,通过强化学习和拒绝采样来引导模型,以进一步促进网页理解、浏览器操作和高效的任务分解。为了进行测试,作者为现实世界的网页浏览任务建立了双语基准测试 - AutoWebBench。
🎈观察空间:
- HTML:设计了一种HTML简化算法【通过递归筛选关键节点及其相关元素(祖先、后代和兄弟节点),并剔除冗余内容,保留任务执行所需的最简关键信息结构】,保留关键组件,确保模型能够专注于重要内容。
- 当前位置(其实就是页面截图):网页滚动位置和页面大小。Agent 使用页面滚动位置来了解当前可见区域的内容,并使用页面高度信息来了解整个页面的比例,为模型提供可视化的空间上下文。
- 历史动作:提供过去操作。有助于代理了解其过去的行为,防止 Agent 因操作失败而陷入重复相同操作的无效循环,通过防止这种错误累积来提高其适应网页浏览任务的复杂性和动态性的能力。
🎈动作空间:
- 包括点击(click)、悬停(hover)、选择下拉菜单(select)、输入文本(type_string)、滚动页面(scroll_page)等操作。
- 每个操作都以函数形式定义,确保模型在网页环境中的执行能力。
数据准备与任务设计
🎈数据构建方法
第一阶段:简单任务构建:
- 识别网页结构和基本交互组件,生成单步任务(如表单填写、按钮点击)。
- 利用GPT-3.5-Turbo生成任务描述和操作意图,确保任务多样性和操作可执行性。
第二阶段:复杂任务构建:
- 收集跨网站复杂任务(如多步搜索、商品排序)。
- 人工标注用户任务轨迹,并结合GPT-4生成详细的操作意图和链式思维推理(Chain-of-Thought)。
🎈AutoWebBench评测基准:
构建包含域内数据(训练集中网页)和域外数据(训练集外网页)的测试集,分别用于评估模型在熟悉环境和陌生环境中的表现。
🎈模型训练
- 第一步:课程学习(Curriculum Learning):
- 简单任务阶段:先训练模型识别网页结构并执行基本操作。
- 复杂任务阶段:训练模型将复杂任务分解为子任务,并根据历史操作选择下一步动作。
- 第二步:强化学习(Reinforcement Learning):
- 自采样强化学习:模型从自己的错误中学习,通过对比真实任务路径和错误操作,优化决策过程。
- 损失函数:结合DPO损失(Direct Preference Optimization)与监督学习损失(SFT Loss),平衡模型的强化学习稳定性与自然语言理解能力。
- 第三步:拒绝采样微调(Rejection Sampling Fine-Tuning, RFT):
- 在特定领域网页环境中,采样任务轨迹,利用奖励信号筛选正确轨迹,用于进一步优化模型。
- 在MiniWob++和WebArena沙盒环境中进行训练,生成高质量的网页浏览轨迹数据。
DPO (Direct Preference Optimization): 直接优化智能体的偏好,使其能够选择更符合人类期望的行为。
- 方法: 通过比较智能体自身的行为和人类专家的行为,来计算奖励信号,并更新智能体的策略。
- 优点:不需要预先定义奖励函数,更适用于开放域环境;能够有效地学习人类专家的偏好。
- 缺点:需要大量的数据来训练;训练过程可能不稳定。
拒绝采样微调(Rejection Sampling Finetuning): 通过选择智能体自身产生的正确轨迹进行微调,来提高智能体在特定环境中的性能。
- 这里的 “拒绝” 指的是筛选出错误的轨迹,只保留正确的轨迹进行微调。
实验
🎲对比试验:
- AutoWebBench:自构建双语数据集(具体上面有讲)。
- 中文任务:域内成功率65.4%,域外61.8%,显著优于GPT-4(36.7%)。
- 英文任务:域内64.8%,域外58.6%,同样远超其他模型。
- Mind2Web:复杂网页任务数据集,评估模型在跨域任务中的能力。
- AutoWebGLM跨域任务成功率59.5%,明显高于GPT-4(30.9%)和LLaMA2(54.4%)。
- MiniWoB++:模拟环境数据集,用于简单网页交互任务评估。
- MiniWoB++成功率89.3%,超过Html-T5-XL(85.6%)和GPT-4(32.1%)。
- WebArena:模拟真实环境的数据集,用于复杂网页任务测试。
- WebArena成功率18.2%,优于GPT-4(14.4%)。
🎲消融实验:
- 复杂任务数据显著提升模型性能,结合简单任务数据可避免基本操作错误。
- DPO训练增强了模型从错误中学习的能力,RFT微调优化了特定领域任务表现。
🎲错误分析:
主要错误包括幻觉(44%)、图形识别不佳(28%)、任务上下文误解(20%)和弹窗干扰(8%)。
思考
创新点:设计了一种HTML简化算法,并提出混合人类-AI数据构建方法以及多阶段训练策略(课程学习、强化学习和拒绝采样微调)