AutoGPT——自主 AI 来了?

AutoGPT——自主 AI 来了?

本周 AI 圈 “最靓的仔” —— AutoGPT

从这个名字就可以大概看到重点:Auto,对,没错,自主,拥有自主性的人工智能。

那到底 AutoGPT 是什么,它能做到哪种程度呢,我们先一起来看一个视频:

AutoGPT —— AgentGPT

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

视频中我仅设定了一个 “我想要财富自由” 的目标,AutoGPT !!#FA5151 自主地通过 “思考” 制定!!了一个完整的计划和方案并且亲自 “实施” 了这个计划。

整个过程如下:

  1. 设定一个目标:我想要财富自由
  2. AutoGPT 根据设定的目标拆解主任务(底层是 GPT)
    • 分析当前的财务状况并确定需要优化改进的地方
    • 制定预算计划以增加储蓄并减少不必要的开支
    • 探索投资机会,并推荐可靠的方案
  3. 分别执行各个主任务并得到结果
    • 执行主任务 1,从分析结果可以看到,相当的合理。
    • 在执行完任务 1 后,根据返回结果,它又给自己添加了一个子任务:进行市场研究以确定潜在的高收益投资选择。相当于返回结果会被作为新一个目标
    • 执行主任务 2,同时又会根据任务的返回结果添加额外的子任务
  4. 当主任务执行完成后,会去执行额外的添加的子任务。

一直循环以上过程,自主拆解目标任务、任务获取计划(方案)、然后再自主拆解,一直循环,直到任务实现,最终便会得到一个非常详细的实现财富自由的方案。

哇塞,恐怖如斯。是不是有点无敌呀,财富自由原来这么简单。

看完视频,你肯定很想知道 AutoGPT 是什么吧。

1. 它是什么?

AutoGPT 可以自主实现用户设定的任何目标。

AutoGPT 会把一项目标进行拆分分解,然后 自主 地提出一个实施计划。

AutoGPT 是 Github 的开源项目,受到了大量的关注,包括特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并且在 twitter 上发文:AutoGPT 将成为 prompt 工程的下一个前沿

image-20230413151434037

图片截取于 Andrej Karpathy 推文

甚至有大佬认为 ChatGPT 都过时了,AutoGPT 将是新的时代。

image-20230413164416547

图片截取于 Gregiseberg 推文

2. 能做些什么?

AutoGPT 正在 AI 圈子里掀起一场风暴,它无处不在。

除了文章开头看到的目标计划外,它还在提高生产力方面做很多事情。

比如创建一个后端接口,整个过程包含创建、单测、再创建、再测试然后创建成功,整个过程完全自主,仅需要提供一个目标,** AutoGPT 不仅能完成任务,而且还能保证质量**,咱就说恐怖不恐怖吧!

AutoGPT 生成 API

视频内容来自于推文

再比如有大佬实验仅使让 AutoGPT 生成一个网站,不到 3 分钟 AutoGPT 就实现了。 项目使用 React 和 Tailwind CSS 实现,整个过程完全自主,仅需要提供了一个目标即可。

看来程序员狗头真保不住了。

AutoGPT 生成网页

视频内容来自源于推文

3. 本质是什么?

这里简单介绍一下 AutoGPT 的原理。

如前 Mila 研究所 AI 研究员 Lior 所说:
AutoGPT 就相当于是为基于 GPT的模型提供了内存和主体

image-20230413180730283

图片截取于 Gregiseberg 推文

具体来说:

  1. AutoGPT 的基于 GPT-4 和 GPT-3.5,底层通过 API 连接;
  2. AutoGPT 可以进行自主迭代,能通过集成 prompt 历史记录以获得更准确的结果;
  3. AutoGPT 有内存管理,集成了数据库,因此可存储历史记录,实现上下文存储并基于此进行决策改进

那它的本质到底是什么呢?其实很简单:LLM 递归调用

image-20230413180730283

图片截取于 Jay Hack 推文

其实,这不是 AutoGPT 的专利,大量的工具都是这个思想,比如 ViperGPT、SayCan 等,

image-20230413180730283

图片截取于 Jay Hack 推文

整个的过程如下:

  1. 输入目标任务
  2. 将目标任务发送给执行客户端(Execution Agent),底层使用 GPT-4,只是这个执行客户端专门用于理解任务、拆分任务以及查询任务结果
  3. 返回任务列表给任务创建客户端(Task Creation Agent),底层同样使用 GPT-4,会基于返回的任务结果再自主创建任务,这里就提现了自主性
  4. 将自主创建的任务作为目标任务,递归调用实现
  5. 所有的任务会基于 GPT-4 进行优先级排序
  6. 任务返回的结果会作为上下文存储起来以用于下次任务的创建

我们简单将其理解为递归调用,@mathemagic1an 将其理解为模型堆叠,模型向下调用,即将一个模型的 结果 作为另一个模型的 输入,然后一层层调用

4. 怎么尝试

  1. Auto-GPT
  • 项目地址:https://github.com/Torantulino/Auto-GPT
  • 开源项目,可直接 clone 下来部署运行,部署的步骤在项目的 README.md 中非常详细,也很简单。
  1. AgentGPT
  • 地址:https://agentgpt.reworkd.ai/
  • 体验地址:https://github.com/reworkd/AgentGPT
  • 开源项目,可以本地部署,与 Auto-GPT 效果基本一致
  1. BabyAGI
  • 项目地址:https://github.com/yoheinakajima/babyagi
  • 开源项目,可本地部署运行

5. 注意点

  1. 成本相对高且不易控制
    针对一个目标,AutoGPT 会进行递归拆解然后发送给 GPT 以获取响应。而且,目标任务越泛,要解决这个任务需要的子任务就会越多,递归的层数就会越大,那么发送给 GPT 的 token 就会越多,相应所耗费的成本就会越多。

    当然,可以用试着限制对话轮数来软性控制一下,但仅是杯水车薪,而且限制了后还可能无法满足效果,毕竟 AutoGPT 的实现原理就是层层递归调用以获取结果。

  2. 结果暂无法干扰(训练)
    AutoGPT 原理简单,但对于我们来说其实是一个递归黑盒,暂时没有方法可以限制每一层的调用或者说定制化调用。

6. 期待

AutoGPT 可能就是 AI 领域中的下一大趋势。能做的、能承载的越来越多,相信GPT 的想象力空间还有多大,我们继续拭目以待。

有时候在想,AI 要是取代了自己该怎么办,可要是 AI 真能取代自己,想想还是挺好的!

猜你喜欢

转载自blog.csdn.net/qq_41800366/article/details/130148691
今日推荐