当将ChatGPT与Auto-GPT和GPT-Engineer等自主AI代理进行比较时,决策过程中出现了明显的差异。尽管ChatGPT需要人类积极参与对话,根据用户提示提供指导,但规划过程主要依赖于人类干预。
像transformers这样的生成式AI模型是推动这些自主AI代理的最先进核心技术。这些transformers是在大型数据集上训练的,使它们能够模拟复杂的推理和决策能力。
自主代理的开源根源:Auto-GPT和GPT-Engineer
这些自主AI代理中的许多都源自由创新个人领导的开源倡议,他们正在改变传统的工作流程。与其仅仅提供建议不同,Auto-GPT等代理可以独立处理任务,从在线购物到构建基本应用程序。OpenAI的代码解释器旨在将ChatGPT从仅仅提供想法的建议升级为通过这些想法积极解决问题。
Auto-GPT和GPT-Engineer都配备了GPT 3.5和GPT-4的强大功能。它可以理解代码逻辑,合并多个文件,并加速开发过程。
Auto-GPT功能的关键在于其AI代理。这些代理被编程为执行特定任务,从日常任务如日程安排到需要战略决策的更复杂任务。然而,这些AI代理在用户设定的边界内操作。通过通过API控制它们的访问,用户可以确定AI可以执行的行为的深度和范围。
例如,如果任务是创建与ChatGPT集成的聊天Web应用程序,Auto-GPT会自动将目标分解为可操作的步骤,如创建HTML前端或编写Python后端脚本。虽然应用程序会自动生成这些提示,用户仍然可以监视和修改它们。正如AutoGPT的创建者@SigGravitas所示,它能够基于Python构建和执行测试程序。
Auto-GPT的重大更新:代码执行!🤖💻
Auto-GPT现在可以使用#gpt4编写自己的代码并执行Python脚本!
这使得它能够递归调试、开发和自我改进… 🤯 👇 pic.twitter.com/GEkMb1LyxV
— Significant Gravitas (@SigGravitas) 2023年4月1日
下面的图表描述了一个更一般的自主AI代理架构,它提供了有价值的背景信息。
自主AI代理架构
该过程通过验证OpenAI API密钥并初始化各种参数(包括短期记忆和数据库内容)来启动。一旦关键数据传递给代理,模型将与GPT3.5/GPT4进行交互以获取响应。然后,将此响应转换为JSON格式,代理解释以执行各种功能,如进行在线搜索、读写文件甚至运行代码。Auto-GPT使用一个预训练模型将这些响应存储在数据库中,并且将来的交互使用此存储的信息作为参考。该循环一直持续到任务被视为完成。
Auto-GPT和GPT-Engineer的设置指南
设置像GPT-Engineer和Auto-GPT这样的尖端工具可以简化您的开发过程。以下是一个结构化指南,帮助您安装和配置这两个工具。
Auto-GPT
设置Auto-GPT可能看起来很复杂,但通过正确的步骤,它变得简单明了。本指南涵盖了设置Auto-GPT的过程,并提供了对其各种场景的见解。
1. 先决条件:
- Python环境:确保您已安装Python 3.8或更高版本。您可以从官方网站获取Python。
- 如果您计划克隆存储库,请安装Git。
- OpenAI API密钥:与OpenAI进行交互需要API密钥。从您的OpenAI帐户获取密钥。
Open AI API密钥生成
内存后端选项:内存后端用作AutoGPT访问其操作所需的基本数据的存储机制。AutoGPT具备短期和长期存储功能。Pinecone、Milvus、Redis等都是可用的选项。
2. 设置您的工作区:
- 创建一个虚拟环境:
python3 -m venv myenv
- 激活环境:
- MacOS或Linux:
source myenv/bin/activate
- MacOS或Linux:
3. 安装:
- 克隆Auto-GPT存储库(确保已安装Git):
git clone https://github.com/Significant-Gravitas/Auto-GPT.git
- 确保您正在使用Auto-GPT的版本0.2.2,您需要checkout到该特定版本:
git checkout stable-0.2.2
- 导航到下载的存储库:
cd Auto-GPT
- 安装所需的依赖项:
pip install -r requirements.txt
4. 配置:
- 在主要的
/Auto-GPT
目录中找到.env.template
。将其复制并重命名为.env
- 打开
.env
,在OPENAI_API_KEY=
旁边设置您的OpenAI API密钥 - 类似地,要使用Pinecone或其他内存后端,请使用您的Pinecone API密钥和区域更新
.env
文件。
5. 命令行指令:
Auto-GPT提供了丰富的命令行参数来定制其行为:
- 通用用法:
- 显示帮助:
python -m autogpt --help
- 调整AI设置:
python -m autogpt --ai-settings <文件名>
- 指定内存后端:
python -m autogpt --use-memory <内存后端>
- 显示帮助:
CLI中的Auto-GPT
6. 启动Auto-GPT:
完成配置后,使用以下命令启动Auto-GPT:
- Linux或Mac:
./run.sh start
- Windows:
.\run.bat
Docker集成(推荐的设置方法)
对于那些希望将Auto-GPT容器化的用户,Docker提供了一种简化的方法。但是,请注意,Docker的初始设置可能稍微复杂。请参考Docker的安装指南以获得帮助。
按照以下步骤修改OpenAI API密钥。确保Docker在后台运行。现在转到AutoGPT的主目录,并在终端上执行以下步骤
- 构建Docker镜像:
docker build -t autogpt .
- 现在运行:
docker run -it --env-file=./.env -v$PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt
使用docker-compose:
- 运行:
docker-compose run --build --rm auto-gpt
- 对于辅助定制,您可以集成其他参数。例如,要同时运行-gpt3only和-continuous:
docker-compose run --rm auto-gpt --gpt3only--continuous
- 由于Auto-GPT在生成来自大型数据集的内容时具有广泛的自主性,存在意外访问恶意网络源的潜在风险。
为了减少风险,请在像Docker这样的虚拟容器中运行Auto-GPT。这样可以确保任何潜在有害内容都保持在虚拟空间中,保持您的外部文件和系统不受影响。或者,Windows Sandbox也是一种选择,尽管每次会话后都会重置,无法保留其状态。
为了安全起见,始终在虚拟环境中执行Auto-GPT,确保您的系统与意外输出隔离。
尽管如此,仍有可能无法获得您想要的结果。Auto-GPT用户报告了一些重复性问题,尝试写入文件时经常遇到失败的尝试,原因是问题文件名。以下是一个此类错误:Auto-GPT(版本0.2.2)在错误“write_to_file returned: Error: File has already been updated”之后不会附加文本
针对此问题已在相关的GitHub讨论线程中讨论了各种解决方案,供参考。
GPT-Engineer
GPT-Engineer工作流程:
- 问题定义:使用自然语言撰写项目的详细描述。
- 代码生成:基于您的问题描述,GPT-Engineer开始工作,生成代码片段、函数甚至完整的应用程序。
- 完善和优化:在生成代码后,总有改进的空间。开发人员可以修改生成的代码以满足特定要求,确保质量优秀。
设置GPT-Engineer的过程已经被压缩成了易于follow的指南。以下是一个逐步分解:
1. 准备环境:在开始之前,请确保准备好项目目录。打开终端并运行以下命令
- 创建一个名为”website”的新目录:
mkdir website
- 进入该目录:
cd website
2. 克隆存储库: git clone https://github.com/AntonOsika/gpt-engineer.git .
3. 导航并安装依赖项:克隆后,切换到目录 cd gpt-engineer
并安装所有必要的依赖项 make install
4. 激活虚拟环境:根据您的操作系统,激活已创建的虚拟环境。
- 对于macOS/Linux:
source venv/bin/activate
- 对于Windows,由于API密钥设置的原因,稍有不同:
set OPENAI_API_KEY=[your api key]
5. 配置 – 设置API密钥:要与OpenAI进行交互,您需要一个API密钥。如果您还没有,请在OpenAI平台上注册,然后执行以下操作:
- 对于macOS/Linux:
export OPENAI_API_KEY=[your api key]
- 对于Windows(如前面提到的):
set OPENAI_API_KEY=[your api key]
6. 项目初始化和代码生成: GPT-Engineer的魔法从在projects
文件夹中找到的main_prompt
文件开始。
- 如果您希望启动一个新项目:
cp -r projects/example/ projects/website
在这里,将”website”替换为您选择的项目名称。
- 使用您选择的文本编辑器编辑
main_prompt
文件,记录下项目的要求。
- 一旦您对提示满意,运行:
gpt-engineer projects/website
生成的代码将驻留在项目文件夹中的workspace
目录中。
7. 生成后处理:虽然GPT-Engineer功能强大,但并非总是完美无缺。检查生成的代码,如果需要进行任何手动更改,并确保一切运行顺畅。
示例运行
提示:
“我想用Python开发一个基本的Streamlit应用程序,通过交互式图表来可视化用户数据。该应用程序应该允许用户上传CSV文件,选择图表类型(例如柱状图、饼图、折线图)并动态可视化数据。它可以使用像Pandas用于数据处理和Plotly用于可视化的库。”
设置并运行GPT-Engineer
与Auto-GPT类似,即使完成了完整的设置,GPT-Engineer有时也会遇到错误。然而,在第三次尝试中,我成功访问了以下streamlit网页。请确保您在官方GPT-Engineer存储库的问题页面上检查任何错误。
使用GPT-Engineer生成的Streamlit应用程序
AI代理的当前瓶颈
运营开销
Auto-GPT执行的单个任务可能涉及多个步骤。重要的是,这些步骤中的每一个都可能单独计费,增加成本。Auto-GPT可能会陷入重复循环,无法实现承诺的结果。这种情况会损害其可靠性并削弱投资。
想象一下想要使用Auto-GPT创建一篇短文。这篇文章的理想长度是8K个标记,但在创建过程中,模型会进入多个中间步骤来完成内容。如果您使用的是8k上下文长度的GPT-4,则输入费用为$0.03。而输出费用为$0.06。现在,假设模型陷入了一个意想不到的循环,多次重复某些部分。这不仅使过程变得更长,而且每次重复还会增加成本。
为了防止这种情况发生:
在OpenAI计费与限制中设置使用限制:
- 硬限制:限制超出您设定的阈值的使用。
- 软限制:一旦达到阈值,向您发送电子邮件提醒。
功能限制
根据其源代码描绘的情况,Auto-GPT的能力受到一定的限制。它的问题解决策略受其内在函数和GPT-4的API提供的可访问性的限制。欢迎访问:Auto-GPT讨论,进行深入讨论和可能的解决方法。
人工智能对劳动力市场的影响
人工智能与劳动市场之间的动态关系在这份研究论文中得到了广泛记录。一个重要观点是,虽然技术进步通常使技术工人受益,但对从事例行任务的人员构成了风险。事实上,技术进步可能会取代某些任务,但同时也为多样化的、劳动密集型的任务铺平了道路。
预计80%的美国工人可能会发现语言学习模型(LLMs)对他们日常任务的影响约为10%。这一统计数据强调了人工智能和人类角色的融合。
人工智能在劳动力中的双重角色:
- 积极方面:人工智能可以自动化许多任务,从客户服务到财务咨询,为缺乏专门团队资金的小企业提供了喘息机会。
- 担忧:自动化的好处引发了人们对潜在的工作岗位流失的担忧,特别是在人类参与至关重要的领域,如客户支持。与此同时,还涉及到人工智能访问机密数据的伦理迷宫。这需要一个强大的基础设施,确保人工智能的透明度、责任性和合理使用。
结论
显然,像ChatGPT、Auto-GPT和GPT-Engineer这样的工具处于重塑技术与用户之间互动关系的前沿。这些AI代理源于开源运动,展示了机器自主性的可能性,从日程安排到软件开发都能简化任务。
随着我们进入一个AI更深度融入我们日常生活的未来,平衡 embracing AI’s capabilities和保护人类角色的关键性变得至关重要。在更广泛的光谱上,AI劳动力市场的动态呈现了增长机会和挑战的双重形象,要求在技术伦理和透明度方面进行有意识的整合。