前言
在LangChain 开发智能Agent - 掘金 (juejin.cn)一文中,我们介绍了CAMEL框架。LangChain将基于CAMEL的代理定义为Simulation Agents(模拟代理)。它主要通过角色扮演,多轮对话聊天的方式完成具体任务。
本文我们将讨论一种新型的代理,Autonomous Agents(自主代理),它被设计为能够独立完成任务,AutoGPT、BabyAGI 和 HuggingGPT等是这一派的代表,我们来看下。
AutoGPT
AutoGPT是一个开源的自主AI代理,主要功能是自动链接多个任务,来完成任务。它和ChatGPT不同的地方是,用户只需提供一个Prompt,AutoGPT会自动化多步Prompt过程,将目标分解为子任务,以完成任务。AutoGPT 基于GPT-4。
AutoGPT有哪些优点呢?
- 与互联网集成
ChatGPT训练的数据是截至某一时刻的数据,所以,当我们在问chatgpt一些时效性问题时,ChatGPT可能就不知道或说瞎话...AutoGPT与互联网集成,提供实时数据访问。
- 任务分解
AutoGPT将任务分解为多个子任务,并会自我提示,以达到目的。不需要像ChatGPT那样需要用户多次提示,更智能,更好地展示了AI的自主行动力。
- 支持多模态
除了文本,还可以将图像作为输入。
ChatGPT适合的场景有文本生成、执行特定操作(callback fucntions)、网络搜索,还可帮助进行科学研究、市场研究、内容创建、销售线索生成、业务计划创建、产品评论等。当然,它也有一些缺点,比如成本比较高,因为它基于GPT-4,而且它没有长期记忆。
我们来看个例子,假设我们想要AutoGPT帮我们写一篇关于太空的文章。它的运行步骤大概是这样的:
- AutoGPT 会在Pinecone里查看有没有已经写好的关于太空的文章。 Pinecone是一个向量数据库,如果有,会将文章直接展示给我们。如果没有,它就会进行下一步
- AutoGPT会用GPT-4来生成一个Prompt 比如说这个太空是什么, GPT-4回答这个问题,并将结果存储到Pinecone里。
- AutoGPT 会继续问一些问题,直到PineCone里存储了足够多的内容,然后组合成一篇文章,返回给用户。
Baby AGI
Baby AGI是一套自主任务驱动AI系统,可以根据目标生成、组织、确定优先级以及执行任务。它也使用GPT-4来理解和创建任务,利用Pinecone向量搜索来存储和检索。被誉为完全自主人工智能的起点
。
它有以下几个特点:
- 任务列表
当Baby AGI接收到用户提出的任务后,它将任务分成列表,并排一个优先级。将优先级最高的第一个任务,使用GPT-4发送到Agent执行,并将结果存储在内存中。然后根据目标和上一个任务的结果创建新任务并确定其优先级。
HuggingGPT
HuggingGPT分四个阶段来实现Autonomous Agents。
- 任务规划
LLM根据用户请求,生成任务列表,并确定任务之间的执行顺序资源依赖关系
- 模型选择
LLM根据Hugging Face上的描述,为任务分配合适的模型。
- 任务执行
被选中的模型,执行分配的任务
- 响应生成
向用户提供响应。
Hugging Face的优势在于,它能够使用不同的模型来执行特定的任务,比如, 它可以使用OpenCV的OpenRose模型来分析图像中小朋友的姿势,并使用其它模型生成新图像和描述。
总结
- 自主代理也有几种框架,我们这里介绍了AutoGPT、Baby AGI和HuggingGPT