Agent在接触AI前大部分人对这个词的定义是代理
而在AI模型领域更愿意称之为智能体
代理我们都知道是什么意思,那么智能体呢?
Logan Kilpatrick,OpenAI 开发者关系负责人给出的介绍如下
Agent(智能体) = 一个设置了一些目标或任务,可以迭代运行的大型语言模型。这与大型语言模型(LLM)在像ChatGPT这样的工具中“通常”的使用方式不同。在ChatGPT中,你提出一个问题并获得一个答案作为回应。而Agent拥有复杂的工作流程,模型本质上可以自我对话,而无需人类驱动每一部分的交互。 -Logan Kilpatrick,OpenAI 开发者关系负责人
用通俗语言解释
chat类型gpt接受单一输入查询,并返回结果,他不能一次完成超过一个任务.
而AI Agent则是可以自驱定义工作流程,并规划任务进行解决
比如:
"你有一个天气查询的系统,用户输入NYC(纽约的缩写)的温度是多少"传统的模型无法识别到NYC是什么意思?,
但是使用AI Agent可以在他获取到模型不具备NYC的知识的情况下,去思考NYC是什么,在哪里查到NYC是什么,
去查地区城市缩写,最后返回结果
而在上一章的内容中有提到
智能体 = 大语言模型(LLM) + 观察 + 思考 + 行动 + 记忆
下面用一张图来表达一下
记忆
短期记忆:我认为所有的上下文学习(参见提示工程)都是利用模型的短期记忆来学习。
长期记忆:这为Agents提供了长时间保留和回忆(无限)信息的能力,通常是通过利用外部向量存储和快速检索来实现。
一句话解释长期记忆和短期记忆,当我问你1+1等于几你不需要考虑他就是你的长时记忆,当我问你99*55等于多少你需要用脑子想一下算一下这就是你的短时记忆
规划
工具使用
Baby AGI 是一个 python 脚本,它使用 OpenAI 和 Pinecone API 以及 LangChain 框架来创建、组织、确定优先级以及执行任务。Baby AGI 背后的过程是,它将使用基于上一个任务结果的预定义目标创建一个任务。
这是通过使用 OpenAI 的自然语言处理 (NLP) 功能实现的,该功能允许系统根据目标创建新任务。它使用 Pinecone 来存储该特定任务的结果并检索上下文,并使用 LangChain 框架来处理决策过程。
来自 https://github.com/yoheinakajima/babyagi 的图片
这个过程在为智能体创建一个目标或主任务后,主要分为以下三个步骤:
根据目标开始任务,然后转到从内存中获取上下文的查询。然后将其发送到创建代理,创建代理获取数据并将其发送到内存。然后,它将通过一个队列,该队列将完成任务的优先级排序。
让我们一起来看一个具体的例子。我们可以从一个任务开始,例如"编写一篇关于ChatGPT以及功能的1500字博客文章"。作为控制agent的用户,你可以写出这个目标,尽可能详细地提供要求,然后你就完成了。
模型接收这些要求,并执行如下操作:
sub_tasks = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "You are an world class assistant designed to help people accomplishh tasks"},
{"role": "user", "content": "Create a 1500 word blog post on ChatGPT and what it can do"},
{"role": "user", "content": "Take the users request above and break it down into simple sub-tasks which can be easily done."}
]
)
在这个例子中,我们使用OpenAI API来驱动agent。系统消息允许你在一定程度上定义你的agent,但在这个例子中,我们并没有真正使用它。然后,我们添加用户查询和关键的下一步,即在其上添加一个任务,该任务是将查询分解成子任务。
然后,你可以将子任务放入一个循环中,并进行额外的调用以执行这些子任务,所有这些都带有不同的系统消息(想想不同的agents,可能是一个写作agent,一个研究agent等)。你可能会想要“将这个任务分解成更简单的子任务,直到你100%清楚需要做什么并且可以高精度地执行任务”,这样模型就不会陷入添加更多任务的无限循环中(如果你没有正确地进行提示工程,今天的agents就会常常出现这个问题)。
Generative Agents(Park 等人,2023)是一个超级有趣的实验,其中 25 个虚拟角色,每个角色都由 LLM 支持的Agents控制,在沙盒环境中生活和交互,其灵感来自《模拟人生》。生成Agents为交互式应用程序创建可信的人类行为模拟。
生成Agents的设计将 LLM 与记忆、规划和反射机制相结合,使Agents能够根据过去的经验进行行为,并与其他Agents进行交互。
图 13. 生成Agents架构。(图片来源:Park 等人,2023)
这种有趣的模拟会产生新兴的社交行为,例如信息传播、关系记忆(例如,两个Agents继续讨论话题)和社交活动的协调(例如举办聚会并邀请许多其他人)。
「苏格拉底式推理」有5种强大的提示模式:演绎、转换、分解、验证、整合。
这更多是一种思想
当我提出一个问题"大象喜欢吃什么?"
1.大象是什么? 哪里有大象? 大象应该吃什么?
2.大象是动物 动物园有大象 大象应该吃草
3.你想一想你的回答正确吗
4.A回答 大象喜欢吃草 B回答 大象喜欢吃草 C 大象喜欢吃草
5.整合一下上面的三个答案 大象喜欢吃草
人会疲惫,机器不会
下面最后贴一张自己画的图
还可以更复杂一点画的太累了 把AI当人看,AI不会疲倦
MetaGPT是一个多智能体协作框架,将标准化操作(SOP) 程序编码为提示确保解决问题时采用结构化方法。要求智能体以专家形式参与协作,并按要求生成结构化的输出,例如高质量的需求文档、架构设计图和流程图等。结构化的输出对于单个智能体即是更高层次的思维链(Chain-of-Thought),对于下游角色则是语义清晰、目标明确的上下文(Context)。通过明确定义的角色分工,复杂的工作得以分解为更小、更具体的任务。从而提升了LLMs的输出质量。
主要特点:
在MetaGPT中多智能体 = 智能体+环境+SOP+评审+路由+订阅+经济
MetaGPT 以一行需求为输入,输出用户故事/竞争分析/需求/数据结构/API/文档等。
在内部,MetaGPT 包括产品经理/架构师/项目经理/工程师。它提供了软件公司的整个过程以及精心编排的 SOP。
详见我们的开源仓库:https://github.com/geekan/MetaGPT/
以及对应文章:ICLR 2024 Oral | MetaGPT: LLM Agent领域第一高分论文,全网Star数最高的多智能体框架