一文盘点「AI自主智能体」的构建、应用、评估

随着大型语言模型 (LLMs)取得的成功,展现出了实现人类水平智能的潜力,引发了基于 LLM 的自主智能体研究的激增。因而 LLM 越来越多地被用作创建自主智能体的核心协调者,并先后出现花样繁多的 AI 智能体

为了充分利用 LLM 的潜力,研究人员为不同应用设计了各种智能体架构。这篇论文从整体上对这些研究进行了系统回顾,全面介绍了基于大语言模型(LLM)的智能体的构建、潜在应用和评估,提出了这个领域的几个挑战和未来方向。

论文:A Survey on Large Language Model based Autonomous Agents
机构:中国人民大学-高瓴人工智能学院
作者:文继荣等
论文地址:
https://arxiv.org/pdf/2308.11432.pdf
GitHub地址:
https://github.com/Paitesanshi/LLM-Agent-Survey


图注:基于 LLM 的自主智能体一览,包括工具智能体、模拟智能体、通用智能体和领域智能体

PART 01


AI自主智能体的构建


在6月份,OpenAI的Safety团队的负责人Lilian Weng发布了一篇6000字的博客介绍了AI智能体,并认为这将使LLM转为通用问题解决方案的途径之一。Lilian Weng认为一个AI Agent系统应当包含如下图所示的几个部分:规划(Planning)、记忆(Memory)、工具使用(Tool Use)

图注:AI Agent组成部分

在这篇论文中,研究者提出了一个由四部分组成的统一框架,包括分析(Profile)模块、记忆(Memory)模块、规划(Planning)模块、动作(Action)模块。其实和Lilian Weng介绍的框架很类似。

图注:基于LLM的AI自主智能体的统一框架


01

分析模块

分析模块:旨在识别智能体是什么角色。自主智能体通过特定角色来执行任务,例如程序员、教师和领域专家。这些角色信息通常被写入输入提示中以影响 LLM 行为。

在现有的工作中,有三种常用的策略来生成智能体配置文件:手工制作方法;LLM-generation 方法;数据集对齐方法。

02

记忆模块

记忆和规划模块:可将智能体置于动态环境中,使智能体能够回忆过去的行为并计划未来的行动。

记忆模块,用于获取、存储、保留和检索信息的过程。它记忆从环境中感知到的信息,并利用记录的记忆来促进智能体未来的动作。记忆模块可以帮助智能体积累经验、实现自我进化,并以更加一致、合理、有效的方式完成任务。

文章主要讨论记忆操作和记忆结构的实现策略。对于记忆操作,模型有2种实现策略:只有读/写操作,有读/写/反射操作。对于记忆结构,有2种结构:统一记忆和混合记忆。

03

规划模块

AI智能体需要提前计划,将复杂任务分解成许多步骤,还需对过去行为进行反思和提炼。

因为当人类面临复杂任务时,他们首先将其分解为简单的子任务,然后逐一解决每个子任务。规划模块,赋予基于 LLM 的智能体解决复杂任务时需要的思考和规划能力,使智能体更加全面、强大、可靠。

论文中介绍了两种规划模块:没有反馈的规划以及有反馈的规划。

04

动作模块

动作模块,负责将智能体的决策转化为具体的输出。它直接与环境交互,决定智能体完成任务的有效性。论文从动作目标、策略、动作空间和动作影响来具体介绍动作模块。具体有两种动作模块:模型不使用工具和使用工具。

在这些模块中,分析模块影响记忆和规划模块,这三个模块共同影响动作模块。

论文还介绍了智能体的学习策略,包括从示例中学习、从环境反馈中学习、从交互的人类反馈中学习

通过学习,这些智能体被赋予了更强的能力,能够在遵守指令、灵活完成复杂任务、以及无缝地适应前所未有的多样化环境等方面表现出更高的驾驭能力。

下表 1列出了之前的工作和本文的分类法之间的对应关系:

图注:表1:一些具代表性的AI智能体的构建策略:Profile分析模块(用①、②和③表示手工制作方法、LLM 生成方法和数据集对齐方法);Memory记忆模块(操作:用①和②分别表示模型只有读/写操作和有读/写/反射操作;结构:用①和②表示统一记忆和混合记忆);Planning规划模块(用①和②分别表示无反馈规划和有反馈规划);Action动作模块(用①和②分别表示模型不使用工具和使用工具);LS学习策略(用①、②和③分别代表从实例、人类反馈和环境反馈中学习)。

PART 02


AI自主智能体的应用


论文主要讨论了基于LLM的自主智能体在社会科学、自然科学和工程三个领域的潜在应用。

图注:图3 基于LLM的智能体的应用和评估策略

论文列举了一些基于LLM的自主智能体的代表性应用,如下表2所示。

图注:表2 基于LLM的自主智能体的代表性应用

01

社会科学领域



计算社会科学包括开发和应用计算方法来分析复杂的人类行为数据,通常是大规模数据,包括来自模拟场景的数据。而 LLMs 表现出了强大的类人能力,为计算社会科学研究领域带来了新的研究方法。具体地,基于 LLM 的智能体已应用于心理学、政治学与经济学、社会模拟、法理学、社会科学研究助理等细分领域。

但是基于 LLM 的智能体在社会计算领域的应用仍然面临着一些挑战和限制。两个主要问题是偏差和毒性,因为 LLM 是根据真实世界的数据集进行训练的,这使得它们容易受到固有偏差、歧视内容和不公平的影响。当引入 LLM 时,它可能会产生有偏见的信息,而这些信息又会被进一步用于训练 LLM,从而导致偏见的扩大。因果关系和可解释性是另一个挑战,尤其是在社会科学领域,因为社会科学往往需要稳健的因果关系。基于概率的 LLM 往往缺乏明确的可解释性。

02

自然科学领域



由于大型语言模型的快速发展,基于 LLM 的智能体在自然科学领域的应用日益增多,比如文档和数据管理、自然科学实验助手、自然科学教育等。

利用基于 LLM 的智能体支持自然科学研究也存在一定的风险和挑战。一方面,LLM 本身可能会出现错觉等问题,偶尔会提供错误答案,导致错误结论、实验失败,甚至在危险实验中对人身安全造成威胁。因此,在实验过程中,用户必须掌握必要的专业技能和知识,谨慎行事。另一方面,基于 LLM 的智能体有可能被用于恶意目的,例如开发化学武器,因此有必要实施安全措施,例如人机比对,以确保负责任和合乎道德地使用智能体。

03

工程领域



基于 LLM 的智能体在协助和加强工程研究与应用方面显示出巨大潜力,具体的有如下这些领域:土木工程、计算机科学与软件工程、航空航天工程、工业自动化、机器人与嵌入式人工智能、通用自主AI智能体


特别地,在「计算机科学与软件工程」领域,基于 LLM 的智能体提供了自动化编码、测试、调试和文档生成的潜力。例如:

  • ChatDev:这是一个端到端的框架,其中多个智能体通过自然语言对话进行沟通和协作,以完成软件开发生命周期。该框架展示了高效、经济地生成可执行软件系统的能力。
  • ToolBench:可用于代码自动完成和代码推荐等任务。例如,ToolBench 可以自动补全代码中的函数名和变量名,并推荐代码片段。
  • MetaGPT:可以扮演产品经理、架构师、项目经理和工程师等角色,以便对代码生成进行内部监管,提高最终输出代码的质量。这样就能实现低成本的软件开发。
  • SCG:一个利用 ChatGPT 生成代码的自我协作框架:多个 LLM 在复杂任务的特定子任务中扮演不同的 "专家 "角色。他们根据指定的指令进行协作和互动,组成一个虚拟团队,互相促进工作。最终,虚拟团队无需人工干预即可协作完成代码生成任务。
  • GPT-Engineer、SmolModels 和 DemoGPT:都是开源项目,主要通过提示完成开发任务,实现代码自动生成。
  • LLIFT:LLM 也可用于代码错误测试和纠正。LLIFT 利用 LLMs 辅助静态分析来检测代码漏洞,在精确性和可扩展性之间取得了平衡。

特别地,在「通用自主AI智能体」领域:一些基于 LLM 开发的开源项目对通用人工智能(AGI)进行了初步探索,它们致力于自主的通用的AI智能体框架的开发,使开发者能够快速可靠地构建、管理和运行有用的自主代理。例如:

  • LangChain:是一个开源框架,可自动完成编码、测试、调试和文档生成任务。通过将语言模型与数据源集成并促进与环境的交互,LangChain 可通过多个代理角色之间的自然语言交流与协作,实现高效、经济的软件开发。
  • XLang:一个通过Executable Language Grounding构建语言模型代理的开源框架。在 LangChain 的基础上,XLang 提供了一套全面的工具、完整的用户界面,并支持三种不同的代理场景,即数据处理、插件使用和网络代理。
  • AutoGPT:是一种全自动、可联网的代理,它只需设定一个或多个目标,然后自动将其分解为相应的任务并循环执行,直至目标实现。
  • WorkGPT:是一种类似于 AutoGPT 和 LangChain 的代理框架。通过向其提供指令和一组 API 接口,它可以与人工智能进行来回对话,直到指令完成为止。
  • AGiXT:是一个动态人工智能自动化平台,旨在协调多个提供商之间高效的人工智能指令管理和任务执行。
  • AgentVerse:是一个多功能框架,可帮助研究人员快速创建定制的多个基于 LLM 的代理模拟。
  • GPT Researcher:是一款实验性应用程序,它利用大型语言模型高效地提出研究问题、触发网络爬行以收集信息、总结信息来源并汇总摘要。
  • BMTools:是一个开源资源库,它通过工具扩展了 LLM,并为社区驱动的工具构建和共享提供了一个平台。它支持各种类型的工具,可使用多个工具同时执行任务,并提供了一个通过 URL 加载插件的简单界面,便于开发和为 BMTools 生态系统做出贡献。

PART 03


AI自主智能体的评估


与 LLM 类似,AI智能体的评估也不是一个简单的问题。论文介绍了两种常用的评估策略主观评估和客观评估。可以请参阅上图 3 右侧的概述。

1.主观评估


虽然基于LLM的智能体的应用广泛,但多数情况下,缺乏评估AI智能体性能的通用指标。

主观评估是指人类通过互动、打分等各种方式对基于 LLM 的智能体的能力进行测试。在这种情况下,参与评估的人员往往通过众包平台招募;而有些研究者认为众包人员因个体能力差异而不稳定,因此采用专家注释的方式进行评估。

主观评估有两种常用的利用策略:
人类注释图灵测试

在目前的一些研究中,还可以使用 LLM 智能体作为主观评估者。在 ChemCrow 的研究 中,
EvaluatorGPT 通过考虑任务的成功完成和基本思维过程的准确性来给实验结果打分。又比如 ChatEval 组建了一个基于 LLM 的多智能体裁判小组,通过辩论来评估模型的生成结果。


2.客观评估


与主观评估相比,客观评估具有多种优势,客观评估是指使用定量指标来评估基于 LLM 自主智能体的能力。论文从指标、策略和基准的角度回顾和综合客观评估方法。

指标

1. 任务成功指标:这些指标衡量代理完成任务和实现目标的能力。常见指标包括成功率、奖励/分数、覆盖率和准确率。数值越高,表示完成任务的能力越强。
2.
人类相似度指标:这些指标量化了代理行为与人类行为的相似程度。典型的例子包括轨迹/定位精度、对话相似度以及模仿人类的反应。相似度越高,说明推理越像人类。
3.
效率指标:与上述用于评估智能体有效性的指标不同,这些指标从不同角度评估代理的效率。典型指标包括规划长度、开发成本、推理速度和澄清对话次数。

策略

1. 环境模拟:在这种方法中,使用任务成功率和人类相似度指标,结合轨迹、语言使用和目标完成情况等因素,在游戏和互动小说等沉浸式三维环境中对智能体进行评估。这展示了智能体在真实世界场景中的实际能力。
2.
孤立推理:研究人员通过使用有限的任务,如准确率、通过完成率和消融度量,集中研究基本的认知能力。这种方法简化了对个人技能的分析。
3.
社会评估:通过人类研究和模仿指标直接探究社会智能。这可以评估高阶社会认知。
4.
多重任务:使用来自不同领域的不同任务套件,进行零/少量评估。这可以衡量通用性。
5.
软件测试:探讨了如何将 LLM 用于各种软件测试任务,如生成测试用例、重现错误、调试代码以及与开发人员和外部工具交互。他们使用测试覆盖率、错误检测率、代码质量和推理能力等指标来衡量基于 LLM 的智能体的有效性。

基准
客观评估还依赖于基准、受控实验和统计显著性测试。许多论文利用任务和环境数据集构建基准,对智能体进行系统测试,如 ALFWorld、IGLU 和 Minecraft。

1. Clembench:是一种基于游戏的方法,用于评估作为会话智能体的聊天优化语言模型,它通过将 LLM 暴露于限制性的、类似游戏的设置来挑战特定能力,从而探索对 LLM 进行有意义评估的可能性。


2.
Tachikuma:是一个基准,它利用 TRPG 游戏日志来评估 LLM 理解和推断与多个角色和新奇对象进行复杂交互的能力。


3.
AgentBench:提供了一个综合框架,用于评估LLM作为自主智能体在不同环境中的表现,通过采用F1作为主要指标,实现了LLM智能体的标准化基准测试。它首次系统地评估了经过预训练的 LLM 作为智能体在不同领域应对真实世界挑战的情况。


4.
SocKET:是一个综合基准,用于评估大型语言模型(LLM)在 58 个任务中的社会知识能力,这些任务涵盖幽默和讽刺、情绪和情感、可信度等五类社会信息。


5.
AgentSims:是一种多功能基础设施,用于为大型语言模型构建测试沙箱,为数据生成和社会科学研究中的各种评估任务和应用提供便利。


6.
ToolBench:是一个开源项目,旨在通过为工具学习提供一个训练、服务和评估 LLM 的开放平台,促进构建具有通用工具使用能力的强大大型语言模型(LLM)。
7.
Dialop:设计了三个任务:优化、规划和调解,以评估基于 LLM 的智能体的决策能力。


8.
WebShop:这个基准评估了 LLM 智能体通过搜索查询和点击从 118 万件真实物品中进行产品搜索和检索的能力,使用的奖励基于属性重叠和召回性能。
9.
Mobile-Env:是一个易于扩展的交互平台,为评估基于 LLM 的智能体在与信息用户界面(InfoUI)交互时的多步交互能力奠定了基础。
10.
WebArena:建立了一个涵盖常见领域的综合网站环境。该环境可作为以端到端方式评估智能体的平台,评估已完成任务的功能正确性。
11.
GentBench:是一个基准,旨在评估智能体的各种能力,包括推理、安全、效率等。此外,它还支持评估智能体利用工具处理复杂任务的能力。

客观评估可以通过任务成功率、人类相似度、效率和消融研究等指标,对基于 LLM 的智能体能力进行量化评估。针对不同的能力,从环境模拟到社会评估,已经出现了多种多样的客观技术工具箱。

主观评价和客观评价各有优缺点。在实际应用中,也许应该将两者结合起来,对AI智能体进行全面评估。论文在表 3 中总结了前人工作与这些评估策略之间的对应关系。

图注:表 3:基于 LLM 的自主智能体的评估策略汇总。对于主观评估,我们用①和②分别代表人类注释和图灵测试。在客观评估方面,我们用①、②、③、④和⑤分别代表环境模拟、孤立推理、社会评价、多任务评价和软件测试。我们还总结了这些代理是否使用基准进行评估。

举报
评论 0