近期最火AutoGPT|自主 AI 来了?Github3.6w星、能自主完成任务的AI,来看怎么玩!

2023年4月18日 359点热度 0条评论

%title插图%num

👉腾小云导读

本周AI圈”最红炸子鸡“诞生——AutoGPT。不仅如此,这款软件系统的横空出世,一举将AI进程推向了新高度——自主人工智能。顾名思义,它所具备的能力主打的就是一个“自主”,不用人类插手!本篇作者向ta提出「希望实现财富自由」,AutoGPT随即提出完整方案并自己实施起来。快来围观AutoGPT 的硬核体验和使用教程吧~

👉看目录,点收藏

1 AutoGPT 简介

AutoGPT 能做什么

AutoGPT 的本质与原理

AutoGPT 体验入口与注意事项

5 总结

 

上周,小云刚给各位分享了「我问了鹅厂程序员:你们工作中怎么用ChatGPT?如何高效Prompt?」。顷刻之间,这几天 AI 圈又诞生一位 “最靓的仔” —— AutoGPT。从这个名字就可以大概看到重点:Auto。没错,重点就是自主,也即拥有自主性的人工智能。
 
那到底 AutoGPT 是什么?它能做到哪种程度呢?我们先一起来看一个视频:

*视频内容由 AgentGPT 提供,AgentGPT 与 AutoGPT 效果基本一致

视频中我仅设定了一个 「我想要财富自由」的目标。AutoGPT 自主地通过 “思考” 制定了一个完整的计划和方案,并且亲自 “实施” 了这个计划。整个过程如下:
1、设定一个目标:我想要财富自由
2、AutoGPT 根据设定的目标拆解主任务(底层是 GPT)
  • 分析当前的财务状况并确定需要优化改进的地方。
  • 制定预算计划以增加储蓄并减少不必要的开支。
  • 探索投资机会,并推荐可靠的方案。
3、分别执行各个主任务并得到结果
  • 执行主任务 1,从分析结果可以看到,相当的合理。 
  • 在执行完任务 1 后,根据返回结果,它又给自己添加了一个子任务:进行市场研究以确定潜在的高收益投资选择。
  • 相当于返回结果会被作为新一个目标 。
  • 执行主任务 2,同时又会根据任务的返回结果添加额外的子任务 。
  • ...
4、当主任务执行完成后,会去执行额外的添加的子任务
 
一直循环以上过程,自主拆解目标任务、任务获取计划(方案)、然后再自主拆解,一直循环,直到任务实现。最终便会得到一个非常详细的实现财富自由的方案。恐怖如斯。
 
看完视频,你肯定很想知道 AutoGPT 是什么吧?
 

   1 AutoGPT简介

AutoGPT 可以自主实现用户设定的任何目标。它会把一项目标进行拆分分解,然后 自主 地提出一个实施计划。
 
AutoGPT 是 Github 的开源项目,受到了大量的关注。特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并且在 twitter 上发文:AutoGPT 将成为 prompt 工程的下一个前沿。
 
%title插图%num
*截自 @Andrej Karpathy 推文
甚至有大佬认为 ChatGPT 都过时了,AutoGPT 将是新的时代。
%title插图%num
*截自 @Gregiseberg 推文
 

   2 AutoGPT能做什么

AutoGPT 正在 AI 圈子里掀起一场风暴,它无处不在。
除了文章开头看到的目标计划外,它还在提高生产力方面做很多事情:
比如创建一个后端接口。整个过程包含创建、单测、再创建、再测试然后创建成功,整个过程完全自主,仅需要提供一个目标,AutoGPT 不仅能完成任务,而且还能保证质量。
 

*视频来自twitter @adamcohenhillel
再比如有大佬实验仅让 AutoGPT 生成一个网站,不到 3 分钟 AutoGPT 就实现了。项目使用 React 和 Tailwind CSS 实现,整个过程完全自主,仅需要提供了一个目标即可。看来程序员「狗头」真保不住了。

*视频来自twitter @SullyOmarr

   3 AutoGPT的本质与原理

这次我们简单介绍一下 AutoGPT 的原理,如果各位感兴趣可以留言,我们将出一期文章进行详细介绍。总体来看,如前 Mila 研究所 AI 研究员 Lior 所说:AutoGPT 就相当于是为基于 GPT的模型提供了内存和主体。
%title插图%num
*截自@AlphaSignalAI  推文
 
具体来说,其技术原理有几大要点:
  • AutoGPT 基于 GPT-4 和 GPT-3.5,底层通过 API 连接;
  • AutoGPT 可以进行自主迭代,能通过集成 prompt 历史记录以获得更准确的结果;
  • AutoGPT 有内存管理,集成了数据库,因此可存储历史记录,实现上下文存储并基于此进行决策改进。
 
那它的本质到底是什么呢?其实很简单:LLM 递归调用
%title插图%num
*@Jay Hack  推
 
其实这不是 AutoGPT 的专利。类似的工具大致都是这个思想,比如 ViperGPT、SayCan 等。
 
%title插图%num
*@Jay Hack  推
 
整个的过程如下:
  1. 输入目标任务。 
  2. 将目标任务发送给执行客户端(Execution Agent),底层使用 GPT-4,只是这个执行客户端专门用于理解任务、拆分任务以及查询任务结果。 
  3. 返回任务列表给任务创建客户端(Task Creation Agent),底层同样使用 GPT-4,会基于返回的任务结果再自主创建任务,这里就现了自主性。 
  4. 将自主创建的任务作为目标任务,递归调用实现 。
  5. 所有的任务会基于 GPT-4 进行优先级排序 。
  6. 任务返回的结果会作为上下文存储起来以用于下次任务的创建。
我们简单将其理解为递归调用。@mathemagic1an 将其理解为模型堆叠:模型向下调用,即将一个模型的结果作为另一个模型的输入,然后一层层调用。

   4 AutoGPT 体验入口与注意事项

 
  • Auto-GPT
项目地址:https://github.com/Torantulino/Auto-GPT
开源项目,可直接 clone 下来部署运行,部署的步骤在项目的 README.md 中非常详细,也很简单。
  • AgentGPT 
地址:https://agentgpt.reworkd.ai/
体验地址:https://github.com/reworkd/AgentGPT
开源项目,可以本地部署,与 Auto-GPT 效果基本一致
  • BabyAGI
项目地址:https://github.com/yoheinakajima/babyagi
开源项目,可本地部署运行
使用中有几个注意事项:
  • 成本相对高且不易控制
针对一个目标,AutoGPT 会进行递归拆解然后发送给 GPT 以获取响应。而且,目标任务越泛,要解决这个任务需要的子任务就会越多,递归的层数就会越大,那么发送给 GPT 的 token 就会越多,相应所耗费的成本就会越多。当然,可以用试着限制对话轮数来软性控制一下,但仅是杯水车薪,而且限制了后还可能无法满足效果,毕竟 AutoGPT 的实现原理就是层层递归调用以获取结果。
 
  • 结果暂无法干扰(训练)
AutoGPT 原理简单,但对于我们来说其实是一个递归黑盒,暂时没有方法可以限制每一层的调用或者说定制化调用。

   5 总结

AutoGPT 可能就是 AI 领域中的下一大趋势。能做的、能承载的越来越多,相信GPT 的想象力空间还有多大,我们继续拭目以待。以上是本次分享全部内容,欢迎大家在评论区分享交流。如果觉得内容有用,欢迎转发~
-End-
原创作者|张波
技术责编|张波
%title插图%num

%title插图%num

%title插图%num

%title插图%num

 

关注我并点亮星标,回复「AIGC」领取更多鹅厂程序员解析GPT文章、0基础AI网站搭建教程、LLM模型源件、工具插件、网站源码和GPU服务器限量优惠

harry

这个人很懒,什么都没留下

文章评论