AI|大模型入门(五):智能体(Agent)

原创 AI新智力 AI新智力 2024年05月29日 08:30 山东

一、什么是智能体(Agent)

在人工智能领域,这是一个很大的概念,《人工智能:现代方法(第4版)》中定义:“理性智能体是做正确事情的事物”,“理性智能体(Rational Agent)是研究人工智能的方法的核心”,“任何通过传感器(Sensor)感知环境(Environment)并通过执行器(Actuator)作用于该环境的事物都可以被视为智能体(Agent)”。

图片

在学术领域,最经典的案例可能是与机器人相关的研究,都涉及到了Agent 技术。在大模型时代之前,比较知名的垂直领域Agent的例子比如 AlphaGo,它有感知环境、做决策、采取行动的闭环,当时的主要研究方向还有使用强化学习打游戏的DeepMind的Agent57,后来更加通用的Gato,还有OpenAI玩“躲猫猫”的多智能体。

每个人对智能体的定义还是不尽相同,因为他有一个重要的使命,或者说一个人们的期望:它要完成大模型在通往通用人工智能(AGI)的道路上未完成的任务。显然这有点不符合实际的期望太高。

近几年,大语言模型的兴起引起了智能体应用领域的高速发展。大语言模型在逻辑推理、工具应用、策略规划、指令遵循等方面都有非常不错的表现,这使得大家开始意识到,将大语言模型作为Agent应用的核心认知系统,可以极大的提高智能体的规划能力。

因此本文所描述的智能体仅仅收敛于目前较为流行的AIGC领域,即基于语言大模型的智能体(LLM Based Agents),因为这种特定的垂直行业是智能体最有可能首先实现应用落地的领域。目前主要落地产品也集中于现有公司推出的智能体产品,比如字节跳动旗下的扣子(coze),腾讯旗下的元器等。

在大模型语境下,智能体可以理解为某种能够通过感知周围环境,能进行规划以及执行动作来完成既定任务和执行复杂任务的对象。在这些能力中,计划尤为重要,它涉及到复杂的理解、推理和决策制定。

因此我们可以给智能体这样一个定义:

基于语言大模型的智能体(以下简称智能体是通过包含计划模块(Planning)、存储模块(Memory)、感知模块(Sensor)、执行模块(Tools)等关键模块的架构来执行复杂任务的大模型应用程序。在构建智能体时,大模型充当主控制器或“大脑”,控制完成任务或用户请求所需的操作流。智能体基本组成如下图所示。

图片

也就是说:

Agent智能体=大语言模型的推理能力+计划能力+反馈能力+使用工具行动的能力。

二、智能体的组成

图片

一个智能体(Agent)的基本组成应该包含如下四个方面:计划(Planning)、工具(Tools)、执行(Action)、记忆(Memory)。

1. 计划(Planning):

子目标和分解:智能体将大型任务分解为较小,可管理的子目标,从而有效地处理复杂的任务;反思和改进:智能体可以对过去的行动进行自我批评和自我反思,从错误中学习并改进未来的步骤,从而提高最终结果的质量。

无反馈计划:

计划模块帮助分解必要的步骤或智能体单独求解以回答用户请求的子任务。这一步骤对于使智能体更好地解决问题并可靠地找到解决方案很重要。计划模块将利用LLM分解一个详细的计划,其中包括子任务以帮助解决用户问题。任务分解的流行技术包括思维链(CoT)和思维树(ToT),可以分别归类为单路推理和多路推理。下图比较了不同类别的差异:

图片

图源:《A Survey on Large Language Model based Autonomous Agents》

有反馈计划:

上面的计划模块不涉及任何反馈,这使得实现长期计划(长期规划)以解决复杂的任务具有挑战性。为了应对这一挑战,可以利用一种机制,该机制使模型可以根据过去的动作和观察结果迭代地反映和完善执行计划,目的是纠正和改善过去的错误,有助于提高最终结果的质量。这在复杂的现实世界环境和任务中尤其重要,在这些环境和错误是完成任务关键的关键的情况下。这种反思或批评机制的两种流行方法包括ReAct(Reson-Action)Reflexion

2. 工具(Tools):

智能体(Agent)可以通过调用函数或API获取模型权重和数据库中不存在的信息。常见的Agent工具包括网络检索工具、文件读写工具、API调用工具。例如,让Agent使用Google Search API,以及调用聚合数据来获取常见的天气信息和股票数据等。也可以通过访问高德API来获取位置,调用SD的API来实现图像生成。

3. 执行(Action):

智能体按照计划,根据记忆,利用工具进行操作,并作用于所处环境(Environment)。

4. 记忆(Memory):

短期记忆:所有的上下文学习都看成是利用模型的短期记忆来学习,常见的提示词工程都属于短期记忆,包括某些设定,AI人设,输出格式,说话预期等。通过短期记忆,我们可以让AI能在当前会话(Session)中生成我们想要的回答,例如我们让Agent扮演某个角色,然后使用某种格式进行输出。

下面就是一个例子:

# 角色你是网络信息化领域的资深专家,全面掌握网络信息化相关的法律法规、项目建设要点以及专业知识。作为政府和企事业单位信息化部门(如信息化处、网络安全委员会等)的负责人及总工程师。
## 技能### 技能 1: 解读网络信息化法律法规1. 当被要求解读某一具体法律法规时,详细阐述其内涵与适用范围。2. 结合实际案例,说明法律法规的具体应用与影响。### 技能 2: 指导网络信息化项目建设1. 对于提出的项目建设需求,进行全面分析与评估。2. 提供专业的建设方案与建议,包括技术选型、流程规划等。### 技能 3: 传授网络信息化专业知识1. 针对特定专业知识领域,进行深入讲解与剖析。2. 运用通俗易懂的方式,让受众理解复杂的专业概念。
## 限制:- 只专注于网络信息化领域相关内容,拒绝回答无关话题。- 严格按照给定格式输出内容,不得偏离。- 阐述内容应准确、详尽且符合实际情况。

长期记忆:长期记忆为智能体提供了长期存储和召回(无限)信息的能力,它们通常通过利用外部的向量存储和快速检索来存储和召回(无限)信息。

长期记忆也就是将短期记忆存储起来,来自其他数据库、用户输入、互联网爬取的文本图像数据通过Embedding模型向量化被存储到向量数据库中,然后每次模型调用时都会先去检索向量数据库,然后将相似度最高的检索结果反馈,通过提示词工程包装,输入给LLM,得到较为精准的回答,从而实现长期的记忆,其主要的应用就是检索增强生成(RAG)。

三、智能体的分类

智能体具有自主行动、沟通交互、随机反应、目标导向的特征,并且正在以多种角色拓展大模型的应用范围。

自主行动:无需人类的干预执行任务和作出决策。

沟通交互:与人和智能体进行交流和协作。

随机反应:感知环境变化并作出相应的反映。

目标导向:主动采取行动以实现目标。

基于大模型的智能体的使用方式有多种角色,包括单智能体应用,多智能体应用、人机合作和专业智能体应用:

  • 单智能体应用:强调通过反思、规划、工具使用,逐步观察思考,解决问题目标,针对较复杂的任务,可以通过任务拆解,利用分治的思想,最终解决问题。

  • 多智能体应用:利用多智能体的协作来共同完成任务,不同的Agent角色,利用角色定义,知识/工具的差异,实现角色的职能和能力,并通过定义的不同的协作方式关联各个角色实现任务目标,比如Boss Agent统筹和发号施令,其他Agent各司其职执行任务,利用社群和分工协作提升效能和增强创新性的思想,可处理更加复杂的任务。

  • 人机合作:主要是针对单/多智能体应用中模型的推理能力和知识信息不足的问题,通过人工介入进行补充。

  • 专业智能体应用:智能体可以针对特定领域进行训练和专门化,例如软件开发、科学研究或其他行业特定任务。他们可以利用大规模语料库的预训练以及泛化到新任务的能力,在这些领域提供专业知识和支持。

目前流行的智能体构建平台

一、字节跳动的扣子

网址:https://www.coze.cn/

扣子是新一代一站式AI Bot开发平台。无论你是否有编程基础,都可以在扣子平台上快速搭建基于AI模型的各类问答Bot,从解决简单的问答到处理复杂逻辑的对话。而且你可以将搭建的Bot发布到各类社交平台和通讯软件上,让更多的用户与你搭建的Bot聊天。

图片

二、腾讯的元器

# 网址:https://yuanqi.tencent.com/

腾讯元器是腾讯混元大模型团队推出的智能体创作工具,于2024年5月17日正式发布。用户可以通过添加提示词设定、插件、知识库等功能捏出自己喜欢的智能体。

该工具方便易用,无需繁琐的编码过程,用户即可开发出具备聊天对话、内容创作、图像生成等多功能的智能体。腾讯元器的推出,降低了智能体的开发门槛,让创意与智能的结合变得更加触手可及。

腾讯元器的主要作用是为用户提供一个便捷的平台,让用户可以根据自己的需求和创意,创建出具有特定功能和特点的智能体。这些智能体可以应用于多种领域,如聊天机器人、智能客服、智能助手等。用户可以通过腾讯元器的插件和知识库功能,为智能体添加更多的能力和知识,使其更加智能和实用。

图片

三、谷歌的Vertex AI Agent Builder

# 网址:https://cloud.google.com/products/agent-builder

Vertex AI Agent Builder使开发人员能够轻松构建和部署企业级生成人工智能体验。它提供了无代码代理构建器控制台的便利性以及强大的基础、编排和自定义功能。使用Vertex AI Agent Builder,开发人员可以根据其组织的数据快速创建一系列生成的AI Agent和应用程序。

图片

四、清华的智谱清言GLMs

# 网址:https://chatglm.cn/

这款国产的定制版Agent生成器中,用户只需要用自然语言输入Agent功能,GLMs就会自动生成应用名称、配置名称、模型能力调用等配置文件信息。用户还可以上传外部知识库,让GLMs进行学习。

图片

五、百度的AgentBuilder

# 网址:https://agents.baidu.com/

百度AgentBuilder是一款智能体开发工具,旨在让每个人、每个组织都能够成为智能体的开发者。AgentBuilder是百度推出的三大AI开发工具之一,另外两个工具分别是AppBuilder和ModelBuilder。

图片

补充知识:智能体相关算法

前述我们已经提到了大模型是智能体的大脑,大模型的辅助技术有微调(Fine-Tuning)、提示工程(Prompt Engineering)、检索增强生成(RAG)等。还有几个技术名词我们略作介绍,一是保持文章完整性,二是我们可以对这些名词熟悉一下,有个直观印象。

一、思维链(CoT,Chain of Thoughts

前文AI|大模型入门(三):提示工程已经介绍。

二、分步骤思考(Zero-shot-CoT)

前文AI|大模型入门(三):提示工程已经介绍。

三、思维树(ToT,Tree of Thoughts

传统的语言模型在规划和决策过程中存在局限性,而"思维树"通过同时考虑多个潜在的可行计划,并利用价值反馈机制进行决策,扩展了现有的规划方法。此外,该方法还引入了自我反思机制,使语言模型能够评估自身生成的候选项的可行性。与其他相关工作相比,"思维树"方法更加灵活,可以处理具有挑战性的任务,如创意写作,并提供了更高水平的问题解决能力。

图片

图源:《Tree of Thoughts: Deliberate Problem Solving with Large Language Models》

四、ReAct

ReAct算法来源于论文“ReAct:Synergizing Reasoning and Acting in Language Models”,发表在2023年的ICLR会议上。ReAct算法的核心是通过交替进行Reasoning和Acting的方式帮助智能体更好地应对和解决复杂问题。相较于一般的Reasoning方法,能够根据当前的场景进行分析,做出更具有针对性的行动,并且提供了更好的可解释性和更高的容错度。

ReAct通过一系列推理(Reson)和行动(Action)使大模型通过有逻辑的一系列步骤(重复多次)来解决复杂任务:思想、动作和观察。ReAct以观测形式从环境中接收反馈。其他类型的反馈也包括人类和模型反馈。下图显示了一个ReAct的示例以及问题执行时回答的不同步骤:

图片

图源:《ReAct:Synergizing Reasoning and Acting in Language Models》

五、Reflection

reflexion是一个新的框架,通过自然语言反馈来增强Agents的功能。Reflexion在HumanEval编码基准上实现了91%准确率,超过了之前最先进的GPT-4的80%。

Reflection基于ReAct方法,提出增加一个LLM的代理器,从之前的错误中反思,在规划序列中重定向未来的决策,从而可以避免人类训练员需要作为中间人参与。这种设定在AlfWorld和HotPotQA基准测试中展示了学习曲线,其性能明显优于基础ReAct代理。

Reflexion应用性很强,可以提高决策和知识密集型任务的试错性能,只需要依赖一个二元的奖励模型。它应用在更复杂任务中,可以帮助智能体学会新想法,探索更大不可见的状态空间,并通过在过去环境中的经验形成更准确的行动规划。

图片

图源:《Reflexion: Language Agents with Verbal Reinforcement Learning》

Takeaways

  1. 智能体是人工智能技术落地的最终表现形式。

  2. 一个基于大模型的智能体(Agent)的基本组成应该包含如下四个方面:计划(Planning)、工具(Tools)、执行(Action)、记忆(Memory)。

  3. 智能体是大模型技术及其优化技术的集大成者,所有算法、优化技术都是根据智能体的落地需要演进的。

  4. 在数字世界,已有多个智能体平台可以用零代码的形式实现基于大模型的智能体应用落地。现在每个人都可以尝试创建自己的智能体。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐