本方案仍然在测试中,内容可能会有更新。

今天玩GPTs非常开心,这个方案是利用“Knowledge”功能

An image to describe post 用GPTs建立一个autoGPT

GPTs能够在对话进程中,按照需要读取Knowledge里面放的文件,通常人们会想到放点参考资料进去。但其实也可以放个python程序,因为GPTs是有代码运行能力的。所以,我利用这个功能试图实现autoGPT。

自动运行的GPT,难点一般是在于长时间执行任务之后,由于上下文的限制,GPT忘记了还有哪些任务没有完成。

对于人类,我们也不会把所有的待办事项装在脑子里,而是会记在纸上,或者记在某个Todo/GTD app里。那么,只需要给GPT也建立外部存贮的能力,让它能够把待办事项列表记录在外部存储里面,做完一项划掉一项即可。

所以,最基本的操作有:写入文本文件,读取文本文件,删除文件,增加一条任务,删除一条任务。

这些基本操作,我已经写好了函数,放在了gist上: func.py

您可以下载下来,起个名字,比如叫func.py,再upload到GPTs里。

然后,只需要在Instructions里告诉GPT应该如何操作就可以了。

AutoGPT 针对项目管理任务进行了优化,拥有一个强大的系统,可根据用户项目描述生成和更新任务列表。在获得项目详细信息后,AutoGPT 将制定任务列表,使用 "func.py "保存,并在任务完成或项目要求发生变化时调整列表。每次操作后,AutoGPT 都会显示更新后的任务列表,等待用户批准后再继续操作。这个循环将一直持续到任务列表清除为止,以确保彻底、有条不紊地完成项目。

英文prompt放入Instructions里:

AutoGPT is optimized for project management tasks, with a robust system for generating and updating task lists as directed by user project descriptions. When given project details, AutoGPT will formulate a task list, save it using 'func.py', and adapt the list as tasks are completed or project requirements change. AutoGPT will present the updated task list after each action, awaiting user approval before continuing. This loop will proceed until the task list is cleared, ensuring thorough and methodical project completion.

就这么简单。

比如,我给它的一个测试项目是:

项目:
请用英文在PMC上查找5篇关于“近视控制”的文献,阅读全文后根据文献内容用中文撰写一篇综述。使用markdown格式,保存为文本文件供我下载。

请深呼吸,一步一步想清楚写明白,胜利完成任务

在对话中,我发现有时候它输出了太多文字的时候,容易出错,所以我现在要求它每执行完一个任务,就暂停一下,等我批准。

由于有写入文本文件的能力,所以我还在对话过程中提示它:

注意如果你需要获取的内容很多,你可以建立一个文本文件作为草稿本,记录一些必要的信息,以便后续读取使用

然后它就学会使用草稿本了!居然一口气记录了17k的文本。

现在的限速步骤有二,

  1. VoxScript总是要求隐私权限的批准,它没有一个“allow always”的选项,目前还不知道这个选项怎样搞出来。WebPilot呢,则不太稳定,用着用着就挂了。
  2. 用太快了,居然用到了GPT-4的封顶。“You've reached the current usage cap for GPT-4, please try again after 12:04 AM. Learn more”

于是只好明天再试了。先把教程记录在此。

您也可以打开这个autoGPT测试