从gpt-3到gpt-4,我们可以看到在高级推理,输入设置,微调行为和理解更长的上下文信息等方面,chatgpt在不断的优化训练中已经取得了显著的进展。
但是针对于这种交互式的gpt模型,我们更希望看到能像电影里的人工智能,拥有自我意识,可以进行自我学习和进化。不需要通过频繁的引导和交互,我们只需要简单提出一个目标,ai就能自主的完成所有的执行规划和逻辑处理,并不断进行自我论证和优化,最后完成我们提出的目标。
那么今天它来了,它就是chatgpt的进化版本:autogpt。
2、什么是autogpt?autogpt 是一个实验性开源应用程序,它利用 openai 的gpt-4语言模型来创建完全自主和可定制的 ai 代理。它于 2023 年 3 月 30 日由 toran bruce richards 发行。
游戏开发者toran创立了一家名为significant gravitas的游戏公司。
在短短的一个多月时间里,autogpt的git项目已经获得了超过120万的star,作为 gpt-4 完全自主运行的首批示例之一,autogpt 突破了 ai 的可能性界限。
与其他 ai 工具相比,autogpt 是独一无二的,因为它独立运行,这意味着你不再需要操纵模型来满足你的需求。相反,你只需要写下你的目标,然后 ai 会为你完成剩下的工作。因此,autogpt 从根本上改变了 ai 与人类之间的交互方式,人类不再需要发挥积极作用,同时仍然保持与 chatgpt 等其他 ai 应用程序相同或更好的结果质量。
3、autogpt 如何工作?autogpt 基于自主 ai 机制工作,其中 ai 系统创建不同的 ai 代理来满足特定任务,其中包括:
任务创建代理:当你在 autogpt 上输入目标时,第一个与任务创建代理交互的 ai 代理。根据你的目标,它将创建一个任务列表以及实现这些目标的步骤,并将其发送给优先级代理。任务优先级代理:收到任务列表后,优先级 ai 代理会确保顺序正确且符合逻辑,然后再将其发送给执行代理。任务执行代理:完成优先级排序后,执行代理将一个接一个地完成任务。这涉及利用 gpt-4、互联网和其他资源来获得结果。
上述代理之间相互通信。所以当执行代理完成所有任务,结果不理想时,它可以与任务创建代理通信,创建新的任务列表。三个代理之间的迭代循环,直到完成所有用户定义的目标。
ai 代理的行为也显示在用户界面上,将它们分为四组:思想、推理、计划、评判。
思想(thoughts):ai 代理分享它对目标的想法。推理(reasoning):ai 代理推理如何开展并实现它的想法。计划(plan):ai代理通过分析,列举了所要完成任务的计划。评判(criticism):ai进行自我评判,纠正错误并克服任何限制问题。通过共享此计算流程,autogpt 可以进行反复尝试论证,并进行针对性的优化处理,可以在没有任何用户干预的情况下克服所遇到的所有问题。
4、autogpt和chatgpt的对比?虽然底层的 llm 模型是相同的,但是 autogpt 和 chatgpt 之间还是有不少区别。
4.1 实时洞察chatgpt 使用的最新 gpt-4 模型是在与 gpt-3.5 相同的数据上训练的,该数据仅到 2021 年 9 月,你无法使用 chatgpt 获得实时数据信息,因为你无法访问网站和在线平台来获取信息和提取信息。
相比之下,autogpt 可以访问互联网。它不仅可以上网冲浪,还可以验证来源是否合法。此外,autogpt 可以访问任何平台来执行任务。例如,如果你要求 ai 研究销售产品的前景并发送外联电子邮件,它会直接使用你的 gmail 帐户起草并发送电子邮件。
4.2 内存管理上下文窗口对于语言模型给出准确答案非常重要。但在像 gpt-4 这样的 llm 中,窗口有 4000 到 8000 个令牌的限制。因此,如果要求超出限制,模型可能无法正确遵循所有指令,或者可能偏离正切并提供不可靠的输出。
相比之下,autogpt 擅长短期和长期内存管理。通过使用数据库,本地cache和redis进行内存管理,可以存储大量上下文信息或以前的经验,让ai模型做出更好的决策。
4.3 图像生成autogpt 能够生成图像,因为它可以使用多种图像生成引擎,默认使用dall-e 。如果你想为你的 ai 代理启用图像生成功能,你需要访问 dall-e 的 api。尽管是多模式输入方式,但此功能目前在 chatgpt-4 中不可用。
3.4 文字转语音你可以通过在命令行中键入python -m autogpt --speak在 autogpt 上启用文本到语音转换。但是每次与 autogpt 交互时都必须输入命令。你还可以通过将 autogpt 连接到多功能 ai 语音软件 eleven labs,为语音添加不同的声音。
5、autogpt 的局限性毫无疑问,自主性为ai系统增加了一个新的维度。同时,我们也不能忽视autogpt的局限性和风险。下面列出了你必须知道的一些关键限制。
5.1 成本高昂虽然功能令人惊叹,但 autogpt 的实用性可能会让你失望。由于 autogpt 使用昂贵的 gpt-4 模型,因此即使是小任务,完成每个任务的成本也可能很高。这主要是因为 autogpt 在特定任务的步骤中会多次使用 gpt-4。
5.2 经常陷入循环用户在使用 autogpt 时面临的最常见问题是它陷入循环。如果这种情况持续超过几分钟,则可能意味着你必须重新启动该过程。发生这种情况是因为 autogpt 依赖 gpt-4 来正确定义和分解任务。因此,如果底层llm返回结果不足以让 autogpt 采取任何行动就会出现反复尝试的问题。
5.3 数据安全性由于autogpt经过充分授权,能自主运行并访问你的系统和互联网,例如使用你的twitter账号,登录github,使用搜索引擎等,因此你的数据可能会被泄露。autogpt没有安全代理,所以你在使用 autogpt 时必须小心,如果没有给出正确的说明和安全指南,你不能让模型继续运行。
5、如何安装 autogpt?与其他人工智能工具不同,autogpt 没有简单的注册程序来访问其平台和功能。在开始使用 autogpt 之前,你必须下载各种软件以满足要求。以下是详细的步骤要求:
第一步:下载必备软件首先你需要有一个git账号,同时需要安装python3.1.0或者更高版本,此外你必须还能熟练使用常用的shell命令或者有docker容器进行项目启动和配置。
第二步:设置你的 openai api 密钥如果你还没有,请创建一个 openai 帐户(当然如果你在国内想要创建账号不是一件简单的事情,你可以参考网上其他文章进行账号申请)。打开openai帐户后,打开user - api keys转到 api 密钥选项卡。你将看到一个用于创建密钥的选项。单击它,然后复制密钥。
第三步:克隆最新版本的autogpt(1)clone项目打开命令行工具通过命令git clone https://github.com/torantulino/auto-gpt.git 将项目clone到本地
(2)执行安装通过命令cd auto-gpt && ls -al进入目录后,可以看到有很多的文件,其中一个文件是 requirements.txt。在此文件中,你将看到运行 autogpt 所需的模块。
要安装这些模块,可以使用命令pip install -r requirements.txt 进行下载安装。
(3)修改配置通过命令vim .env.template your-openai-api-key),配置完成后执行mv .env.template .env 使配置生效
其他相关的配置可以参考表格按需进行
llm provider
可以配置openai_api_key,是否使用azure
llm model settings
可以配置openai提供的token限制,避免过度调用成本浪费 ,默认4000-8000
llm models
llm 底层语言模型,默认可以选择gpt-4或者gpt-3.5-turbo
memory
内存管理,可以配置local,redis,pinecone,milvus等
image generation provider
图像生成,可以配置图像大小和图像生成引擎:dalle,huggingface,stable diffusion webui
audio to text provider
语音转文字,可以配置huggingface
git provider for repository actions
github配置,通过配置github api key用于访问和管理github
web browsing
搜索引擎管理,可以配置不同的浏览器:firefox,chrome,safari,搜索引擎:google等授权open api用于访问互联网获取信息和管理访问深度
tts provider
可以使用mac os、streamelements和elevenlabs来进行文本转语音的配置
twitter api
twitter账号管理,管理配置你的twitter账号,配置token用于访问对应的api
auto-gpt - general settings
autogpt的一些默认配置,例如存放目录,开关,user agent ,ai settings等
(4)开始使用在完成以上配置以后,就已经完成了autogpt的基本配置,这时候就可以通过命令python -m autogpt 开启你的autogpt之旅 !
从上图可以看出,autogpt需要你为ai取一个名字[name],一个角色定位[role],同时你可以为它制定目标[goals](最多5个目标,如果你仅有一个目标就直接回车)。
在你制定完成目标以后,autogpt会进行自主思考并分析你的目标[thoughts],思考完成后开始理解并推理如何去完成这个目标[reasoning],然后开始自主拆解成具体的计划[plan],最后会提出评判[criticism] 用以保证 ai 代理纠正错误并作出正确的决断。
完成以上的行为规划后,autogpt会提示它将要作出的指令和动作[next action], 里面包含具体执行的命令[command]和参数[arguments],用户可以在此时可以对风险命令进行识别,避免出现数据泄露等预期外的风险,这里可以通过y或者n进行授权或者拒绝autogpt接下来的指令动作。
autogpt会通过以上步骤,进行多次循环,由于autogpt可以存储上下文和历史经验,所以每一次都会根据反馈结果进行更深入的思考,制定出更优的方案,最后列举他要执行的计划,反复尝试和补充,直到达到你预期的目标。
autogpt会通过以上步骤,进行多次循环,由于autogpt可以存储上下文和历史经验,所以每一次都会根据反馈结果进行更深入的思考,制定出更优的方案,最后列举他要执行的计划,反复尝试和补充,直到达到你预期的目标。
(5)docker使用当然,你也可以使用docker运行 :
// 最简单的方式就是通过docker-composedocker-compose build auto-gptdocker-compose run --rm auto-gpt// 使用docker命令构建docker build -t auto-gpt .docker run -it --env-file=.env -v $pwd:/app auto-gpt
你可以传递额外的参数,例如,运行方式--gpt3only和--continuous模式:
// docker-composedocker-compose run --rm auto-gpt --gpt3only --continuous// docker docker run -it --env-file=.env -v $pwd:/app --rm auto-gpt --gpt3only --continuous
6、总结与传统的文本生成技术相比,我们发现autogpt的能力进化令人震惊,它可以通过分析你的目标,自动拆解成它需要执行的任务,并在执行的过程中根据已有的经验和决策不断优化完善和总结,同时autogpt获取信息的手段也非常丰富,它能通过搜索引擎搜索,github,网页工具等渠道下载和提炼所需要的信息,通过本地缓存,语音转化,图像生成等插件能力,最终完成你所设立的目标。这种自我意识,自我迭代和更新的形态已经非常接近于电影《流浪地球》里的moss这种人工智能!
最后问题来了,这篇文章是autogpt自动生成的吗?
以上就是拥有自我意识的ai:autogpt的详细内容。
