Agentic AI:创建可以浏览互联网的 AI 代理

2024年07月22日 由 alex 发表 104 0

3


简介

考虑到 OpenAI,GPT-4o 和 GPT-4 Turbo 模型都具有视觉功能。因此,这些模型可以摄取图像,并根据图像上的内容回答问题。


语言模型(LM)过去只能接收文本,因此输入模式单一。


但是,除了向基础模型(FM)提供图像供其摄取和描述外,还可以使用代理应用程序或代理人工智能来即时注释网页,并浏览网页以获得答案。


WebVoyager

WebVoyager 是一款人工智能代理应用程序,它基于最近一项名为 WebVoyager 的研究: 利用大型多模态模型构建端到端网络代理。


WebVoyager 是一个具有视觉功能的网络浏览代理,可以控制鼠标和键盘。它通过分析每一步的浏览器屏幕截图来确定下一步的操作。


该代理采用基本的推理和行动(ReAct)循环架构。其独特功能包括:

  • 使用类似于 Set-of-Marks 的图像注释作为用户界面能力。
  • 在浏览器环境中应用,利用工具控制鼠标和键盘。


现实世界场景中的自主应用

人工智能代理(AI Agents),也称为代理应用程序(Agentic Applications),在模式方面受到限制,只能基于文本。因此,代理可以访问一些工具,例如数学库、基于文本的网络搜索、一个或多个 API 调用,仅此而已。


因此,目前的代理可以访问网络工具,但通常只能处理一种输入模式(文本),而且只能在简化的网络模拟器或静态网络快照中进行评估。


WebVoyager 是一个创新的大型多模态模型(LMM)驱动的网络代理,旨在通过与真实世界的网站交互来完成端到端的用户指令。


例如,有人向 WebVoyager 提出了这样一个问题: Could you check google maps to see when i should leave to get to SFO by 7 o’clock? starting from SF downtown


下面是 Python 代码的示例,以及带注释的截图...


res = await call_agent(await call_agent(
    "Could you check google maps to see when i should leave to get to SFO by 7 o'clock? starting from SF downtown.",
    page,
)
print(f"Final response: {res}")


4


利用多模式理解能力

最近的研究探索了如何构建基于文本的网络浏览环境,以及如何指导大型语言模型代理执行网络导航。


这一新的发展侧重于构建多模态网络代理,以利用浏览器通过屏幕截图呈现的环境,从而模仿人类的网络浏览行为。


WebVoyager 是一种多模态网络人工智能代理,旨在自主完成自始至终的在线网络任务,端到端管理整个过程,无需任何中间人工干预。


WebVoyager 通过观察交互式网页元素中的屏幕截图和文本内容来处理用户查询,并就应采取的行动形成想法。


操作包括点击、输入、滚动等。随后在网站上执行该操作。


下图显示了代理根据网页导航中的注释截图所遵循的事件顺序。


5


观察空间

与人类浏览网页的方式类似,该代理使用来自网页的视觉信息(屏幕截图)作为主要输入。


这种方法绕过了处理 HTML DOM 树或可访问性树的复杂性,因为它们会产生过于冗长的文本,阻碍代理的决策过程。


与苹果公司在 Ferret-UI 中采用的方法非常相似,研究人员在网站的交互式元素上叠加了边界框,以更好地指导代理的行动预测。


这种方法不需要对象检测模块,而是使用 GPT-4V-ACT5(一种 JavaScript 工具,可根据网页元素类型提取互动元素,并在相应区域叠加带有数字标签的边界框)。


GPT-4V-ACT5 基于规则,不依赖任何对象检测模型,因此非常高效。


动作空间

WebVoyager 的动作空间旨在密切模仿人类的网页浏览行为。这是通过实现最常用的鼠标和键盘操作来实现的,从而使代理能够有效地进行导航。


使用屏幕截图中的数字标签,代理可使用简明的 “操作格式 ”做出响应。这种方法可以精确识别交互元素,并执行相应的操作。


主要操作包括:

1. 点击: 点击网页元素,如链接或按钮。

2. 输入:选择文本框、清除任何现有内容并输入新内容。

3. 滚动:垂直移动网页。

4. 等待:暂停网页加载。

5. 后退:返回上一页。

6. 跳转到搜索引擎: 在网站上找不到答案时跳转到搜索引擎。

7. 回答: 通过提供符合任务要求的答案来结束迭代。


这些操作使代理能够有效地与网页进行交互,模拟出类似人类的浏览体验。


以下是在线网页浏览的完整轨迹截图


6


任务:

搜索 Apple 的 iPad 配件 Smart Folio,并查看邮编 90038 旁最近的提货可用性。


流程:

初始搜索: 代理导航到 Apple 网站,使用搜索功能查找 “iPad 的 Smart Folio”。


产品选择: 代理点击相应的搜索结果,打开产品页面。


检查可用性: 代理输入邮政编码 “90038”,查看最近的提货时间。


结果: 代理确定 “Apple Tower Theatre ”为最近的取货地点。


见解:

直接交互: 完成任务需要与网站进行直接交互。


多模态必要性: 文字和视觉输入对于该代理有效发挥通用网络代理的功能至关重要。


互动元素的挑战: 由于导航和与各种组件交互的复杂性增加,交互元素较多的网站会给代理带来更大的挑战。


多模态的必要性: 文本和视觉输入对于代理有效发挥通用网络代理的功能至关重要。


棘手元素的挑战: 由于导航和与各种组件交互的复杂性增加,具有更多交互元素的网站会给代理带来更大的挑战。


WebVoyager 处理这项任务的能力凸显了它在自主执行复杂的网络导航和交互任务方面的能力,利用视觉和文本信息实现准确高效的结果。


结论

WebVoyager 是一款由大型多模态模型(LMM)驱动的创新型网络代理,旨在通过与网站的交互,端到端地完成现实世界中的网络任务。


评估结果表明,WebVoyager 通过有效利用视觉和文本信号,其性能优于几种基线。


这项研究展示了利用先进的 LMM 功能来构建智能网络代理的前景。WebVoyager 的目标是为未来的研究奠定坚实的基础,从而开发出功能更全面、能力更强的网络助手。


WebVoyager 的系统提示。我们指示代理执行网络导航,以及特定的浏览操作和操作格式。为了提高效率和准确性,我们可以在提示中加入更多的一般性内容。为了确保通用性,这些指导原则应该是通用的,而不是针对某个特定网站。


Imagine you are a robot browsing the web, just like humans. Now you need to complete a task. In each iteration, you will receive an Observation that includes a screenshot of a webpage and some texts. This screenshot will feature Numerical Labels placed in the TOP LEFT corner of each Web Element. Carefully analyze the visual information to identify the Numerical Label corresponding to the Web Element that requires interaction, then follow the guidelines and choose one of the following actions:
1. Click a Web Element.
2. Delete existing content in a textbox and then type content. 3. Scroll up or down.
...
Correspondingly, Action should STRICTLY follow the format: - Click [Numerical_Label]
- Type [Numerical_Label]; [Content]
- Scroll [Numerical_Label or WINDOW]; [up or down]
- Wait
- GoBack
- Google
- ANSWER; [content]
Key Guidelines You MUST follow:
* Action guidelines *
1) Execute only one action per iteration.
...
* Web Browsing Guidelines *
1) Don't interact with useless web elements like Login, Sign-in, donation that appear in Webpages.
...
Your reply should strictly follow the format:
Thought: {Your brief thoughts (briefly summarize the info that will help ANSWER)} Action: {One Action format you choose}
Then the User will provide:
Observation: {A labeled screenshot Given by User}


文章来源:https://medium.com/@cobusgreyling/agentic-ai-creating-an-ai-agent-which-can-navigate-the-internet-655fe5596a0c
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
写评论取消
回复取消