WebVoyager:借助强大多模态模型,开创全新的网络智能体 Hongliang He1,3∗, Wenlin Yao2, Kaixin Ma2, Wenhao Yu2, Yong Dai2, Hongming Zhang2, Zhenzhong Lan3, Dong Yu2 1 浙江大学,2 腾讯 AI 实验室,3 西湖大学
hehongliang@westlake.edu.cn, wenlinyao@global.tencent.com
摘要
随着大语言模型 (LLMs) 的突飞猛进,一个以真实世界中的自动化应用为核心的新时代已经来临。这一时代的特点是推动了基于网络的先进智能体的发展。目前市面上的网络智能体大多只能处理单一输入模式,并且它们的性能通常仅在简化的网络模拟环境或是静态的网络快照中得到评估,这大大限制了它们在实际应用中的有效性。为了解决这一问题,我们推出了 WebVoyager:一个创新的、由大型多模态模型 (LMM) 驱动的网络智能体。
WebVoyager 能够通过与现实世界中的网站交互,全面完成用户的各项指令。此外,我们还提出了一种新的评估协议,用于应对开放式网络智能体任务自动评估中的种种挑战。
我们利用 GPT4V 的强大多模态理解能力,从 15 个广泛使用的网站中收集真实世界任务,作为衡量我们智能体性能的新基准。测试结果显示,WebVoyager 的任务完成率高达 55.7%,明显优于 GPT4 (含所有工具) 以及仅文本模式的 WebVoyager,这充分证明了它在实际应用中的出色能力。我们的自动评估方法与人类评判的一致性高达 85.3%,为网络智能体在真实世界环境中的进一步发展奠定了坚实的基础。
1 引言
随着大语言模型(LLMs,如 ChatGPT 和 GPT-4,OpenAI, 2023)的迅速进步,基于这些模型的自主智能体(如 AutoGPT,2022)在处理复杂任务方面引起了广泛关注(参见 Qin et al., 2023; Schick et al., 2023 的研究)。近期研究开始探索创建基于文本的网络浏览环境,并指导大语言模型智能体进行网页导航(例如 Nakano et al., 2021; Gur et al., 2023; Zhou et al., 2023; Lu et al., 2023)。这些研究的核心挑战在于如何有效处理复杂且冗长的 HTML 文本,目前的解决方案主要是对 HTML 进行简化和结构化处理(参考 Nakano et al., 2021; Zhou et al., 2023; Gur et al., 2023; Deng et al., 2023 的研究)。
然而,现有方法通常忽视了网络浏览的一个关键环节:将 HTML 渲染成视觉网页。视觉能力在使用网络浏览器等工具时至关重要,因为渲染后的网页设计注重用户体验(UX),强调直观的信息展示和结构化的页面布局。这种视觉渲染原则使得基于视觉的分析优于单纯的 HTML 表现形式。当前,大型多模态模型(LMMs),尤其是 GPT-4V(ision)(OpenAI, 2023)和 Gemini(Team et al., 2023),已经展示出将复杂的视觉线索与文本信息结合的出色能力。尽管像 Pix2Struct(Lee et al., 2023)和 WebArena(Zhou et al., 2023)等研究已开始利用截图作为网络导航决策的输入,但这些尝试还处于初步阶段,尚未深入探索。因此,开发能够利用浏览器渲染的环境和截图,模拟人类浏览行为的多模态网络智能体,成为提升网页导航效率的新方向。
本文介绍 WebVoyager,这是一款全新的多模态网络智能体,专为在线完成网络任务而设计,能够端到端地自主处理任务,无需人为干预。我们利用 Selenium 为 WebVoyager 创建了一个在线环境,向其提供截图和交互式网页元素中的文本内容。受到 Yang et al.(2023a)提出的“标记集提示”方法的启发,我们在截图上标记了交互式元素(参见图 2),以辅助 WebVoyager 的决策过程。作为第一个在网络导航中结合视觉和文本信息的尝试,我们认为,自主的端到端任务处理、多模态能力和在线导航是实现网络智能体真正智能的关键路径。
在评估这种可以在线导航的端到端网络代理时,我们遇到了一个挑战。传统的基准测试,如 Mind2Web(Deng et al., 2023),主要是按步骤和离线进行的,代理会按照预设的最佳路径来选择操作。但这种方法可能无法涵盖完成任务的所有可能策略,因为它只代表了一种可能的方案。这可能会导致评估不够全面,难以公平比较不同的方法。为了更准确地评估网络代理在完成整个任务中的能力,我们在整个在线导航过程中保存了屏幕截图,并使用 GPT-4V 自动评估这些操作路径和最终结果。我们还进行了人工评估,以验证结果的准确性和 GPT-4V 作为评估工具的可靠性。
我们在一个由 15 个常用网站的 300 个网络任务组成的数据集上进行了评估,这个数据集是通过自我指导(Wang et al., 2022)方法半自动生成的。我们还从 GAIA(Mialon et al., 2023)中提取了 90 个一级和二级的网络相关任务,以增强我们的评估。我们将 WebVoyager 与两个版本的 GPT-4(包含所有工具的版本和仅文本版本)进行了比较,后者使用了 WebArena(Zhou et al., 2023)中提出的辅助树来描述网页。结果显示,WebVoyager 在任务成功率上达到了 55.7%,明显高于 GPT-4(包含所有工具)的 32.7% 和仅文本版本的 39.0%,证明了我们方法的有效性。此外,我们还报告了人与人之间和人与 GPT-4V 之间的评估一致性,以确保结果的可信度。我们的主要成果包括:
- 我们开发了一款能同时处理文本和图像信息的多模态网络智能体,这款智能体能够全面处理网络任务,并且我们还创新性地提出了一种用于网络导航的综合规划方法。
- 我们创建了一个在线网页浏览环境,围绕着被广泛使用的网站,提供了一系列多样化的任务,并介绍了一种方法,用于扩展这些任务的范围。
- 我们对导航路径进行了手工评估,并设计了一套基于 GPT-4V 的自动评估流程。通过这些评估,我们进行了深入的分析,并展示了 GPT-4V 在作为网络智能体评估工具方面的可靠性。
2 相关工作
2.1 网络智能体
自主网络导航需要智能体能够按照指令操作、制定计划、理解复杂的网页结构,并把复杂任务分解成一步步的决策(参考文献:Shi et al., 2017; Yang et al., 2023b; Weng, 2023)。为了更好地研究这些网络智能体,研究人员构建了模拟的网络环境,这些环境包含了一些简化的网站(参考文献:Shi et al., 2017; Yao et al., 2022a)。近期,研究者们开始致力于开发更具挑战性和接近真实环境的测试平台,例如 Mind2Web(Deng et al., 2023)和 WebArena(Zhou et al., 2023)。
随着这些新平台的出现,构建能自主在网络上操作的智能体成为了一个热门研究方向。例如,WebGPT(Nakano et al., 2021)创建了一个文本式的网络浏览环境,并在此基础上对 GPT-3 进行了特别的调整,使其成为一个网络智能体。WebAgent(Gur et al., 2023)则是预先训练了一个 T5 模型来提取网页的 HTML 代码,并使用 Flan-U-PaLM(Chowdhery et al., 2023)来生成 Python 代码,以便与网页环境进行交互。此外,还有研究尝试通过给大语言模型(LLMs)下指令的方式来创建网络智能体(参考文献:Yao et al., 2022b; Shinn et al., 2023; Ma et al., 2023)。
还有一些项目探索了将视觉信号整合进网络智能体中,例如 WebGUM(Furuta et al., 2023)结合了 T5(Raffel et al., 2020)和视觉变换器(ViT),利用网页截图和 HTML 文本来导航。而 PIX2ACT(Shaw et al., 2023)则完全依赖网页截图来预测智能体的行动。与之前的研究不同,我们这项工作构建了一个能在真实世界网站上执行任务的多模态智能体。与我们的工作同时期的 SEEACT(Zheng et al., 2024)也开发了一个使用 GPT-4V 的多模态网络智能体,但它们主要专注于离线导航,即智能体观察静态的网页快照来做出决策。我们的研究展示了我们的智能体能够通过与网络浏览器的实时互动来完成用户任务,并获取最新的答案。
2.2 大型多模态模型
近些年,我们在整合图像与文本表示到同一个多模态模型中取得了重大进展。这是通过联合训练图像和文本来实现的(Li et al., 2019; Dosovitskiy et al., 2020; Wang et al., 2021; Dai et al., 2022; Aghajanyan et al., 2022)。大型多模态模型(LMMs)延续大语言模型(LLMs)的发展趋势(Brown et al., 2020; Chen et al., 2021; Chowdhery et al., 2023),具备了执行指令的能力(Ouyang et al., 2022),并在多模态理解方面表现出强大的能力。代表作如 OpenAI 的 GPT-4V(2023 年)和 Gemini(Team et al., 2023 年)的 LMMs,在多项基准测试上表现出色(Goyal et al., 2017; Lu et al., 2022; Zellers et al., 2019; Hessel et al., 2022),为未来多模态智能体的研究和开发奠定了坚实基础。
3 WebVoyager
我们旨在创建一个能够自主浏览开放网络,无需人工干预即可完成用户指令的 AI 智能体。收到指令后,WebVoyager 首先启动一个网络浏览器,作为与开放网络交互的界面。类似于人类,WebVoyager 将网页上的视觉信息(如屏幕截图)作为每一步的主要输入,并辅以从关键 HTML 元素中提取的文本。智能体根据这些输入在每一步制定并执行一个行动,这个过程在浏览器环境中进行,直到智能体决定停止。下一部分,我们将详细介绍 WebVoyager 的环境设置、交互循环、观察范围和行动范围。
3.1 浏览环境
我们利用 Selenium 这一强大工具,开发出了一个可以模仿用户浏览行为的自动化网页浏览环境。这个环境能够像人类一样访问网站,提供一个浏览器窗口,这点与 2023 年 Zhou 团队开发的 WebArena 类似。不过与 WebArena 不同,我们的环境没有在本地托管网站,而是让智能体直接在开放的网络中进行探索。相比本地托管的网站,开放网络面临着更多挑战,比如浮动广告、弹出窗口和不断的更新等。即便如此,我们仍选择让智能体在真实网站上进行在线互动。我们认为这种方式能更真实地反映现实世界的应用场景,比如智能体需要获取网络上的实时信息。我们的目标是打造一个能够有效适应这些挑战并持续解决问题的智能体。
3.2 交互构建
在这里,我们将环境定义为 E,大型多模态模型(Multimodal Model)定义为 M,观察空间定义为 O,行动空间定义为 A。在每一个时间步骤 t,模型接收到的上下文 ct 作为输入,其中包括了之前的行动 at 和观测结果 ot。这可以表示为:ct = (o1, a1, …, ot−1, at−1, ot, I)。模型根据这个上下文在时间 t 产生行动 at,即 at = M(ct),接着在环境中执行这一行动。执行完毕后,环境会反馈时间 t + 1 的观测结果 ot+1 = E(ot, at),随后上下文更新,这一互动过程持续进行,直到模型产生一个终结行动或达到最大步数。
受到 ReAct Prompting(Yao et al., 2022b)的启发,我们也让智能体先生成一个思考过程,然后才是行动代码。因此,(st, at) 可以合成为一个更全面的 aˆt,其中 st 和 at 分别代表自然语言的思考和行动代码。在附录 A 的图 7 中,我们展示了为行动预测阶段设计的系统提示。另外,我们发现在处理较长的剧集时,过多的网页截图可能会让智能体感到混乱。因此,我们只保留输入中最近的 3 个截图,移除了过时的网页信息,同时保留了所有思考和行动的历史,以便更好地指导智能体。
3.3 观察空间
我们的 AI 智能体在浏览网页时,就像人类一样,主要依赖网页的视觉信息,即截图。通过截图,我们避免了解析复杂的 HTML DOM 树或无障碍树,这样可以简化网页结构的展示,避免生成过长的文本,从而更好地辅助智能体做出决策。
我们借鉴了 Yang 等人于 2023 年提出的 Set-of-Mark 提示方法,通过在网站的交互元素上添加边框,帮助智能体更准确地预测其动作。与 Yang 等人的方法不同,我们没有使用物体检测模块(由 Zou 等人于 2023 年提出)。
我们采用了一个名为 GPT-4-ACT4 的 JavaScript 工具,它能够根据网页元素的类型自动识别交互元素,并在这些元素上覆盖带有数字标记的边框。正如图 2 所展示的,这种方法使我们能够准确地定位和标记网页上的每一个交互元素。这些数字标记对于模型来说至关重要,它们帮助模型识别哪些元素需要交互,从而做出更准确的行动选择。为了使元素更加醒目,我们选择了黑色作为边框和标签的颜色。实践中我们发现,相比多种颜色,单一黑色在规划动作时更有效。
此外,我们还向智能体提供了一些辅助文本,如交互元素内的文字内容、元素类型以及 aria-label 属性中可能的注释文本,以简化观察过程。同时,为了简化操作,我们限制了标签页的使用,即所有的交互只发生在当前标签页,而不会打开新标签页。
每一步中,智能体都会接收到当前的截图、辅助文本及之前的历史记录作为输入,正如我们在第 3.2 节中讨论的。如果智能体在执行动作时遇到异常,我们会把错误信息包含在输入提示中,并要求模型重新生成响应。值得注意的是,每次尝试纠正错误也会消耗我们预设的探索步数之一。
3.4 动作空间
我们为智能体设计了一套动作空间,模拟了人类在网页浏览中的常见操作。为了实现这一目标,我们集成了常用的鼠标和键盘动作,使智能体能够有效地浏览各类网页,查找执行任务所需的信息。我们还利用屏幕截图中的数字标签,让智能体可以通过简洁明了的方式进行反应,准确地识别并操作网页中需要互动的元素。具体的操作方式和格式包括:
- 点击。在网页中选择并点击某个元素,如链接或按钮。例如,点击一个链接可能会下载 PDF 文件,此时我们会自动利用 OpenAI Assistant API5 解析文件内容,并将其整合进观测结果中。操作示例:点击 [数字标签]。
- 输入。这个操作包括选定一个文本框,清除其中已有内容,然后输入新的内容。为了减少操作的频繁性,在输入完毕后自动模拟按下回车键。操作示例:输入 [数字标签]; [内容]。
- 滚动。滚动操作主要用于网页的上下浏览,通常是整个页面的垂直移动。如果某个特定区域内的内容可滚动,智能体应能选择并定位到这个区域进行操作。操作示例:滚动 [数字标签或整个窗口]; [向上或向下]。
- 等待。由于执行动作需要一定时间,这个操作主要用于等待网页加载。操作示例:等待。
- 返回。当需要回到之前浏览的页面时,使用这个操作。我们认为不需要专门的“前进”操作,因为可以通过重复之前的操作来实现同样的效果。操作示例:返回。
- 跳转到搜索引擎。当智能体在某个网站上找不到答案时,可以通过这个操作跳转到搜索引擎,比如谷歌,重新开始搜索。操作示例:使用谷歌搜索。
- 回答。在完成所有任务问题后,通过这个操作结束当前的迭代过程,并提供符合任务要求的答案。操作示例:回答; [内容]。
4 网络探索者的基准
4.1 网站选择
本文选择了 15 个既流行又有代表性的网站进行研究,这些网站覆盖了我们日常生活的各个方面,如 Allrecipes、Amazon、Apple、ArXiv、BBC News、Booking、剑桥词典、Coursera、ESPN、GitHub、谷歌航班、谷歌地图、谷歌搜索、Huggingface 和 Wolfram Alpha。这样做是为了确保我们的研究内容丰富多元。由于技术上的限制,我们没有包括那些需要登录或验证码才能访问的网站,但这并不影响我们对这些网站有效性的评估。值得一提的是,谷歌搜索作为一个普遍的网站,它能够引领我们进入互联网的任何角落,从而使我们的研究框架具有广泛的适用性。
4.2 数据构建
在构建评估数据集时,我们结合了自我指导方法(Wang et al., 2022)和人工审核。图 3 显示了我们构建数据的过程。起初,我们受到了 Mind2Web 中网页智能体任务的启发(Yin et al., 2023; Deng et al., 2023),手动挑选并改写了一些针对谷歌航班、谷歌地图、谷歌搜索、Booking 和 Wolfram Alpha 的任务。我们特别注重任务的多样性,以便测试这些网站的不同功能。通过这一步骤,我们在任务池中得到了一些初步的种子任务,为后续的任务生成奠定了基础。
第二步,我们从任务池中选取一些任务作为上下文示例(Dong et al., 2022),然后用 GPT-4 Turbo 生成大约 100 个新的任务(共 20 轮迭代)。之后,我们会逐一检查这些任务,必要时进行重写,以确保它们的质量高且答案可在相应网站上找到。然后,我们将这些任务作为新的种子任务添加到任务池中。这一步骤让我们能够为每个网站创建经过人工审核的种子任务。
最后一步,与第二步类似,但这次我们在任务池中选择了更多样化的上下文示例,并在每轮迭代中直接将新生成的任务添加到任务池。我们确保这些任务不会重复,并且它们的答案可以在相关网站上找到。最终,我们为每个网站收集了 20 个任务,总共 300 个任务。
4.3 标注流程
在整理完所有的任务数据后,我们对每项任务进行了答案的标注。鉴于某些问题的开放性以及网络信息的可变性,这些问题未必有一个确定的标准答案。因此,我们根据答案的不同特点,将它们分为“可能的答案”和“标准答案”两类。对于被归为“标准答案”的部分,我们提供了一个包含可能答案的详尽列表,并认为这些答案在短期内相对稳定。“可能的答案”则包括以下几种情况:1) 难以找到确切匹配答案的开放式任务,比如概括性任务。2) 存在多个符合要求的答案,不可能全部列举。因此,我们仅提供了部分答案列表。3) 涉及实时信息的任务,其答案可能频繁变动,比如航班票价。这样一来,“可能的答案”在我们进行实验时也是正确的。在我们的基准测试中,只有 22.3% 的问题被标记了标准答案,其余的则只有可能的答案。
实验
5.1 实验设定
数据集和评价指标 我们在第 4 节提出的新基准上对我们的 AI 智能体进行了评估。此外,我们从 GAIA 数据集(Mialon 等,2023 年)中选取了 90 个网页浏览任务(一级和二级),这些任务同样配备了标准答案。由于 GAIA 数据集的任务没有指定特定网站,我们引导 AI 智能体从谷歌搜索开始寻找答案。遵循《网络竞技场》(Zhou 等,2023 年)的标准,我们选用的主要评价指标是任务成功率,即成功完成任务的比例,而不是评估每一步执行的最佳性。每项任务的最大互动次数设定为 15。
实验细节 在实验中,我们采用了集成了视觉功能的 GPT-4 Turbo(gpt-4-vision-preview)作为 AI 智能体的核心模型,它在语义和视觉理解方面的能力堪比 GPT-4V(OpenAI,2023 年)。作为对照,我们还包括了集成了视觉、网络浏览、代码分析等多种功能的 GPT-4(全能版)。另外,我们还考察了一种仅以文本为基础的模型,该模型只利用网站的可访问性结构树来预测操作。实验环境中,我们使用了固定分辨率为 1024×768 像素的浏览器窗口,以确保观察到的屏幕截图大小统一。在生成过程中,我们将温度设置为 1,并限制智能体的探索步数最多为 15 步。
5.2 评估方法
我们主要采用人类评估作为评价标准, 因为我们的基准测试中大部分问题都是开放式的。具体而言,我们提供了智能体与网络交互的全部过程(包括所有截图和操作步骤),让评估员判断智能体是否成功完成了任务。每个任务都由三名专家注释员进行评判。报告的最终任务成功率是经过讨论一致同意的结果,我们称之为人类标签。 我们发现,在大多数任务中,评估员能够仅通过最后一张截图来判断任务是否正确完成。对于剩余的任务,评估员可能需要参考倒数第二张、第三张截图,甚至整个操作过程来做出准确的判断。平均来说,专家评估一项任务的时间约为 1 分钟。
考虑到对网络智能体任务进行人类评估的成本非常高,我们想探索是否可以使用大语言模型(LLM)来进行自动评估。因此,我们尝试使用 GPT-4V 作为自动评估器,它可以模拟人类评估员的行为,以评价 WebVoyager 的导航过程。具体来说,我们向 GPT-4V 提供任务描述、WebVoyager 的响应和最后 k 张截图,让它判断智能体是否成功完成了任务(这里的 k 是一个可调节的参数)。GPT-4V 作为评估器的具体指令可以在附录 B 中找到。我们认为 GPT-4V 强大的多模态推理能力使其成为一个可靠的评估器,这不仅可以减轻人类评估员的工作负担,还能大幅降低未来实验的成本。
5.3 结果
在图 4 中,我们通过一个实例展示了智能体如何一步一步与苹果网站的在线互动,最终完成了一个任务。在最后的屏幕截图中,智能体找到了所需信息,并选择了“回答”这一选项来作出响应并结束其任务过程。这个过程展示了一个理想的路径,没有任何不必要的操作。但在实际情况中,路径中可能会包含一些冗余的操作。为了进一步阐明这一点,我们在附录 C 中提供了更多示例。
我们在表 1 和图 5 中展示了我们数据集和提取的 GAIA 网络任务的结果。我们发现,WebVoyager 在大多数网站任务中的表现超越了仅限文本和 GPT-4(含所有工具)的基准水平,但在剑桥词典和沃尔夫勒姆阿尔法网站上略逊于仅文本。这主要是因为这两个网站的内容更依赖文字。由于 WebVoyager 主要通过网页截图来做决策,因此处理大量文字可能会有所困难。我们认为,将 HTML 中的文本提取出来,作为输入的补充,可能是解决这一问题的一个有效方法,也为未来的研究指明了方向。在图 5 中,相较于两个基准,WebVoyager 展现了更加出色的性能,这证明了我们提出的智能体极具效果。
接下来,我们深入分析了评估的一致性。首先,我们计算了三名人类评审员在最终讨论之前的一致性得分,发现他们的 Fleiss’s Kappa(Fleiss,1971)值为 0.7,表明一致性较高。然后,我们在表 2 中展示了综合人类评审结果与 GPT-4V 判断之间的一致性(即观点重叠比例)和 Kappa 值(κ;Cohen 1960)。这里的 k 指的是提供给 GPT-4V 的截图数量,“full”表示完整的操作过程。我们观察到,随着 GPT-4V 接收到更多信息,其与人类评审员的一致性逐渐提高,最终的 Kappa 值也达到了 0.7,与人类评审员之间的一致性相当。这一发现表明,利用 GPT-4V 来自动评估多模态网络智能体的性能是一种有潜力的方法,它适用于高效和大规模的应用场景。
5.4 讨论
与网站的直接互动至关重要
我们在使用 GPT-4 (All Tools) 时发现,它在性能上的主要限制是过度依赖 Bing 搜索来浏览网络。它主要依靠 Bing 搜索到的网页,但缺少直接访问某些网站(如 Apple、Amazon、BBC News 等)进行搜索、点击或使用其排序功能的能力。这一点严重限制了 AI 智能体在执行某些特定任务时的能力。
文本和视觉对于全面的网络智能体都是必需的。
正如之前讨论的,WebVoyager 在处理文本密集型网站时表现不佳。而我们也注意到,仅依赖文本的智能体在处理包含复杂视觉元素的网站(如 Booking 和 Flights)时表现明显下降,这些网站要求与日历和其他复杂部件进行互动。在这些场景中,诸如可访问性树这样的文本输入变得异常复杂和冗长,不如直接使用屏幕截图来得直观。
因此,构建通用型智能体时,结合两种输入模式变得非常必要。 我们还发现,那些含有更多可交互元素的网站对智能体而言挑战更大。我们计算了在最大迭代次数内完成任务的平均轨迹长度,以及网页截图中的可交互元素平均数量。图 6 显示了这些因素与任务成功率之间的关系。
我们认为,平均轨迹长度在某种程度上反映了任务的复杂度,而网页中与决策相关的标签平均数量则反映了网页的复杂度。直观上,图 6 中左下角的网站,因为其网页较为简单、轨迹长度较短,所以预期会有更高的任务成功率。尽管结果大体上符合这种预期,但并非完全一致。值得注意的是,我们目前对网页复杂性的衡量还比较初步。
5.5 错误分析
在这一节中,我们将讨论并总结 WebVoyager 在完成任务过程中遇到的主要问题。这些挑战是未来提升任务成功率和制定获取最优轨迹策略的关键点。我们认为任务失败主要由以下四个问题造成,每个失败的任务我们都标注了一个主要问题,并在表 3 中展示了这些问题的比例。此外,在附录 D 中,我们为每个问题提供了具体的例子。
导航难题
我们智能体最常见的失败原因是在完成任务之前用尽了操作步骤。我们发现了以下几种情况:
- 如果智能体的搜索查询不够精确和明确,它会被海量无关搜索结果淹没。在这种情况下,智能体可能倾向于浏览这些不相关的结果,而不是纠正之前的错误;
- 当只有屏幕的一小部分可滚动时,智能体可能找不到正确的滚动区域,反复进行无效的滚动操作;
- 有时在网页中部,智能体难以决定是向上滚动还是向下滚动。
此外,正如第 3.2 节所述,智能体还容易重复之前的错误操作,这可能是因为输入被截断。这些无意义或重复的动作可能会阻碍任务的完成。
视觉识别难题
我们智能体在视觉识别方面仍有很大的提升空间。我们观察到以下几种情况:
- 智能体无法正确理解一些不常见的模式,比如误将代表发音的字符或数学公式理解错了;
- 智能体没有识别出两次观察之间的微妙差异,误以为操作失败了;
- 由于元素之间位置接近,智能体有时会选错了操作对象。比如,它可能会将相邻的元素混淆,或者把日历上的数字误认为是数值标签。有时,文本信息对于区分密集的网页元素至关重要。
我们发现,加入网页元素中的文本内容可以在一定程度上减轻这些问题。但是,为了彻底解决这些问题,可能需要更强大的视觉处理能力或增加额外的文本输入。
幻觉问题 智能体有时会给出表面上看似正确的答案,但实际上可能含有错误,需要我们仔细甄别。我们发现了两种典型情况:1) 智能体可能忽视任务的某些特定要求,只给出部分正确的答案。比如,在询问最便宜的产品时,它可能只是简单地指出截图中的一款便宜产品,而忽略了事先对所有选项进行排序的必要步骤。2) 智能体可能执行一个表面上看似正确的操作而没有触发错误提示,但这实际上已经使其偏离了正确的推理路径。例如,当网页上有多个文本框时,向错误的文本框输入内容虽然是一个有效操作,但却会导致它给出错误的答案。
提示对齐难题
如图 7 所示,理解和遵循复杂的提示对智能体来说是一个重大挑战。此外,长时间的操作路径可能导致上下文过于冗长,从而妨碍了有效的指令执行。虽然“导航难题”和“幻觉问题”类别中的很多错误也可能源于提示的设计,但我们将以下情况归类为“提示对齐难题”:
- 智能体未能生成可转化为具体操作的输出,例如,只提供了“思考过程”,却没有相应的“行动指令”;
- 智能体在明知任务尚未完成的情况下,过早地使用了 ANSWER 动作来终止任务(这一点在其回答中已有明确提及)。
6 结论
本文介绍了 WebVoyager,一个基于大语言模型 (LLM) 驱动的用于端到端网页任务解决的智能体。为了评估 WebVoyager 的性能,我们收集了涉及 15 个网站的各种网页任务。我们采用了人工评估和基于 GPT-4V 的自动评估方法,以确保结果的可靠性,并进行了统一的分析。结果显示,WebVoyager 在任务成功率上达到了 55.7%,显示出其巨大潜力,但同时也暴露出需要大幅改进的空间。我们在实验之后对 WebVoyager 的不足之处进行了全面的错误分析。对于未来的发展,我们建议探索更好的视觉信息和文本信息融合方法,并研究基于开源大语言模型 (LLMs) 构建与 WebVoyager 类似的多模态网页智能体。
我们意识到我们的工作存在以下限制:首先,我们还没有支持用户在网络浏览中可能会使用的所有可能动作。例如,网页上的拖动操作。要支持这样的操作非常有挑战性,因为拖动的程度并非固定不变。如果大语言模型(LLM)的视觉定位功能得到进一步提升,我们或许可以让它选择具体的像素值进行拖动。其次,我们的 AI 智能体目前只能通过 OpenAI 的助手 API 来分析 PDF 文件,并不支持其他格式的文件,特别是视频。要支持其他文件格式将需要大量工作,我们认为这是朝着构建类似通用人工智能(AGI)智能体的重要一步。
A Prompt for WebVoyager
图 7 展示了 WebVoyager 的系统提示。这些提示的指导原则具有进一步优化的空间,它们应当是通用的,而不是专门针对特定网站的设计。如果把特定网站的问题包含进系统提示中,可能会影响智能体的通用性。
B Prompt for Auto Evaluation
图 8 展示了使用 GPT-4V 对网络任务进行自动评估的过程。这包括网络任务的指令、任务执行过程中的屏幕截图,以及 WebVoyager 的响应。我们让 GPT-4V 判断任务是成功还是失败。为了降低评估过程中的随机性,我们将“温度”参数设置为 0。
C Additional Trajectories
在我们的实验中,我们展示了 WebVoyager 访问苹果网站并完成任务的完整过程。在这一部分,我们还展示了其它网站成功完成网络任务的过程。每一步都有相应的屏幕截图,以及 WebVoyager 执行的动作。这些网站的具体操作步骤分别在图 9 至 22 中展示。
D Error Cases
在这一部分,我们将展示错误分析章节中提到的四种错误的实际例子。例如,图 23 显示了 WebVoyager 在谷歌航班网站上导航时出现了视觉定位问题。任务是查询 1 月 22 日的单程航班信息,但它错误地选择了 12 月 22 日,并未能正确更正。尽管在第 6 步尝试更改日期,但最终未能实现。另一个例子是图 24,展示了 WebVoyager 在 Allrecipes 网站上导航时遇到的“导航卡住”问题。为了找到正确的食材,智能体需要多次向下滚动屏幕,但在这个过程中出现了迷惘,不确定是向上还是向下滚动。图 25 则展示了 WebVoyager 在 Coursera 网站上遇到的“幻觉”问题。任务是查询“人工智能医疗保健”课程中的测验数量,但智能体只找到了第一模块中的一个测验,这并非完整答案,也未能满足任务要求。在图 26 中,我们看到了 WebVoyager 在浏览 BBC 新闻时遇到的“提示不对齐”问题,智能体未能完全完成任务。它未能完整导航,只是提供了部分答案,并指导我如何找到完整答案,这不符合端到端的要求。
设想一下,你是一个像人类一样浏览网页的机器人,现在你面临一个任务。在每次迭代中,你会接收到一个观察,包括一个网页截图和一些文本。这个截图会在每个网页元素的左上角标上数字标签。你需要仔细分析这些视觉信息,找出哪个网页元素需要互动,并根据数字标签进行操作。然后按照指南,选择下列动作之一:
- 点击网页元素。
- 删除文本框内现有内容,然后输入新内容。
- 向上或向下滚动。
…
对应的操作应该严格按照以下格式进行:
- 点击 [数字_标签]
- 输入 [数字_标签]; [内容]
- 滚动 [数字_标签或 WINDOW]; [向上或向下]
- 等待
- 返回上一页
- 谷歌
- 回答; [内容]
你必须遵循的关键指南:
操作指南
- 在每一步中只执行一个具体的动作。
…
网络浏览的基本指南>
- 避免与网页中的非核心元素(例如登录、注册、捐赠等)进行交互。
…
请按照下列格式回答:
想法:{简要概述你的想法(总结对回答有帮助的信息)}
行动:{选择的行动方式}
接下来,用户将提供:
观察:{用户提供的带标签的截图}
图 7: WebVoyager 系统的操作提示。我们指导智能体进行网页导航,并执行特定的浏览操作及格式。为了提高效率和精准性,我们会在提示中加入一些普遍适用的指导原则。这些原则应广泛适用,而不局限于某个特定的网站。
作为评估员,你需要处理三个主要环节:
-
网络任务指令:这是一条具体明确的指令,用自然语言描述了在线活动的详细内容。这可能包括执行搜索、验证信息、比较价格、查看可用性或其他与特定网络服务(如亚马逊、苹果、ArXiv、BBC 新闻、Booking 等)相关的操作。
-
结果截图:展示了执行网络任务后的结果或中间状态的屏幕图像,作为对指令执行的直观证明。
-
结果回应:是执行网络任务后得到的文本回答,作为对指令的文字性结果。
— 你无需直接与网页互动或执行操作,如预订航班或在网站上搜索。
— 在比较指令和截图时,不要基于截图外的信息做出假设。
— 你的主要任务是细致评估网络任务指令与截图及回应所展现的结果,确保执行的操作符合指令要求。
— 请注意,指令可能包含多个任务,比如定位车库和总结评论。任何任务的遗漏,比如未提供总结,都应视为未完成。
— 截图是真实的,但大语言模型在网页浏览结束后生成的回应可能与截图存在差异。
— 需要注意的是:1)如果结果回应与截图矛盾,以截图为准;2)如果结果回应中的内容没在截图上出现,应相信结果回应的内容。
你应详细说明你的评估过程,并对任务是否成功完成给出明确的结论,判定为“成功完成”或“未成功完成”。
图 8: GPT-4V 自动评估的系统指令展示。
第一步:输入 [15],选择雅加达;第二步:点击 [60];第三步:点击 [63]; 第四步:点击 [99];第五步:向下滚动页面;第六步:向上滚动页面; 第七步:点击 [41];第八步:点击 [54];第九步:提供答案。
第一步:输入 [1],寻找“无处不见”;第二步:页面下滑;第三步:提供答案。
步骤 1: 点击链接 [2],步骤 2: 在搜索框中输入 [0]“金融入门:基础知识” 步骤 3: 再次点击链接 [17] 步骤 4: 接着输入 [2]“西杨”,步骤 5: 查找答案
步骤 1: 点击链接 [16],步骤 2: 接着点击链接 [23] 步骤 3: 下滑页面,步骤 4: 继续下滑,步骤 5: 寻找答案
步骤 1: 点击链接 [5],步骤 2: 输入关键词 [0]“气候变化数据可视化” 步骤 3: 点击链接 [29] 步骤 4: 再次点击链接 [52],步骤 5: 获取答案
步骤 1: 点击链接 [2],步骤 2: 输入目的地 [7]“波士顿洛根机场”,步骤 3: 接着输入 [8]“北站”,步骤 4: 查找路线
步骤 1: 点击链接 [10],步骤 2: 接着点击链接 [12],步骤 3: 输入城市名 [13]“都柏林” 步骤 4: 再输入 [14]“希腊雅典”,步骤 5-11: 通过连续点击链接 [16], [41], [78], [19], [34], [2] 来查找答案
操作步骤 1: 输入“喜剧电影,按用户评级排序”;步骤 2: 点击页面上的某个链接;接下来的步骤 3 和 4: 分别向下滚动页面;步骤 5: 得出答案。
操作步骤 1: 点击页面上的某个链接;步骤 2、3、4、5 和 6: 连续点击不同的链接;最后,步骤 6: 得出答案。
操作步骤 1: 输入一个数学公式;步骤 2: 向下滚动页面;步骤 3: 得出答案。
操作步骤 1: 点击页面上的某个链接;步骤 2、3、4、5 和 6: 接连点击不同的链接;最后,步骤 6: 得出答案。
步骤 1: 下滑 页面 步骤 2: 继续下滑 步骤 3: 继续下滑 步骤 4: 上滑 步骤 5: 再上滑 步骤 6: 下滑
步骤 1: 点击 [2] 步骤 2: 输入 [0];涉及医疗保健的人工智能 步骤 3: 点击 [17] 步骤 4: 点击 [13] 步骤 5: 点击 [8] 步骤 6: 提供答案
步骤 1: 点击 [44] 步骤 2: 点击 [24] 步骤 3: 提供答案