当前位置:   article > 正文

以AutoGPT为例浅谈智能体Agent_autogpt智能体

autogpt智能体

什么是智能体Agent? LLM给出的答案如下:智能体,也被称为Agent,是人工智能领域中的一个重要概念。这是一个能够自主理解、规划决策和执行复杂任务的实体。智能体可以感知环境,进行决策,并执行动作。在具体实现上,智能体常常利用大语言模型作为核心控制器,通过记忆检索、决策推理和行动顺序选择等方式,将智能体的智能程度提升到了新的高度。
那么如何构建智能体?我们从LLM的答案中也可以窥见一二,就是通过LLM为核心控制器,添加规划能力、记忆能力以及调用工具能力,就可以实现。

关于大模型本身这里就不做过多赘述,下面先简单介绍一下三个Agent相关的基础概念:
▶ 如何实现规划Planning?
▶ 如何实现记忆Memory?
▶ 如何实现调用工具Tool Use?

1.规划Planning

一项复杂的任务通常包括多个子步骤,智能体需要提前将任务分解,并进行规划。其中最重要的两个机制是任务分解自我反思 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 需要完成以下几个步骤:

  1. 将问题转化为“问题 PDDL”;
  2. 请求经典规划师基于现有的“域 PDDL”生成 PDDL 计划;
  3. 将 PDDL 计划翻译回自然语言。
    上述由外部工具来完成规划步骤被这件事在某些机器人环境中很常见,但在其他领域并不常见。

自我反思可以让自主智能体改进过去的行动决策、纠正之前的错误来迭代改进,在可以试错的现实任务中非常有用。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)
  • 1
  • 2
  • 3
  • 4

2.记忆Memory

记忆大致分为以下三类:

  • 作为原始输入(包括文本、图像或其他形式)的学习嵌入表征的感官记忆;
  • 短期记忆就是上下文学习(in-context learning),非常短且影响范围有限,受到Transformer的上下文窗口长度的限制。
  • 长期记忆作为智能体在查询时可用的外部向量存储,可通过快速检索访问。长期记忆可以缓解有限注意力span的限制,常用的操作是将信息嵌入表征保存到支持快速最大内积搜索(MIPS)的向量存储数据库中。

3.调用工具Tool Use

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 如何评估子任务达标

1.AutoGPT 项目简介

AutoGPT是一个AI agent(智能体),也是开源的应用程序,结合了GPT-4和GPT-3.5技术,给定自然语言的目标,它将尝试将其分解成子任务,并在自动循环中使用搜索引擎和其他工具来实现这一目标,它由GPT-4驱动,自主地开发和管理业务。官网对GPT的优势描述如下:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/311401
推荐阅读
相关标签