今天小编分享的科学经验:一次示范让Agent适应各种新环境,浙大杭电智能体框架入选NeurIPS,欢迎阅读。
只需一次人类示范,就能让智能体适应新环境?
来自杭州电子科技大学和浙江大学的研究者,提出了一套新的智能体框架AutoManual。
该研究有效解决了智能体过度依赖人类专家提供的知识,难以自主适应新环境的问题。
通过模仿人类认识世界 " 记笔记 " 的过程,AutoManual 可以让智能体执行任务成功率高达97%。
不仅如此,智能体在过程中学习的经验还可以供人类阅读,甚至给其他智能体提供规划指导。
现有智能体对人类依赖较大
目前,基于大语言模型的智能体(LLM Agents)展现出强大的潜力,能够自主完成各个领網域的任务,如机器人规划、游戏角色控制与网站导航。
△AgentBench: Evaluating LLMs as Agents.Xiao Liu ( THU ) et al. arXiv.
然而,这些智能体往往是为特定环境和特定任务设计的。
如果我们分析一个 LLM Agent 的系统提示词(System Prompts),会发现它通常由这五个部分组成:
角色描述;
可供使用的动作函数;
输出格式;
额外指示或要求;
人类专家的示例。
对于新的环境,其中的前三项可以根据新环境对已有模板做调整后很快速地定义好;
但对于后两项提示词,会需要人工汇总环境知识,并不断调试这些提示,以及准备多个人类专家示例,才能使 LLM Agent 在新环境中顺畅运行。
那么,是否能让智能体自己从环境互動中学习这些知识呢?
已有的一些工作使用自我反思 self-reflection 或技能库 skill library,来让智能体在互動中自我提升,部分缓解了对人工的依赖。
然而,这些反思和技能并没有用于对环境形成深入的理解,即理解环境的知识或机制。
因此,直接使用经验中的技能来作为大模型的上下文示例,容易形成路径依赖。
从人类认识世界过程获得灵感
AutoManual 框架有效地解决这一难题,其研究者从人类认识世界的过程中获取了灵感——
当面对陌生的环境时,人类会通过探索发现、记录与更新自身的理解来逐渐认识到新环境的规律;
而且,人类可以将自己的理解整理出来,以文本的方式传授给他人。
AutoManual 就效仿了这种过程来记录和更新 LLM Agent 对环境的理解。
最终,AutoManual 框架将生成的一本指导手册,不仅可以提高智能体对新环境的适应性,还可以为较小的模型的规划提供指导,并且易于人类阅读。
仅需一个人类演示,AutoManual 便在机器人规划环境 ALFWorld 将智能体的成功率提高到97%,在网站导航环境 MiniWoB++ 上的任务成功率则达到98%。
具体来说,AutoManual 框架整体由三个阶段组成:
Building 阶段:Planner Agent 与 Builder Agent 合作从环境的互動中构建出一系列的规则。当规则超过最大限制时,Consolidator Agent 将合并或删除冗余的规则;
Formulating 阶段:Formulator Agent 将规则制定成一个 Markdown 格式的指导手册;
Testing 阶段:将指导手册提供给测试时的 Planner Agent,来评估效果。
△AutoManual 框架总览
首先在 Building 阶段,研究者受在线强化学习的启发,使用了两个交替的迭代过程来构建环境规则:
基于当前规则,Planner Agent 与环境进行一轮互動;
Builder Agent 根据该互動轨迹使用规则系统来更新规则。
与传统强化学习相比,基于文本的规则管理取代了样本效率低下的参数优化。
具体而言,对于 Planner Agent,研究者采用 Python 代码来表示的可执行的计划,这是因为已有工作表明使用代码作为输出能有效提升 LLM Agent 效果。
在每一轮的开始,Planner 的输入为目前已知的规则,技能库或反思库中相关的案例,当前的任务与初始观测。
而每次 Planner 的输出分为四个部分:
对当前观测的分析;
相关规则的解读;
总体计划;
一个划分为多个步骤的 Python 代码块。
然后,代码将在环境中执行,并得到反馈与新的观察结果。
在这一整轮结束时,根据任务是否成功,结果可以分为三种情况:Direct Success、Indirect Success(发生错误但稍后解决)和 Failure。
对于不同情况,提示 Planner 相应地汇总技能代码或反思,而这些技能和反思会存入技能库或反思库来辅助后续的任务完成。
△Planner Agent 与环境进行互動形成 Trajectory 的过程
对于 Builder Agent,其将根据 Planner 这轮的轨迹,使用规则系统的工具函数来编写和更新规则。
为了促进规则管理,研究者引入了一个结构化的规则系统,规则系统中的每个规则都具有以下四个属性:
规则的类型(分为了 6 种规则);
规则的内容;
规则的示例;
验证日志。
然而,研究者发现 Builder Agent 在面对这种结构化的规则系统时,有时候会出现幻觉,例如从失败的轨迹中得出成功经验的规则。
为了降低错误创建规则的风险,研究者对 Builder 采用了case-conditioned prompting 策略:
Builder 首先需要分析并确定主要错误的来源为 "Imperfect Rules" 或 "Imperfect Agents",然后相应的针对性的提示会指导 Builder 进行规则管理。
△Case-Conditioned Prompting 策略示例
在 Building 阶段结束后,Formulating 阶段的目标是增强规则的可读性和全局理解。
因此,作者选择引入 Formulator Agent 对规则自动进行分类,总结每类的关键点,并以 Markdown 的格式将它们制定成一本指导手册。
只需一个人类示例
为了测试 AutoManual 框架的效果,研究团队在三个知名的互動式环境中进行了实验:
ALFWorld,一个家用机器人的虚拟环境,提供了基于文本的互動方式;
MiniWoB++,一个模拟 Web 环境,智能体通过执行键盘和滑鼠操作在网页上完成各种任务;
WebArena,一个逼真的 Web 环境,复制了现实的 Reddit 网站的功能和数据。
在 Building 和 Formulating 阶段,所有 Agent 都配备了 GPT-4-turbo (gpt-4-1106-preview)。
在 Testing 阶段,Planner Agent 将配备 GPT-4-turbo 或 GPT-3.5-turbo,来评估生成的手册是否可以指导较小的模型。
从 ALFWorld 任务的结果中可以看出,AutoManual 需要很少的环境相关的专家先验知识,只提供一个人类示例即可获得十分出色的结果。
而对于另外两个 Web 环境的结果,也可以得出相同的结论。
此外,AutoManual 生成的 Markdown 手册对人类阅读也很友好。
通过分析 AutoManual 生成的手册,可以看到其发现了许多有意思的环境规则。
比如在 rule_2,类型为 "Special Phenomena" 的规则中说:
当使用微波炉时,即使里面有另一个物体,智能体拿着什么东西,并且没有明确提到微波门是打开的,智能体也可以与它互动(例如,加热一个物体)。然后其举了一个例子,是在 epoch_1 中的经历。
还有在 rule_3 中说:
Agent 一次只能持有一个物体,并且必须在拿走另一个物体之前放下任何持有的物体。
因此,AutoManual 通过更深入地挖掘机制、更新和整合成功流程以及注释重要细节来解决只使用技能的路径依赖问题。
△ALFWorld 环境中 AutoManual 生成的 Markdown 手册作者简介
该论文由杭州电子科技大学和浙江大学等合作完成。
第一作者陈铭浩,现任杭州电子科技大学计算机学院特聘副教授,博士毕业于浙江大学 CAD&CG 国家重点实验室。
论文链接:https://arxiv.org/abs/2405.16247
GitHub 地址:https://github.com/minghchen/automanual
— 完 —
投稿请发邮件到:
标题注明【投稿】,告诉我们:
你是谁,从哪来,投稿内容
附上论文 / 项目主页链接,以及联系方式哦
我们会(尽量)及时回复你
点这里关注我,记得标星哦~
一键三连「分享」、「点赞」和「在看」
科技前沿进展日日相见 ~
>