人工智能
Auto-GPT & GPT-Engineer:深入了解当今领先的AI代理

当比较ChatGPT与自主AI代理(如Auto-GPT和GPT-Engineer)时,决策过程中出现了显著的差异。虽然ChatGPT需要积极的人类参与来驱动对话,根据用户提示提供指导,但规划过程主要依赖于人类干预。
生成式AI模型(如变换器)是这些自主AI代理的最先进的核心技术。这些变换器是在大型数据集上训练的,允许它们模拟复杂的推理和决策能力。
自主代理的开源根源: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的聊天网页应用,Auto-GPT自主地将目标分解为可执行的步骤,例如创建HTML前端或编写Python后端。虽然应用程序自主地生成这些提示,但用户仍然可以监视和修改它们。正如AutoGPT的创建者@SigGravitas所示,它能够根据Python构建和执行测试程序。
https://twitter.com/SigGravitas/status/1642181498278408193
虽然下面的图表描述了一个更通用的自主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帐户获取密钥
内存后端选项:内存后端作为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版本,您需要切换到该特定版本:
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或其他内存后端,请在
.env文件中用您的Pinecone API密钥和区域更新它。
5. 命令行指令:
Auto-GPT提供了一组丰富的命令行参数来自定义其行为:
- 一般用法:
- 显示帮助:
python -m autogpt --help - 调整AI设置:
python -m autogpt --ai-settings <filename> - 指定内存后端:
python -m autogpt --use-memory <memory-backend>
- 显示帮助:
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沙盒也是一个选择,尽管它在每个会话后都会重置,无法保留其状态。
出于安全考虑,请始终在虚拟环境中执行Auto-GPT,以确保您的系统免受意外输出的影响。
鉴于所有这些,仍然有可能您无法获得所需的结果。Auto-GPT用户在尝试写入文件时报告了反复出现的问题,通常会遇到由于问题文件名而导致的失败尝试。以下是此类错误之一:Auto-GPT(版本0.2.2)不追加文本,错误“write_to_file返回:错误:文件已更新
解决此问题的各种解决方案已在相关的GitHub线程中讨论,以供参考。
GPT-Engineer
GPT-Engineer工作流程:
- 提示定义:使用自然语言编写项目的详细描述。
- 代码生成:根据您的提示,GPT-Engineer开始工作,生成代码片段、函数,甚至整个应用程序。
- 完善和优化:生成后,总是有改进的余地。开发人员可以修改生成的代码以满足特定的要求,确保最高质量。
设置GPT-Engineer的过程已凝结成一个易于遵循的指南。以下是分步骤的分解:
1. 准备环境:在开始之前,请确保您的项目目录已准备就绪。打开终端并运行以下命令
- 创建一个名为“网站”的新目录:
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
这里,请用您的项目名称替换“网站”。
- 使用您选择的文本编辑器编辑
main_prompt文件,撰写您的项目要求。
- 一旦您对提示感到满意,请运行:
gpt-engineer projects/website
您的生成代码将位于项目文件夹中的workspace目录中。
7. 生成后:虽然GPT-Engineer很强大,但它可能并不完美。检查生成的代码,如果需要,请进行手动更改,并确保一切顺利运行。
示例运行
提示:
“我想开发一个基本的Streamlit应用程序,使用Python以交互式图表可视化用户数据。该应用程序应允许用户上传CSV文件,选择图表类型(例如,条形图,饼图,线图),并动态可视化数据。它可以使用Pandas进行数据操作和Plotly进行可视化。”
与Auto-GPT一样,GPT-Engineer即使在完全设置后,也可能会遇到错误。然而,在我的第三次尝试中,我成功地访问了以下Streamlit网页。请确保您在GPT-Engineer的官方问题页面上查看任何错误。
当前的瓶颈
运营费用
由Auto-GPT执行的单个任务可能涉及多个步骤。重要的是,这些步骤中的每一个都可能被单独计费,从而增加成本。Auto-GPT可能会陷入重复循环,无法交付承诺的结果。这种情况会损害其可靠性,并削弱投资。
想象一下,您想使用Auto-GPT创建一篇短篇文章。理想的文章长度为8K令牌,但是在创建过程中,模型深入到多个中间步骤,以完成内容。如果您使用GPT-4带有8K上下文长度的输入,则会对其进行计费,$0.03,而输出的成本将为$0.06。现在,假设该模型遇到一个意外的循环,多次重复某些部分。不仅该过程变得更长,而且每次重复也会增加成本。
为了防止这种情况:
- 设置使用限制,在OpenAI计费和限制中:
- 硬限制:限制使用超过您设置的阈值。
- 软限制:当达到阈值时向您发送电子邮件警报。
功能限制
Auto-GPT的功能,如其源代码所示,具有某些限制。其问题解决策略由其固有的功能和GPT-4的API提供的可访问性所管理。有关深入讨论和可能的解决方法,请参阅:Auto-GPT讨论。
AI对劳动力市场的影响
AI与劳动力市场之间的动态关系不断演变,并在此研究论文中有详细的记录。一个关键的收获是,虽然技术进步通常惠及熟练工人,但也对从事常规任务的人员构成风险。事实上,技术进步可能会取代某些任务,但同时也为多样化的劳动密集型任务铺平了道路。
据估计,80%的美国工人可能会发现LLM(语言学习模型)会影响他们日常任务的10%。这一统计数据凸显了AI和人类角色之间的融合。
AI在工作中的双重角色:
- 积极方面:AI可以自动执行许多任务,从客户服务到财务建议,为资金不足以支持专门团队的小型企业提供了缓解。
- 担忧:自动化的好处引发了人们对潜在工作岗位流失的担忧,特别是在人类参与至关重要的领域,例如客户支持。与此同时,还有与AI访问机密数据相关的道德迷宫。这需要一个强大的基础设施,确保透明度、问责制和AI的道德使用。
结论
显然,ChatGPT、Auto-GPT和GPT-Engineer等工具站在技术与其用户之间交互方式的前沿。这些AI代理源自开源运动,体现了机器自主性的可能性,简化了从安排到软件开发的任务。
当我们进入一个AI更深入地融入日常生活的未来时,在拥抱AI能力的同时保护人类角色的平衡变得至关重要。在更广泛的范围内,AI-劳动力市场的动态画出了成长机会和挑战的双重图景,要求我们在技术融合中意识到道德和透明度的重要性。


















