
Agent工作流记忆 - 让AI助手更聪明地完成复杂任务
在AWM中,工作流(Workflow)是指完成某个任务或子任务的一系列步骤。工作流描述(Workflow Description): 一段简短的文本,描述这个工作流的目标或功能。工作流轨迹(Workflow Trajectory): 一系列具体的步骤,包括观察环境、推理和执行动作。
今天我要跟大家分享一篇很有意思的论文,题目是《Agent Workflow Memory》,也就是"Agent工作流记忆"。这篇论文提出了一种新方法,让AI助手(我们称之为Agent)能更好地完成复杂的网页任务。
背景:AI助手的挑战
首先,我们来聊聊这个研究的背景。现在的AI技术已经非常强大了,特别是像GPT这样的大语言模型(LLM),它们可以进行对话、回答问题,甚至可以帮我们完成一些简单的任务。但是,当面对复杂的、需要多个步骤才能完成的任务时,AI助手还是会遇到不少困难。
举个例子,假设我们让AI助手帮我们在网上订一张从北京到上海的机票。这个任务看似简单,但实际上涉及很多步骤:
-
打开航空公司网站
-
选择出发地和目的地
-
选择日期
-
筛选合适的航班
-
填写乘客信息
-
选择座位
-
支付订单
对于人类来说,我们可能已经订过很多次机票了,这些步骤我们烂熟于心。但对AI助手来说,每次执行这样的任务都像是全新的体验。它可能会在某些步骤卡住,或者忘记了重要的步骤。
研究人员发现,现有的AI助手主要有两个问题:
-
缺乏可重用的工作流程:AI助手无法像人类那样,从过去的经验中提取出通用的工作流程,并在新任务中灵活运用。
-
无法从失败中学习:每次执行任务时,AI助手都是从头开始,无法利用之前成功或失败的经验来改进自己的表现。
研究目标:让AI助手更聪明
基于这些挑战,研究者提出了一个非常有趣的想法:能不能让AI助手也像人类一样,能够学习、记忆和使用工作流程呢?
这就是本篇论文的核心目标:开发一种方法,让AI助手能够从过去的经验中提取出可重用的工作流程,并在未来的任务中灵活运用这些工作流程。
研究者们希望通过这种方法,AI助手可以:
-
更高效地完成复杂任务
-
在不同的网站和领域之间更好地泛化
-
随着经验的积累不断提升自己的能力
那么他们是如何实现这个目标的呢?这就要说到本文的核心方法了:Agent Workflow Memory(AWM),也就是"Agent工作流记忆"。
AWM的核心思想:工作流记忆
Agent Workflow Memory (AWM)的核心思想是让AI助手能够像人类一样,从过去的经验中学习、记忆和使用工作流程。但什么是"工作流"呢?让我们先来理解这个概念。
什么是工作流?
在AWM中,工作流(Workflow)是指完成某个任务或子任务的一系列步骤。它包含两个主要部分:
-
工作流描述(Workflow Description): 一段简短的文本,描述这个工作流的目标或功能。
-
工作流轨迹(Workflow Trajectory): 一系列具体的步骤,包括观察环境、推理和执行动作。
举个例子,假设我们有一个"搜索产品"的工作流,它可能看起来像这样:
## 工作流描述: 在电商网站搜索特定产品 工作流轨迹: 1. [观察] 当前页面显示搜索框 2. [推理] 我需要在搜索框中输入产品名称 3. [动作] 在搜索框中输入"{产品名称}" 4. [观察] 搜索结果页面加载完成 5. [推理] 我需要查看搜索结果并选择最相关的产品 6. [动作] 点击最相关的产品链接
这个工作流描述了在电商网站搜索产品的通用步骤,可以适用于多种不同的产品和网站。
AWM的工作原理
现在我们了解了工作流的概念,让我们来看看AWM是如何工作的。AWM的核心流程包括三个主要步骤:
-
工作流提取(Workflow Induction)
-
工作流整合(Workflow Integration)
-
工作流使用(Workflow Utilization)
让我们逐一详细了解这些步骤。
1. 工作流提取 (Workflow Induction)
在这个步骤中,AWM会从AI助手过去执行任务的经验中提取出可重用的工作流。这个过程可以通过两种方式进行:
a) 基于规则的提取: 使用预定义的规则来识别和提取常见的行为模式。b) 基于语言模型的提取: 使用大型语言模型(如GPT)来分析和总结任务执行过程,生成抽象的工作流。
研究者发现,基于语言模型的提取方法通常能产生更抽象、更通用的工作流,因此在实验中表现更好。
工作流提取(Workflow Induction)是AWM方法的核心步骤之一,论文中详细描述了两种主要的实现方式:基于规则的方法和基于语言模型的方法。我们来深入了解一下这两种方法的具体实现细节。
1. 基于规则的方法(Rule-based Induction)
基于规则的方法主要包括两个步骤:经验去重和无效动作过滤。
1.1 经验去重
目的:从多个相似的任务执行经验中提取出独特的工作流。
实现步骤:
- 提取动作序列:
- 例如,从轨迹
CLICK('12') → CLICK('30') → TYPE('44', "cat")
中提取出CLICK → CLICK → TYPE
。
- 按动作序列分组:
- 将具有相同动作序列的经验分到一组。
- 随机选择:
- 从每组中随机选择n个经验(默认n=1)作为该组的代表。
- (针对WebArena)额外的模板去重:
-
如果有任务模板信息,再按模板分组。
-
从每个模板组中随机选择n个经验(默认n=1)。
1.2 无效动作过滤
目的:移除无法在环境中成功执行的动作步骤。
实现步骤:
- 设定规则:
- 例如,CLICK和TYPE动作的第一个参数必须是字符串格式的整数(代表环境中元素的ID)。
- 应用规则:
-
遍历每个动作,检查是否符合规则。
-
移除不符合规则的动作。
- 生成最终工作流:
- 保留经过过滤后的有效动作序列作为工作流。
示例:输入轨迹:CLICK(12) → CLICK('12') → CLICK('30') → TYPE(44, "cat") → TYPE('44', "cat")
输出工作流:CLICK('12') → CLICK('30') → TYPE('44', "cat")
2. 基于语言模型的方法(LM-based Induction)
基于语言模型的方法利用大型语言模型(如GPT)来生成更抽象、更通用的工作流。
2.1 提示工程(Prompt Engineering)
研究者设计了特殊的提示模板,引导语言模型从给定的任务经验中提取工作流。
提示模板的关键点:
-
任务描述:要求模型从给定的网页导航任务列表中提取常见工作流。
-
输入格式说明:每个任务包含一个自然语言指令和一系列解决任务的动作。
-
输出要求:
-
找出多个任务中重复出现的动作子集。
-
将每个重复子集提取为一个工作流。
-
每个工作流应该是常用的子例程,至少包含两个步骤。
-
使用描述性变量名代替具体的输入文本或按钮字符串。
Given a list of web navigation tasks, your task is to extract the common workflows. Each given task contains a natural language instruction, and a series of actions to solve the task. You need to find the repetitive subset of actions across multiple tasks, and extract each of them out as a workflow. Each workflow should be a commonly reused sub-routine of the tasks. Do not generate similar or overlapping workflows. Each workflow should have at least two steps. Represent the non-fixed elements (input text, button strings) with descriptive variable names as shown in the example.
2.2 工作流生成
语言模型基于提供的任务经验和提示,生成抽象的工作流。
生成的工作流通常包含:
-
工作流描述:简要说明工作流的目标或功能。
-
工作流轨迹:包含多个步骤,每个步骤包括:
-
环境描述:当前网页状态的文本描述。
-
推理过程:解释为什么要执行下一步动作。
-
具体动作:可执行的程序化动作。
示例工作流:
## 在电商网站搜索产品 工作流描述:此工作流用于在电商网站上搜索特定产品。 工作流轨迹: [环境描述] 当前页面显示搜索框。 [推理] 我需要在搜索框中输入产品名称。 [动作] fill('搜索框ID', '{产品名称}') [环境描述] 搜索结果页面已加载。 [推理] 我需要点击最相关的产品链接。 [动作] click('{最相关产品链接ID}')
3. 两种方法的比较
研究者发现,基于语言模型的方法通常能产生更好的结果:
-
更抽象:生成的工作流更容易泛化到不同的任务和网站。
-
更细粒度:能够捕捉到更精细的操作模式。
-
更灵活:可以根据上下文生成适应性更强的工作流。
然而,基于规则的方法也有其优势:
-
计算效率高:不需要大型语言模型,处理速度更快。
-
确定性:结果更可预测,便于调试和优化。
在实际应用中,研究者主要使用基于语言模型的方法,因为它能产生更高质量、更通用的工作流,从而在各种测试场景中取得更好的性能。
通过这种精心设计的工作流提取过程,AWM能够从AI助手的历史经验中学习到有用的操作模式,这些模式后续可以被用来指导AI助手更有效地完成新的任务。这就是AWM方法效果显著的关键所在。
2. 工作流整合 (Workflow Integration)
一旦提取出工作流,AWM会将这些工作流整合到AI助手的记忆中。这个过程就像是给AI助手一本"操作手册",里面包含了各种常见任务的执行步骤。
3. 工作流使用 (Workflow Utilization)
当AI助手面对新任务时,它会先查阅自己的"操作手册",看看有没有适用的工作流。如果找到了相关的工作流,AI助手就会参考这个工作流来执行任务,而不是从零开始摸索。
AWM的两种工作模式
AWM有两种主要的工作模式:离线模式(Offline)和在线模式(Online)。
- 离线模式(AWM Offline):
-
在任务执行之前,使用已有的训练数据来提取工作流。
-
适用于有大量高质量训练数据的场景。
-
优点是可以提前准备好工作流,执行任务时更快。
- 在线模式(AWM Online):
-
在执行任务的过程中实时提取和使用工作流。
-
适用于没有现成训练数据,或者任务环境经常变化的场景。
-
优点是可以不断学习和适应新的任务环境。
这两种模式各有优势,研究者在不同的实验场景中都进行了测试。
到这里,我们已经对AWM的核心思想和工作原理有了基本的了解。在下一部分,我们将看看研究者是如何评估AWM的效果的,以及它在实际任务中表现如何。
AWM的实验评估
研究者们为了全面测试AWM的效果,选择了两个主要的网页导航基准测试:WebArena和Mind2Web。这两个测试集涵盖了各种不同类型的网页任务,从简单的信息查找到复杂的多步骤操作都有。让我们来看看AWM在这些测试中的表现。
WebArena测试
## shopping: Browse Products in a Specific Category To browse products in a specific category, I need to navigate to the relevant main category. I will start by hovering over the main category menu item to reveal the subcategories. hover(’main category id’) To browse products in the specific subcategory, I need to click on the subcategory link. click(’subcategory id’)
WebArena是一个包含812个网页导航任务的测试集,涉及5个不同的网站,包括电子商务、社交论坛、软件开发协作平台和内容管理系统等。这个测试的特点是它可以严格评估AI助手执行任务的功能正确性。
实验设置
研究者使用了GPT-4作为基础模型,采用AWM的在线模式(AWM Online)进行测试。这意味着AI助手在执行测试任务的过程中,会不断学习和使用新的工作流。
主要结果
- 整体成功率:
-
AWM: 35.5%
-
基准方法(BrowserGym): 23.5%
-
相对提升: 51.1%
- 平均步骤数:
-
AWM: 5.9步
-
基准方法: 7.9步
这些结果表明,AWM不仅显著提高了任务完成的成功率,还减少了完成任务所需的步骤数,使AI助手的操作更加高效。
跨模板泛化能力
研究者还专门测试了AWM在不同任务模板之间的泛化能力。结果显示,即使面对全新的任务类型,AWM仍然保持了较高的成功率(33.2%),远超基准方法(20.5%)。
Mind2Web测试
# travel: enter flight locations Given that you are on the flight booking page, this workflow enters the departure and destination city/airport for your flight. [link] From Departure Airport or City Your Origin − > CLICK [textbox] Origin City or Airport − > TYPE: {your-origin-city} [link] {best-popup-option} − > CLICK [link] To Destination Airport or City Your Destination − > CLICK [textbox] Destination City or Airport − > TYPE: {your-destination-city} [link] {best-popup-option} − > CLICK
Mind2Web是另一个重要的测试集,它强调了跨任务、跨网站和跨领域的泛化能力。这个测试集包含了1000多个任务,涉及200多个不同的网站和多个领域(如旅行、购物、社交媒体等)。
实验设置
研究者在Mind2Web上同时测试了AWM的离线模式(AWM Offline)和在线模式(AWM Online)。
主要结果
- 跨任务测试:
-
AWM Offline (GPT-4): 45.1% 步骤成功率
-
基准方法(MindAct): 36.2% 步骤成功率
-
相对提升: 24.6%
- 跨网站测试:
-
AWM Online: 33.9% 步骤成功率
-
基准方法: 30.1% 步骤成功率
-
绝对提升: 3.8个百分点
- 跨领域测试:
-
AWM Online: 35.5% 步骤成功率
-
基准方法: 18.6% 步骤成功率
-
绝对提升: 16.9个百分点
这些结果清楚地表明,AWM在各种不同的场景下都能显著提升AI助手的表现,特别是在跨领域的任务中,improvement非常显著。
结果分析
通过这些实验,我们可以得出以下几个重要的结论:
-
显著提升性能: AWM无论在哪种测试场景下,都能显著提升AI助手的任务完成能力。
-
更高效的执行: 使用AWM的AI助手通常能用更少的步骤完成任务,这说明它学会了更有效的操作方式。
-
强大的泛化能力: AWM展现出了优秀的跨任务、跨网站和跨领域泛化能力,这意味着它学到的工作流具有广泛的适用性。
-
在线学习的优势: 在一些场景下,特别是面对全新的领域时,AWM的在线模式表现得更好,说明实时学习和适应的能力非常重要。
-
基础模型的重要性: 实验结果显示,使用更强大的基础模型(如从GPT-3.5升级到GPT-4)可以进一步提升AWM的效果。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
更多推荐
所有评论(0)