文章目录
- 近期最火AutoGPT|自主 AI 来了?来看怎么玩!
- 1. 它是什么?
- 2. 能做些什么?
- 3. 本质是什么?
- 4. 怎么尝试
- 5. 注意点
- 6. 期待
近期最火AutoGPT|自主 AI 来了?来看怎么玩!
文章转载于:近期最火AutoGPT|自主 AI 来了?Github3.6w星、能自主完成任务的AI,来看怎么玩!
这里没加转载是因为,公众号文章作者就是我 🐶🐶🐶
本周 AI 圈 “最靓的仔” —— AutoGPT
从这个名字就可以大概看到重点:Auto,对,没错,自主,拥有自主性的人工智能。
那到底 AutoGPT 是什么,它能做到哪种程度呢,我们先一起来看一个视频:
AutoGPT —— AgentGPT
视频内容由 AgentGPT 提供,AgentGPT 与 AutoGPT 效果基本一致
视频中我仅设定了一个 “我想要财富自由” 的目标,AutoGPT !!#FA5151 自主地通过 “思考” 制定!!了一个完整的计划和方案并且亲自 “实施” 了这个计划。
整个过程如下:
- 设定一个目标:我想要财富自由
- AutoGPT 根据设定的目标拆解主任务(底层是 GPT)
- 分析当前的财务状况并确定需要优化改进的地方
- 制定预算计划以增加储蓄并减少不必要的开支
- 探索投资机会,并推荐可靠的方案
- 分别执行各个主任务并得到结果
- 执行主任务 1,从分析结果可以看到,相当的合理。
- 在执行完任务 1 后,根据返回结果,它又给自己添加了一个子任务:进行市场研究以确定潜在的高收益投资选择。相当于返回结果会被作为新一个目标
- 执行主任务 2,同时又会根据任务的返回结果添加额外的子任务
- …
- 当主任务执行完成后,会去执行额外的添加的子任务。
一直循环以上过程,自主拆解目标任务、任务获取计划(方案)、然后再自主拆解,一直循环,直到任务实现,最终便会得到一个非常详细的实现财富自由的方案。
哇塞,恐怖如斯。是不是有点无敌呀,财富自由原来这么简单。
看完视频,你肯定很想知道 AutoGPT 是什么吧。
1. 它是什么?
AutoGPT 可以自主实现用户设定的任何目标。
AutoGPT 会把一项目标进行拆分分解,然后 自主 地提出一个实施计划。
AutoGPT 是 Github 的开源项目,受到了大量的关注,包括特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并且在 twitter 上发文:AutoGPT 将成为 prompt 工程的下一个前沿。
图片截取于 Andrej Karpathy 推文
甚至有大佬认为 ChatGPT 都过时了,AutoGPT 将是新的时代。
图片截取于 Gregiseberg 推文
2. 能做些什么?
AutoGPT 正在 AI 圈子里掀起一场风暴,它无处不在。
除了文章开头看到的目标计划外,它还在提高生产力方面做很多事情。
比如创建一个后端接口,整个过程包含创建、单测、再创建、再测试然后创建成功,整个过程完全自主,仅需要提供一个目标,** AutoGPT 不仅能完成任务,而且还能保证质量**,咱就说恐怖不恐怖吧!
AutoGPT 生成 API
视频内容来自于推文
再比如有大佬实验仅使让 AutoGPT 生成一个网站,不到 3 分钟 AutoGPT 就实现了。 项目使用 React 和 Tailwind CSS 实现,整个过程完全自主,仅需要提供了一个目标即可。
看来程序员狗头真保不住了。
AutoGPT 生成网页
视频内容来自源于推文
3. 本质是什么?
这里简单介绍一下 AutoGPT 的原理。
如前 Mila 研究所 AI 研究员 Lior 所说:
AutoGPT 就相当于是为基于 GPT的模型提供了内存和主体
图片截取于 Gregiseberg 推文
具体来说:
- AutoGPT 的基于 GPT-4 和 GPT-3.5,底层通过 API 连接;
- AutoGPT 可以进行自主迭代,能通过集成 prompt 历史记录以获得更准确的结果;
- AutoGPT 有内存管理,集成了数据库,因此可存储历史记录,实现上下文存储并基于此进行决策改进
那它的本质到底是什么呢?其实很简单:LLM 递归调用
图片截取于 Jay Hack 推文
其实这不是 AutoGPT 的专利。类似的工具大致都是这个思想,比如 ViperGPT、SayCan 等。
图片截取于 Jay Hack 推文
整个的过程如下:
- 输入目标任务
- 将目标任务发送给执行客户端(Execution Agent),底层使用 GPT-4,只是这个执行客户端专门用于理解任务、拆分任务以及查询任务结果
- 返回任务列表给任务创建客户端(Task Creation Agent),底层同样使用 GPT-4,会基于返回的任务结果再自主创建任务,这里就提现了自主性。
- 将自主创建的任务作为目标任务,递归调用实现
- 所有的任务会基于 GPT-4 进行优先级排序
- 任务返回的结果会作为上下文存储起来以用于下次任务的创建
我们简单将其理解为递归调用,@mathemagic1an 将其理解为模型堆叠,模型向下调用,即将一个模型的 结果 作为另一个模型的 输入,然后一层层调用。
4. 怎么尝试
- 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
- 开源项目,可本地部署运行
5. 注意点
-
成本相对高且不易控制
针对一个目标,AutoGPT 会进行递归拆解然后发送给 GPT 以获取响应。而且,目标任务越泛,要解决这个任务需要的子任务就会越多,递归的层数就会越大,那么发送给 GPT 的 token 就会越多,相应所耗费的成本就会越多。当然,可以用试着限制对话轮数来软性控制一下,但仅是杯水车薪,而且限制了后还可能无法满足效果,毕竟 AutoGPT 的实现原理就是层层递归调用以获取结果。
-
结果暂无法干扰(训练)
AutoGPT 原理简单,但对于我们来说其实是一个递归黑盒,暂时没有方法可以限制每一层的调用或者说定制化调用。
6. 期待
AutoGPT 可能就是 AI 领域中的下一大趋势。能做的、能承载的越来越多,相信GPT 的想象力空间还有多大,我们继续拭目以待。
有时候在想,AI 要是取代了自己该怎么办,可要是 AI 真能取代自己,想想还是挺好的!