朝着多代理AutoGPT前进
近年来,深度学习在自然语言处理到计算机视觉方面取得了显著的成就。ChatGPT是一种基于OpenAI的GPT结构的强大的大型语言模型(LLM),为交互式对话系统和自动内容生成打开了一个新的可能性窗口。在本文中,我们将看到AutoGPT如何将ChaGPT的能力提升到了一个新的水平,并使用多个代理人的想法。
什么是AutoGPT?
AutoGPT是一种基于代理的实验性开源应用程序。AutoGPT将GPT-4的功能提升到一个新级别。它将LLM“思考”串联起来,并通过将目标分解成任务来自主实现用户设定的目标。它具有多种功能:
- 互联网访问搜索信息
- GPT-4 用于文本生成
- 长期和短期记忆管理
- 访问流行的网站和平台
- 文件存储和总结,使用 GPT-3.5。
- 可插拔的可扩展性
这也是Github上评分排名前列的代码仓库之一,拥有将近120,000个星标。
AutoGPT的基本概念如下:
任务的生成、优先级的确定和执行是使用GPT-4完成的。它使用插件进行互联网搜索和其他访问。它使用内存来保持上下文并追踪其活动,这有助于生成新任务、自我评估、将新任务添加到队列中并帮助设置优先级。
由于AutoGPT擅长执行从市场调查到编写并执行程序等许多任务,因此它还存在一些限制。AutoGPT往往容易分心并陷入循环,而且会留下一些半成品,这不利于该代理的稳定性,并存在其他类似的问题。以下是一些限制的列举:
- 如先前提到的,这是一个实验性项目而不是成熟的产品,因此可能会有一些问题。
- 有时可能无法很好地运行。例如,复杂的实际业务场景。
- 它的运行成本可能相当昂贵,因此在设置时要小心。确保在设置时限制您的使用配额。
如何设置AutoGPT
- 创建你的OpenAI API密钥并将其放入.env文件中。
- 克隆存储库
- 切换到 stable 分支。master 分支可能会有问题。
- 配置任何额外功能
- 运行应用程序
看,运行AutoGPT就这么简单。
动力
有人可能会问,为什么要在AutoGPT中使用多个代理?这有多个原因。其中一个原因是AutoGPT当前只能使用单个代理,当它无法完成任务时,可能会陷入循环。它将继续执行并失败,除非用户强制停止执行。还有一个名为“众人之智”的概念,它解释了多样独立个体的集体意见通常优于该团体中任何单个个体的意见。还有另一个名为橡皮鸭调试的概念,其中程序员携带一只橡皮鸭,并逐行向它解释代码。这种方法已经在计算机科学中使用过。
使用多代理还有其他一些优势:
- 多智能体可以实现更好的协作学习。智能体可以分享知识、见解和经验,以实现更好的学习效果。智能体从彼此的成功和失败中学习,有助于提高整体表现。
- 它还通过将问题分成多个子问题并分配给多个代理来解决问题,每个代理专注于特定的问题。这种分布式环境导致更快的问题解决和更好的结果。
- 它还有助于使环境可扩展。
多智能体已被应用于多个领域。其中一些例子包括:
- 游戏玩耍
- 交通控制
- 机器人技术
AutoGPT实验
进行了多项实验来了解AutoGPT的能力和局限性。实验从简单到复杂的问题解决进行设计。
- 编写一个Hello World的Python程序 - 它能够编写代码,使用Docker容器执行,并显示输出。下面详细说明了完成此任务的逐步执行过程。
一旦我们给它一个目标,它会将其分解,然后尝试实现这些目标。我们可以在上面的图片中看到。
一旦确定目标,它会试图解决它们。在这种情况下,它正在尝试编写一个程序,然后一旦程序编写完成,它会请求执行权限。
然后它执行程序并显示输出。一旦输出出现,它仍然尝试验证编写的程序,但我停止了进一步的执行。
2. 编写一个Python脚本,打印一个带有星号的三角形。
这会一直持续下去,因为它会提要求用户输入,而当它处于循环中时无法得到用户输入。
编写一个Python脚本以打印一个带星号的三角形。三角形的行数应硬编码为10行。
这样做有效,但它以某种方式将行数设置为了5。
4. 列出工作区目录中的图像。
这也起作用了。它能够列出工作空间目录中的图像。
5. 按时间顺序重命名工作区中图片文件夹中的文件。
- 它能够读取所提供目录中的图片。
- 它试图重命名文件夹中的图片。
- 编写 Python 程序以重命名图像。
- 它尝试更改文件夹的权限以重命名其中的图像。
- 它在网上搜索如何更改权限。
- 它又试图编写一个 Python 脚本来更改权限。
- ...它会不断地循环,更改权限并尝试对图像重命名。
- 但它最终失败了。
6. 市场概览分析
我尝试对特定产品进行市场概述分析。在这方面非常出色且详尽。它搜索了网络并收集了大量关于该产品的信息。它保存了网络搜索并对这些文件进行了分析。
在执行了这些实验之后,对于AutoGPT的优劣能力有了一些了解。
未来工作
当前进展涉及理解AutoGPT的架构和流程。它如何发出不同的命令,并且如何完成它的任务。我仍在努力详细了解代理,并很快尝试编写多代理系统,其中代理可以相互交流。这里要注意的一点是,AutoGPT可以在GPT-4的全力利用下使用。它仍然可以与GPT-3一起使用,但性能可能不是最好的。此外,代理之间的互动和多代理环境与使用的GPT架构无关。