Connect with us

人工智能

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

mm

当比较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代理架构,但它对幕后过程提供了有价值的见解。

AI Agent Architecture like Autogpt, GPT Engineer

自主AI代理架构

该过程从验证OpenAI API密钥和初始化各种参数(包括短期内存和数据库内容)开始。一旦将关键数据传递给代理,模型将与GPT3.5/GPT4交互以检索响应。然后将此响应转换为JSON格式,代理将其解释以执行各种函数,例如进行在线搜索、读取或写入文件,甚至运行代码。Auto-GPT使用预训练模型将这些响应存储在数据库中,未来交互使用此存储信息作为参考。循环继续,直到任务被认为是完整的。

Auto-GPT和GPT-Engineer的设置指南

设置尖端工具,如GPT-Engineer和Auto-GPT,可以简化您的开发过程。以下是结构化指南,帮助您安装和配置这两种工具。

Auto-GPT

设置Auto-GPT可能看起来复杂,但有了正确的步骤,它变得简单明了。本指南涵盖了设置Auto-GPT的程序,并提供了对其多种场景的见解。

1. 先决条件:

  1. Python环境:确保您已安装Python 3.8或更高版本。您可以从官方网站获取Python。
  2. 如果您计划克隆存储库,请安装Git
  3. OpenAI API密钥:与OpenAI交互需要API密钥。从您的OpenAI帐户获取密钥
Open AI API密钥

Open AI API密钥生成

内存后端选项:内存后端作为AutoGPT访问其操作所需数据的存储机制。AutoGPT采用短期和长期存储能力。 PineconeMilvusRedis等都是可用的选项。

2. 设置工作空间:

  1. 创建虚拟环境:python3 -m venv myenv
  2. 激活环境:
    1. MacOS或Linuxsource myenv/bin/activate

3. 安装:

  1. 克隆Auto-GPT存储库(确保您已安装Git):git clone https://github.com/Significant-Gravitas/Auto-GPT.git
  2. 要使用Auto-GPT的0.2.2版本,您需要切换到该特定版本:git checkout stable-0.2.2
  3. 导航到下载的存储库:cd Auto-GPT
  4. 安装所需的依赖项:pip install -r requirements.txt

4. 配置:

  1. 在主/Auto-GPT目录中找到.env.template。复制并将其重命名为.env
  2. 打开.env并在OPENAI_API_KEY=旁边设置您的OpenAI API密钥
  3. 同样,要使用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>
AutoGPT CLI

AutoGPT CLI

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工作流程:

  1. 提示定义:使用自然语言编写项目的详细描述。
  2. 代码生成:根据您的提示,GPT-Engineer开始工作,生成代码片段、函数,甚至整个应用程序。
  3. 完善和优化:生成后,总是有改进的余地。开发人员可以修改生成的代码以满足特定的要求,确保最高质量。

设置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/Linuxsource venv/bin/activate
  • 对于Windows,由于API密钥设置略有不同:set OPENAI_API_KEY=[your api key]

5. 配置 – API密钥设置:要与OpenAI交互,您需要API密钥。如果您还没有,请在OpenAI平台上注册,然后:

  • 对于macOS/Linuxexport 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进行可视化。”

设置和运行Engineering-GPT

设置和运行GPT-Engineer

与Auto-GPT一样,GPT-Engineer即使在完全设置后,也可能会遇到错误。然而,在我的第三次尝试中,我成功地访问了以下Streamlit网页。请确保您在GPT-Engineer的官方问题页面上查看任何错误。

使用GPT-Engineer生成的Streamlit应用程序

使用GPT-Engineer生成的Streamlit应用程序

当前的瓶颈

运营费用

由Auto-GPT执行的单个任务可能涉及多个步骤。重要的是,这些步骤中的每一个都可能被单独计费,从而增加成本。Auto-GPT可能会陷入重复循环,无法交付承诺的结果。这种情况会损害其可靠性,并削弱投资。

想象一下,您想使用Auto-GPT创建一篇短篇文章。理想的文章长度为8K令牌,但是在创建过程中,模型深入到多个中间步骤,以完成内容。如果您使用GPT-4带有8K上下文长度的输入,则会对其进行计费,$0.03,而输出的成本将为$0.06。现在,假设该模型遇到一个意外的循环,多次重复某些部分。不仅该过程变得更长,而且每次重复也会增加成本。

为了防止这种情况:

  • 设置使用限制,在OpenAI计费和限制中:
  • 硬限制:限制使用超过您设置的阈值。
  • 软限制:当达到阈值时向您发送电子邮件警报。

功能限制

Auto-GPT的功能,如其源代码所示,具有某些限制。其问题解决策略由其固有的功能和GPT-4的API提供的可访问性所管理。有关深入讨论和可能的解决方法,请参阅:Auto-GPT讨论。

AI对劳动力市场的影响

AI与劳动力市场之间的动态关系不断演变,并在此研究论文中有详细的记录。一个关键的收获是,虽然技术进步通常惠及熟练工人,但也对从事常规任务的人员构成风险。事实上,技术进步可能会取代某些任务,但同时也为多样化的劳动密集型任务铺平了道路。

AI劳动力市场自主代理超越

据估计,80%的美国工人可能会发现LLM(语言学习模型)会影响他们日常任务的10%。这一统计数据凸显了AI和人类角色之间的融合。

AI在工作中的双重角色:

  • 积极方面:AI可以自动执行许多任务,从客户服务到财务建议,为资金不足以支持专门团队的小型企业提供了缓解。
  • 担忧:自动化的好处引发了人们对潜在工作岗位流失的担忧,特别是在人类参与至关重要的领域,例如客户支持。与此同时,还有与AI访问机密数据相关的道德迷宫。这需要一个强大的基础设施,确保透明度、问责制和AI的道德使用。

结论

显然,ChatGPT、Auto-GPT和GPT-Engineer等工具站在技术与其用户之间交互方式的前沿。这些AI代理源自开源运动,体现了机器自主性的可能性,简化了从安排到软件开发的任务。

当我们进入一个AI更深入地融入日常生活的未来时,在拥抱AI能力的同时保护人类角色的平衡变得至关重要。在更广泛的范围内,AI-劳动力市场的动态画出了成长机会和挑战的双重图景,要求我们在技术融合中意识到道德和透明度的重要性。

我过去五年一直沉浸在令人着迷的机器学习和深度学习世界中。我的热情和专业知识使我能够为超过50个不同的软件工程项目做出贡献,特别注重人工智能/机器学习。我的持续好奇心也使我对自然语言处理产生了兴趣,这是一个我渴望进一步探索的领域。