网络智能体旨在让一切基于网络功能的任务自动发生。比如你告诉智能体你的预算,它可以帮你预订酒店。既拥有海量常识,又能做长期规划的大语言模型(LLM),自然成为了智能体常用的基础模块。
于是上下文学习示例、任务技巧、多智能体协同、强化学习算法…… 一切适用于通用智能体的想法都抢着在大模型落地。
然而有一个问题始终横亘在 LLM 和智能体之间:基于 LLM 的网络智能体的行动 / 观测空间与 LLM 训练数据的空间相去甚远。
智能体在充斥着具身行为的行动空间(如鼠标悬停、键盘组合键)和遍布前端功能强化、格式渲染的观测空间下运作,大语言模型的理解和推理能力能充分发挥作用吗?尤其是大语言模型的主要训练任务是文本补全、问答和对齐人类偏好,这一点值得思考。
来自伊利诺伊大学香槟分校和亚马逊的研究人员选择和这些问题进一步对话。他们去除了上下文示例、技巧、多智能体系统,仅仅通过行动 / 观测空间与 LLM 的训练任务对齐。他们训练的 AgentOccam 成为了零样本基于 LLM 的网络智能体新 Sota。
帮你写email
帮你找导师
这正呼应了奥卡姆剃刀原则:「若无必要,勿增实体」。然而换个思考的角度,AgentOccam 的研究团队也想发问:构建通用智能体时,在铺设复杂的系统框架前,是否已经优化了行动 / 观测空间,让这些功能模块达到了最优状态?
-
论文链接:https://arxiv.org/abs/2410.13825
-
论文名:AgentOccam: A Simple Yet Strong Baseline for LLM-Based Web Agents
背景及动机
某天你刷着短视频,看中了主播手中拿着的商品。于是,你兴致勃勃地对智能助手说:「我是学生,让这个老板送我一张优惠券!」
随后,智能体申请了你的私人账号权限、后台私信商家、绘声绘色地写下「我是学生」,发送消息,一套动作无需人为干预,行云流水…一切这样的任务,再也不必动手,都有智能体代劳。
大语言模型是构建智能体的热门选择。过去,基于 LLM 的网络智能体通常专注于让智能体学会某种应用,比如构建上下文学习样本、积累任务经验与技巧、以及多智能体角色扮演等等。然而,在实际交互中,智能体的行动 / 观测空间与 LLM 的技能点不太匹配,这之间的差距却少有人研究。
于是,针对如何对齐基于 LLM 的网络智能体的观测和行动空间与其训练期间学到的功能,来自伊利诺伊大学香槟分校和亚马逊的研究人员们展开了研究。
网络智能体需要准确地从格式各异、编码脚本不一的网页中提取信息,并在网页上定义的动作(例如,鼠标滑轮滚动、点击或悬停在按钮上)中进行选择。这些网络观测和行动空间在 LLM 的预训练和后续训练数据中都较为罕见,这阻碍了 LLM 充分调动潜能,完成任务。
因此,基于不让智能体策略变得更复杂,而是让智能体与 LLM 更加匹配的想法,由此构建的智能体得名 AgentOccam。
形式化与方法
该团队通过部分可观测的马尔可夫决策过程(POMDP),将网络交互过程形式化为:<O,S,A,P,R,p_0,γ>。
在 POMDP 中,观测 o∈O 是智能体从网络环境接收到的信息,例如 HTML,以及任何指令和提示。行动 a∈A 是网络环境认可的动作指令。
为解决 POMDP,常见目标是寻找策略,最大化预期累积奖励,其中 h_t 表示观测历史
。
在基于 LLM 的网络智能体设计中,这等价于借助一个或多个基础 LLM 策略
和一组算法模块来设计策略。
在这项工作中,该团队专注于一类特殊的策略,可以表示为:,其中 f 和 g 是处理观测和行动空间的基于规则的函数,该团队将其称为**「观测和行动空间对齐问题」**。
在这样的问题设置下,接下来的所有更改仅应用于观测和行动。值得注意的是,并非所有以往方法中的智能体策略都能以这种方式表示。
例如上表中,基于搜索的算法需要一个顶层控制程序来选择行动并触发回溯;带有评估器、反思或记忆模块的方法也需要一个管理中心来在主 LLM 和这些辅助模块或其他角色扮演 LLM 之间切换。
不同于以往复杂化智能体策略,我们能否仅通过优化观测和行动映射 f 和 g,使用基础 LLM 策略 构建一个强大的网络智能体?这是 AgentOccam 关注的问题。
如上图所示,AgentOccam 包括三个组成部分:
-
首先,减少非必要的网络交互动作,让智能体的具身和琐碎互动需求达到最小;
-
其次,消除冗余和不相关的网页元素,并重构网页内容块,以获取更简洁但同样信息丰富的表示,从而精炼观察空间;
-
最后,引入两个规划动作(分支和修剪),这使得智能体能够以规划树结构自组织导航工作流,并使用相同结构过滤历史步以进行回放。
整个框架通过一套适用于所有标记语言的通用规则来格式化网页,无需依赖测试基准中的任务相关信息。
网络智能体的行动空间规定了可以用来与网络环境交互的有效命令。
研究团队从智能体常见的失败中得出总结:想要成功完成任务,需要编辑行动空间来解决两个关键问题:第一,去除 LLM 难以理解且经常误用的无关行动;第二,当执行任务需要规划、尝试多个潜在路径时,要提高智能体的记忆和规划能力。
为此,该团队提出了对应的解决方法。第一个问题可以通过简单地移除或合并操作来解决(如上图中的步骤 1 和 2)。对于第二个问题,过去的研究通常依赖人工制定规则或任务技巧,但这些方法难以泛化。在本研究中,LLM 将自主生成计划和管理任务流程(如步骤 3 所示)。
AgentOccam 的观测空间(提示词)包含了任务概述的通用指令、期望的输出和可用操作说明,以及关于当前任务目标、智能体过去的交互记录和最新的观察信息。
过往互动和当前观测的部分占据了最多的字符数。这主要归因于两个因素:单页面的长度和历史跨度的范围,这是 AgentOccam 观测空间的主要优化对象。
网页标记语言主要用于前端加载和渲染,往往包含大量格式化字符,显得冗余且重复(如上图步骤 1 所示)。因此,此时的目标是优化这些表示方式,使得单页内容对 LLMs 更加简洁易读。
将观测历史作为输入,对于执行长程任务至关重要。因为一些关键信息可能不会显示在当前页面上。然而,观测历史也会显著增加上下文长度,并增加推理难度以及推断成本。
为了解决这个问题,设置仅选择先前网页上最重要和相关的信息,这一选择依据两个规则,分别基于关键节点和规划树,见于步骤 2 和 3。
结果
研究团队在 WebArena 上评估了 AgentOccam 性能。WebArena 含有 812 项任务,横跨网购、社交网站、软件开发、在线商贸管理、地图等。
测试对象为 AgentOccam 框架下的 GPT-4-Turbo。对比的基线包括:一、WebArena 随配智能体,二、SteP,前 WebArena 上最优智能体,涵盖 14 条人类专为 WebArena 任务编写的技巧,三、多智能体协同方法 WebPilot;四、总结智能体交互经验的工作 AWM。
从上表不难看出,AgentOccam 性能优于以往及同期工作。其中,AgentOccam 分别以 9.8(+29.4%)和 5.9(+15.8%)的绝对分数领先往期和同期工作,并且通过其观测与行动空间的对齐,使得相似的基本网络智能体的成功率提高了 26.6 点(+161%)。
消融实验
逐模块对比行动与观测空间的对齐对最终结果的贡献。从下表可以看出,行动空间对齐能使智能体完成更多 click、type 等引导环境变化的动作,观测空间对齐则减少大模型调用的字符数与智能体完成任务所需的步数。
LLM-as-a-Judge
研究团队发现,智能体的决策行为波动性很强。简而言之,面对一个目标,智能体有一定概率做出正确的行为决断,但由于 token 预测的随机性,它可能做出一些高成本、低回报的决定。这也导致它在后续步骤中难以纠正之前的错误而失败。
例如,要求智能体在某个最相关的话题下发布帖子,单次 LLM 调用的 AgentOccam 往往轻率地选择话题,未考虑「最相关」的要求。
为了解决此类问题,他们引导 AgentOccam 生成单步内所有可能的行动,这系列行动将交付另一个 Judge 智能体(同样调用 GPT-4-turbo)决断,做出最大化回报的选择。
与复合策略结合使用
复合策略中,与任务相关的经验可以提升智能体性能。同时,不因为加入了更多背景知识扰乱决策,不会影响泛化性,能够纠正错误行为模式。
由于行为 / 观测空间对齐和复合策略方法正交,因此能结合利用。该团队试验将 AgentOccam 与 1)SteP 和 2)上述的 LLM-as-a-Judge 方法联合使用。
对于和前 SOTA 方法 SteP 联合,由于它引入人类编写的 WebArena 任务攻略,在经验密集型任务,如购物网页任务中,人类撰写的引导性经验大幅提升任务成功率。
而在常识泛化密集型任务,如社交网页发帖任务中,不相关知识出现会错误扰乱智能体决策。对于 LLM-as-a-Judge 方法,Judge 角色的引入不影响智能体的泛化性,同时纠正了智能体仓促决策的错误行为模式,在 WebArena 上进一步提升 2.6 的绝对分数。
如何学习大模型 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 的正确特征了。