yokon's blog

AutoGPT|新版本使用体验,能否真正的解放双手?

2023.05.04

大佬们对于自动化一切的追求是无止境的,在我们感叹 ChatGPT 的强大时,他们又推出了Auto-GPT

Auto-GPT 利用 OpenAI 的 GPT-3.5 和 GPT-4 模型能力与在线软件和服务进行交互,使其能够“自主”执行我们的任务。

但是它真的能实现完全的自动化,真正的能解放双手吗?我们拭目以待。

post47_1.png

今天体验的版本是 0.3。可以看到新版本加入了 Plugins 功能,第三方开发人员可以通过编写插件来扩展 autogpt 的功能。这样我们可以为它添加更多的交互行为。

注意:因为演示需要用到 OpenAI 的 API key,为避免账户被封禁,国内环境下使用还是要谨慎些。 这次我还是继续白嫖Google-colab 服务,来演示下 Auto-GPT 的能力。如果大家没有访问 colab 的方法的话,还可以使用 github 提供的 codespaces 去体验(国内慢了点但能用就行)。

安装

我们通过 git 直接 clone Auto-GPT 项目,选择 stable 分支。

!git clone -b stable https://github.com/Significant-Gravitas/Auto-GPT.git

%cd Auto-GPT

.env.template 文件名修改为.env。并正确填写自己的 OpenAI API key。

OPENAI_API_KEY=your-openai-api-key

启动

!sh run.sh

因为他会先安装依赖文件,所以第一次启动会慢些。大家在本地执行的时候,可能会出现各种依赖安装失败的问题,建议大家更换国内镜像源。

post47_2.png

体验

我们的目标:让 autogpt 写一篇 1000 字文章,介绍 autogpt 并写出使用教程

post47_3.png

我们根据提示来,他需要输入回车继续,我们就在后面输入框输入。然后它问需要 autogpt 做什么,这里输入我们的目的。建议大家输入英文,因为 autogpt 很多情况会通过 google 搜索,对中文支持不是很友好。

post47_4.png

我们输入目的后可以看到,新版本的 autogpt 已经可以自己设定自己的角色了,甚至连上一版本需要我们输入的目标步骤也可以自己定了。他似乎又进化了:

AUTOGPTGPT  has been created with the following details:
Name:  AUTOGPTGPT
Role:  an AI writing assistant that helps users create high-quality content by providing suggestions, generating ideas, and improving the overall writing process.
Goals:
-  Assist users in creating a 1000-word article introducing Autogpt and providing a tutorial on how to use it.
-  Provide suggestions for improving the article's structure, tone, and clarity.
-  Generate ideas for the article's content and help users expand on them.
-  Offer guidance on how to effectively use Autogpt to enhance the writing process.
-  Ensure that the final article is well-written, informative, and engaging.

大家可以自行翻译下,autogpt 给自己设定了角色并制定了每一步的目标。可以看到还是很合理的,至少比我自己输入的要好很多。接着 autogpt 开始列出它的想法:

THOUGHTS: To begin, let's create a file to store the article. We can then use the 'write_to_file' command to write the initial draft of the article. Once we have a draft, we can use the 'analyze_code' command to check for any grammatical errors or areas where we can improve the structure and clarity of the article. Additionally, we can use the 'google' command to research more information about Autogpt and gather ideas for the article's content.

THOUGHTS:

  • 想先创建文件,然后执行write_to_file命令编写文章的初稿
  • 一旦有了草稿,就可以使用analyze_code命令来检查是否有语法错误或可以改进文章结构和清晰度的地方
  • 此外,可以使用google命令来研究有关 autogpt 的更多信息

然后它根据想法开始进行推理,并列出计划:

REASONING:  Creating a file to store the article will allow us to easily edit and update the article as needed. Writing the initial draft will give us a starting point to work from, and using the 'analyze_code' command will help us improve the quality of the article. Researching more information about Autogpt will help us create a more informative and engaging article.
PLAN:
-  Create a file to store the article
-  Use the 'write_to_file' command to write the initial draft of the article
-  Use the 'analyze_code' command to check for any grammatical errors or areas where we can improve the structure and clarity of the article
-  Use the 'google' command to research more information about Autogpt and gather ideas for the article's content

PLAN:

  • 创建一个文件来存储文章
  • 使用write_to_file命令编写文章的初稿
  • 使用analyze_code命令检查是否有语法错误或可以改进文章结构和清晰度的地方
  • 使用google命令研究有关 autogpt 的更多信息,并收集文章内容

接着它开始对自己的计划进行很人性化的思考和批判:

CRITICISM:  We should be careful not to rely too heavily on the 'analyze_code' command and instead use our own judgment to determine the best way to improve the article. Additionally, we should make sure to properly cite any sources we use for the article.

这一系列的准备工作做完后,autogpt 开始干活了。它列出它下一步的行动:使用write_to_file 命令创建一个文件,文件名是autogpt_article.txt,然后内容是它生成的初稿。

NEXT ACTION:  COMMAND = write_to_file ARGUMENTS = {'filename': '/content/Auto-GPT/autogpt/auto_gpt_workspace/autogpt_article.txt', 'text': "Autogpt is an AI writing assistant that helps users create high-quality content by providing suggestions, generating ideas, and improving the overall writing process. In this article, we will introduce Autogpt and provide a tutorial on how to use it. We will also provide suggestions for improving the article's structure, tone, and clarity, as well as generate ideas for the article's content. Finally, we will offer guidance on how to effectively use Autogpt to enhance the writing process. By the end of this article, you will have a better understanding of how Autogpt works and how it can help you create better content."}

Enter 'y' to authorise command, 'y -N' to run N continuous commands, 's' to run self-feedback commands'n' to exit program, or enter feedback for …

然后它开始征求我们的意见,问我们是否执行write_to_file,我们可以输入以下信息去批准它还是否决它:

  • y:允许执行命令
  • y -N:允许执行连续 N 个命令
  • n:退出程序
  • s:运行自反馈命令
  • 其他反馈指令

这里我直接输入y -10,autogpt 创建了文件后,自己使用analyze_code命令对初稿进行检查,然后通过google 命令去搜索更多关于 autogpt 的信息。

post47_5.png

因为我这里演示配置的 key 还没有 4.0 的 api 权限,所以不出意外的超出了 3.5 的 4096 个 tokens 的限制。比较遗憾,没有得到比较满意的文章。

总结

本篇文章是我看到 autogpt 更新了新版本,然后带大家认识下它,然后上手演示了它的功能。

虽然,autogpt 带给我们很多惊喜,但是实际使用中,更多的也是差强人意。整体下来,我觉得 autogpt 目前并不能解放我们的双手。大家可以自己多体验下。

该项目中很多实现都值得我们去借鉴,大家可以通过阅读它的源码去深入了解它。