赞
踩
什么是智能体Agent? LLM给出的答案如下:智能体,也被称为Agent,是人工智能领域中的一个重要概念。这是一个能够自主理解、规划决策和执行复杂任务的实体。智能体可以感知环境,进行决策,并执行动作。在具体实现上,智能体常常利用大语言模型作为核心控制器,通过记忆检索、决策推理和行动顺序选择等方式,将智能体的智能程度提升到了新的高度。
那么如何构建智能体?我们从LLM的答案中也可以窥见一二,就是通过LLM为核心控制器,添加规划能力、记忆能力以及调用工具能力,就可以实现。
关于大模型本身这里就不做过多赘述,下面先简单介绍一下三个Agent相关的基础概念:
▶ 如何实现规划Planning?
▶ 如何实现记忆Memory?
▶ 如何实现调用工具Tool Use?
一项复杂的任务通常包括多个子步骤,智能体需要提前将任务分解,并进行规划。其中最重要的两个机制是任务分解和自我反思 Self Reflection。
任务分解是通过思维链(Chain of Thought, CoT)技术实现,增了解决复杂任务时的模型性能。通过“Think step by step”,模型可以利用更多测试时计算(test-time computation)将任务分解为更小、更简单的子步骤,并能够解释模型的思维过程。类似的还有思维树( Tree of Thoughts)等。
另一种非常独特的任务分解的方法是 LLM+P ,它利用外部经典规划师(External classical planner)进行长期规划。该方法利用规划域定义语言 (Planning Domain Definition Language,PDDL) 作为中间接口来描述规划问题。在这个过程中,LLM 需要完成以下几个步骤:
自我反思可以让自主智能体改进过去的行动决策、纠正之前的错误来迭代改进,在可以试错的现实任务中非常有用。ReAct 是 Auto-GPT 实现的基础组件之一,由 Google Research Brain Team 在 ReAct:Synergizing Reasoning And Actiong In Language Models 论文中提出。
简单来说,ReAct 方法即推理+动作得到结果。灵感来自于作者对人类行为的一个洞察:在人类从事一项需要多个步骤的任务时,每一步之间往往会有一个推理过程。作者提出让 LLM 把内心独白“说”出来,然后再根据独白做相应的动作,模仿人类的推理过程,以提高 LLM 答案的准确性。ReAct通过将动作空间扩展为任务相关的离散动作和语言空间的组合,在LLM中集成了推理和动作,其中动作使得LLM能够与环境交互(例如使用维基百科搜索API),而语言空间可以让LLM以自然语言的方式生成推理轨迹。
ReAct提示模板包含了LLM思考的明确步骤,大致格式为:
Thought: ...
Action: ...
Observation: ...
... (Repeated many times)
记忆大致分为以下三类:
MRKL(模块化推理、知识和语言),是一种用于自主代理 的神经符号架构。MRKL 架构的设计中包含了“专家(expert)”模块的集合,LLM 将扮演路由器(router)的角色,通过查询路由找到最合适的专家模块。通过 MRKL 系统,不同类型的模块能够被整合在一起,实现更高效、灵活和可扩展的 AI 系统。
TALM(工具增强语言模型)和Toolformer都是微调语言模型以学习使用外部工具API。ChatGPT插件和OpenAI API函数调用也是增强语言模型使用工具能力的例子,其中工具API的集合可以由其他开发人员提供(如插件)或自定义(如函数调用)。
目前有几个实验项目例如AutoGPT、GPT-Engineer 和 BabyAGI,都充分利用了LLM作为智能体思维的大脑,辅以其他关键组件,构成一个功能全面的自治系统。
本文将以AutoGPT项目为例,从以下几个方面了解一下Agent的内容和构建原理:
▶ AutoGPT 项目简介
▶ AutoGPT 核心原理
▶ AutoGPT 如何生成提示词
▶ AutoGPT 如何存储记忆
▶ AutoGPT 如何评估子任务达标
AutoGPT是一个AI agent(智能体),也是开源的应用程序,结合了GPT-4和GPT-3.5技术,给定自然语言的目标,它将尝试将其分解成子任务,并在自动循环中使用搜索引擎和其他工具来实现这一目标,它由GPT-4驱动,自主地开发和管理业务。官网对GPT的优势描述如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。