赞
踩
大语言模型(LLM)智能体,是一种利用大语言模型进行复杂任务执行的应用。这种智能体通过结合大语言模型与关键模块,如规划和记忆,来执行任务。构建这类智能体时,LLM充当着控制中心或“大脑”的角色,负责管理完成任务或响应用户请求所需的一系列操作。这种智能体的构建,需要依赖于规划、记忆以及工具使用等关键模块。
想象一下,如果我们想要创建一个系统,能够回答如下问题:
在2023年,美国的平均每日卡路里摄入量是多少?
上述问题可能直接通过一个已经掌握了所需知识的LLM来得到回答。如果LLM缺乏回答这个问题的具体知识,我们可以采用一个简单的基于检索增强生成(RAG)系统,使LLM能够访问健康相关的信息或报告。对于更加复杂的问题,比如:
在过去的十年中,美国成年人的平均每日卡路里摄入量的趋势如何变化?这种变化对肥胖率有何影响?能否提供一个图表来展示这段时间内肥胖率的趋势?
仅凭LLM可能不足以解答这类复杂问题。虽然结合LLM与外部知识库可以形成RAG系统,但这样做仍可能不足以应对复杂的查询。因为,这类问题要求LLM将任务拆分为可以通过使用工具和操作流程解决的子任务,以实现最终的回答。构建一个能够访问搜索API、健康相关出版物及公共/私人健康数据库的LLM智能体,可能是一个解决方案,以便提供与卡路里摄入和肥胖相关的信息。
此外,LLM还需要能够使用“代码解释器”工具,以利用相关数据生成有助于理解肥胖趋势的图表。这些可能是构建假设中的LLM智能体时考虑的高级组件,但在实际操作中,还需考虑如何规划处理任务的策略,以及如何通过记忆模块跟踪操作流程、观察和整体进展的状态。
通常,一个大语言模型智能体框架包含以下核心部分:
通过这些组成部分的协同工作,大语言模型智能体能够处理从简单到复杂的各种请求,不仅能够提供直接的答案,还能解决需要深度分析和多步骤操作的问题。这种智能体的能力,使其在处理复杂信息查询、数据分析和可视化表示等方面具有巨大潜力。
一款具备广泛应用能力的大语言模型 (LLM) 充当了整个系统的中枢大脑、智能体模块或是协调者角色。通过设计一个含有操作方法和可用工具详细信息的提示模板来启动这个组件。
尽管不强制,但我们还是可以为智能体设定一个具体角色或者塑造一个人格,以明确其职能。这种设定通常包含在提示中,涵盖角色详情、性格、社交及人口统计等信息。根据 [Wang 等人,2023年] 的研究,智能体特征的设定方法包括手工构造、LLM生成或基于数据的方法。
规划模块的作用是将用户请求拆分成智能体能够单独解决的若干步骤或子任务。这对于智能体更准确地理解问题和找到可靠解决方案至关重要。规划模块将借助LLM拆分出详尽的计划,包括解答用户问题所需的子任务。常见的任务分解技术包括思路链 (Chain of Thought) 和思路树 (Tree of Thoughts),它们分别代表了单路径推理和多路径推理。以下图表根据 Wang 等人,2023年 的研究,展示了不同策略的比较:
之前提到的规划模块未涉及反馈,这在解决复杂任务时面临长期规划的挑战。为应对此挑战,可以采用一种机制,让模型基于过去的行动和观察迭代地反思和调整执行计划。其目的是纠正过去的错误并提升结果质量,这在处理复杂的现实任务时尤其关键,其中试错法是解决问题的关键步骤。两种著名的反思或评估机制方法包括 ReAct 和 Reflexion。
以 ReAct 为例,它将推理与行动结合起来,通过在思考(Thought)、行动(Action)和观察(Observation)这一系列步骤之间交替进行(重复 N 次),帮助大语言模型解决复杂任务。ReAct 通过观察形式从环境中获取反馈。其他反馈类型还可以包括人类和模型反馈。下图展示了 ReAct 的过程及其在问答任务中涉及的各个步骤:
更多关于 ReAct 的信息,请参考以下链接:https://arxiv.org/abs/2210.03629
智能体的内存模块负责记录其内部日志,涵盖了先前的思考、行为及对环境的观察,也包括与用户的所有互动。在大语言模型智能体的研究文献中,主要区分为两种内存类型:
通过结合短期内存和长期内存,混合内存系统能够增强智能体的长期推理和经验积累能力。
在构建智能体时,还会考虑到多种内存格式,如自然语言、数据嵌入、数据库和结构化列表等。这些格式可以组合使用,例如在 Minecraft 游戏中的 Ghost (GITM) 采用了键值对结构,其中键用自然语言表示,值则由嵌入向量构成。
规划与内存模块共同支持智能体在动态环境中的有效运作,使其能够回顾过去行为并规划未来动作。
LLM 智能体通过工具与外界环境互动,这些工具包括 Wikipedia 搜索 API、代码解释器和数学引擎等。工具的范畴也涵盖数据库、知识库和外部模型。智能体利用这些工具执行任务,通过工作流程获取信息或完成子任务,以满足用户的需求。例如,在处理健康查询时,代码解释器就是一个能够执行代码并生成所需图表信息的工具。
LLM 以多种方式使用这些工具:
ChemCrow 智能体,专门设计用于应对有机合成、药物发现和材料设计等领域的任务。图来源:Bran et al., 2023
本节将介绍几个大语言模型智能体因其出色的复杂推理和常识理解能力而在不同领域和案例中得到有效应用的实例。
Ma et al. (2023) 的研究探讨了会话式 AI 智能体在提供心理健康支持方面的效用,指出这类智能体能助人减轻焦虑,但有时也可能输出有害信息。
Horton (2023) 通过给予基于大语言模型(LLM)的智能体以“资产、偏好及个性”,模拟人类在经济行为场景中的决策过程。
生成式 AI 智能体 和 AgentSims 都致力于在虚拟小镇环境中重现人类的日常生活,通过搭建多元化的智能体完成此目标。
盲审 利用多个语言模型模拟法官的判决过程,其对现实世界最高法院裁决的预测准确度高于随机水平。
Ziems et al. (2023) 展示了能够辅助研究人员进行文献综述、脚本编写和关键词提取等任务的智能体。
ChemCrow 描述了一个专注于化学领域的大语言模型智能体,该智能体能够独立规划并执行驱虫剂、有机催化剂的合成及新型色素的开发。
[Boiko et al. (2023)] 展示了如何集成多个大语言模型,自动化科研实验的设计、规划及执行过程。
数学智能体 旨在辅助研究人员探索数学问题,发现新解,完成证明。EduChat 和 CodeHelp 则是专为教育领域设计的两个杰出的大语言模型智能体。
Mehta et al. (2023) 提出了一种互动框架,允许建筑师与 AI 智能体合作,在三维模拟环境中设计建筑。
ChatDev、ToolLLM、MetaGPT 等例证展示了 AI 智能体在自动化编程、调试、测试及支持软件工程其他任务方面的潜力。
IELLM 利用大语言模型 (LLMs) 面向石油与天然气产业的特定需求,开展解决方案探索,以应对该行业面临的复杂挑战。
Dasgupta et al. 2023 开发了一个全新的智能体系统,该系统整合了身体动作的推理与任务计划功能,旨在提升机器执行任务的效率和自主性。
OS-Copilot 提供了一个创新框架,旨在打造能够全面操作操作系统 (OS) 的通用智能体,这些智能体能够灵活应对网络浏览、编码操作、文件管理、多媒体处理及与众多第三方应用的交互。
AutoGen 功能展示; 图片来源: https://microsoft.github.io/autogen
下面列出了一些在构建大语言模型智能体过程中常用的重要工具和框架:
AgentBench 基准测试,旨在评估作为智能体的大语言模型在现实世界挑战及八种不同环境下的表现(图源:Liu 等,2023)。
与评估大语言模型本身相似,对大语言模型智能体的评估也是一项充满挑战的任务。根据 Wang 等人(2023年)的研究,常用的评估方法包括:
大语言模型(LLM)智能体正处于发展初期,构建它们的过程中仍面临诸多挑战和限制:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。