AutoGPT:你的 AI 专家团队,让 Otto 帮你协调工作
官方信息表
| 项目 | 信息 |
|---|---|
| 项目名称 | AutoGPT(AutoGPT Platform) |
| 开源仓库 | Significant-Gravitas/AutoGPT |
| 官方网站 | agpt.co |
| 托管平台注册 | platform.agpt.co/signup |
| Docker 镜像 | significantgravitas/autogpt |
| 核心组件协议 | autogpt_platform/ 为 Polyform Shield;classic/ 及其余为 MIT |
| 社区支持 | AutoGPT Discord |
| 前台默认端口 | 3000 |
| 文章分类 | AI智能体 |
| 文章标签 | 若琳部署 |
封面为本项目官方主视觉图,对应 README 顶部的专家团队横幅。
一、项目背景:从一个人自动化,到一支 AI 专家团队
AutoGPT 是由 Significant-Gravitas 团队开发的开源项目,最早因"让 AI 自主完成任务"的实验而闻名。如今 README 所描述的 AutoGPT,已经从当年那个单文件命令行实验,演化为一套面向业务的 AutoGPT Platform(AutoGPT 平台):它不再是一个只会自己埋头干活的程序,而是一支可以被你用自然语言指挥的 AI 专家团队。
用 README 原文的话说:"Bring in specialists for content, sales, research, and recurring work. Brief them in plain English. Let Otto coordinate." 意思是:你可以把负责内容、销售、调研和重复性工作的各路专家请进来,用大白话给他们交代任务,然后让一个叫 Otto 的 AI 主管去协调他们。
整个团队由四个角色构成:
- Otto · Head of AI(AI 主管):负责把一项工作跨多个专家拆分协调,并把各位专家的成果汇总交回给你。
- Maria · SEO 内容经理:把一个目标关键词变成一份内容简报和文章初稿。
- Max · 客户执行(Account Executive):调研潜在客户、起草外联话术、为下一次沟通做准备。
- Frankie · 行政助理:准备会议背景、起草邮件、整理当日摘要。
README 强调:每一个 Expert(专家)都有一个你可以用指令、上下文、技能和已连接应用去塑造的角色。你可以直接用现成的专家,也可以按自己的工作方式从零创建一个。
二、它是怎么干活的:一次简报,一整套流程
README 用一个"从第一次简报变成日常例行动作"的三段式来描述使用流程:
- 选择你的专家。 告诉 Otto 你需要什么,挑选一位专家,或者为你自己的工作方式创建一位新专家。
- 给他们交代任务。 分享上下文、连接他们需要用到的应用,并就第一个产出达成一致。
- 审阅与打磨。 检查工作成果,调整指令。对于那些会反复出现的工作,开启"例行动作(routines)"让它自动跑。
在这个过程中,你掌握着全部控制权:你决定每位专家可以访问哪些账号、设置花费上限、并在他们的活动记录里随时跟进进度。README 举了一个真实例子:你只要给 Otto 一句产品上线的简报,Maria 就会准备文章、Max 会调研潜在客户、Frankie 会准备上线评审材料——整个团队会把待审的工作准备好,但不会替你发送或发布,一切由你拍板。README 还特别强调,这段演示是一次真实运行剪辑并加速后的十五秒高光片段,团队只是把工作准备好交给你审阅,不会擅自对外发送或公开发布,这也是它区别于"全自动乱跑"类智能体的设计理念。
三、环境要求
根据 autogpt_platform/README.md 中"Getting Started"部分的说明,如果你打算从源码用 Docker Compose 跑起整套平台,需要准备以下环境:
- Docker:容器运行时。
- Docker Compose V2:随 Docker Desktop 一起安装,也可以单独安装。
make命令工具与 Python 3:用于生成本地密钥(local secrets)。
如果你只是想最快地试用,README 推荐直接使用 Docker Hub 上的单容器镜像 significantgravitas/autogpt,无需本地构建;宿主机只需能运行 Docker,并能开放 3000 端口。
四、部署步骤
方式一:使用托管平台(最简单)
README 明确建议:如果你不想管理基础设施、也不想自己准备模型 API Key,直接使用托管的 AutoGPT Platform 即可。前往 platform.agpt.co/signup 注册试用。托管平台是付费服务,具体套餐、试用条款和用量计费见 agpt.co/pricing。
方式二:单容器自托管(最快的私有化方式)
自托管意味着你把 AutoGPT 跑在自己的基础设施上:你自己提供模型凭据、配置部署、并负责后续更新和运维。README 给出的最快方式是直接拉取 Docker Hub 上的单容器镜像,命令如下:
docker run -d \
--name autogpt \
--restart unless-stopped \
--shm-size 2g \
--ulimit nofile=65536:65536 \
--log-driver json-file \
--log-opt max-size=50m \
--log-opt max-file=5 \
-p 127.0.0.1:3000:3000 \
-e AUTOGPT_PUBLIC_URL=http://localhost:3000 \
-v autogpt-data:/data \
significantgravitas/autogpt:latest
这条命令里有几个关键点需要解释:
--shm-size 2g给容器分配 2GB 共享内存;--ulimit nofile=65536:65536把文件描述符上限提高到 65536;- 日志使用 json-file 驱动,单个日志文件最大 50MB,最多保留 5 个;
- 端口只绑定在
127.0.0.1:3000,即只允许本机访问; - 通过环境变量
AUTOGPT_PUBLIC_URL声明对外访问地址; - 用命名卷
autogpt-data持久化/data数据。
首次启动需要等待几分钟,然后打开 http://localhost:3000 创建你的账号,并把自己提升为管理员:
docker exec autogpt autogpt-admin promote you@example.com
把 you@example.com 换成你注册时用的邮箱即可。README 提示:关于系统要求、关闭注册、端口、模型供应商、备份和升级等细节,请阅读官方的单容器部署指南。在 Linux、macOS 和 Windows 上,还可以使用官方安装脚本(installer)一条命令装同一个镜像。
方式三:Docker Compose / 源码开发部署
如果你想让每个服务跑在独立容器里,或者打算从源码做二次开发,则按官方手动自托管指南操作。核心步骤如下:
git clone https://github.com/Significant-Gravitas/AutoGPT.git
cd AutoGPT/autogpt_platform
然后执行:
make init-env
README 解释了这条命令做什么:它会把每个 .env.default 文件复制为 .env(分别位于 autogpt_platform、backend 和 frontend 目录),并为其中留空的项生成密钥与密码,包括 ENCRYPTION_KEY、UNSUBSCRIBE_SECRET_KEY、INTERNAL_API_KEY、BETTER_AUTH_SECRET,以及数据库、RabbitMQ、Redis 和 FalkorDB 的密码。后端在没有 ENCRYPTION_KEY 的情况下会拒绝启动。该命令永远不会覆盖已存在的文件或你已经设置过的值。之后你可以再修改这些 .env 文件加入自己的环境变量。
如果没有 make,可以改用脚本:Linux/macOS 运行 installer/setup-autogpt.sh,Windows 运行 installer\setup-autogpt.bat,它们做同样的事并随后启动服务。接着执行:
docker compose up -d
该命令会以 detached 模式启动 docker-compose.yml 中定义的所有后端服务。等所有服务进入 ready 状态后,用浏览器打开 http://localhost:3000 即可访问前端。
升级警告:README 特别提醒,如果是升级一个已经在运行的安装,不要用上面两条命令;因为这套仓库以前发布时使用的服务密码会被重新生成,随后的重启会清空 RabbitMQ 的队列。升级请按官方文档的"Upgrading"章节操作。
托管与自托管的对比
README 用一张表总结了两种模式的差异:
| 维度 | 托管平台 | 自托管 |
|---|---|---|
| 搭建与运维 | 由 AutoGPT 团队托管 | 由你自己管理 |
| 模型接入 | 内置 | 自带模型凭据,或接本地模型 |
| 成本 | 付费套餐 + 用量 | 你的基础设施成本 + 模型用量 |
| 数据与基础设施 | 托管在 AutoGPT 侧 | 运行在你自己的基础设施上 |
常用 Docker Compose 命令与数据持久化
autogpt_platform/README.md 还给出了一套日常运维命令:
docker compose up -d:以后台模式启动服务;docker compose stop:停止运行中的服务但不删除容器;docker compose rm:删除已停止的服务容器;docker compose build:构建或重新构建服务;docker compose down:停止并删除容器与网络,加-v会同时删除命名卷(工作区文件、市场媒体、FalkorDB 内存、ClamAV 数据库),但data/db/data里的数据库不受影响;docker compose watch:监听代码变化并自动更新对应服务。
常见场景示例:只重建并重启 rest_server 而不影响其他服务:
docker compose build rest_server
docker compose up -d --no-deps rest_server
查看 rest_server 和 websocket_server 的实时日志:
docker compose logs -f rest_server websocket_server
整套系统停机维护后再重启:
docker compose stop
docker compose rm -f
docker compose pull --ignore-buildable
docker compose up -d --build
注意 --ignore-buildable 会跳过本仓库从源码构建的服务;不加它,pull 会去镜像仓库拉取那些从未发布过的镜像而失败。查看服务状态用 docker compose ps。
关于数据持久化:PostgreSQL 的数据保存在宿主机 autogpt_platform/data/db/data;工作区文件、市场媒体、FalkorDB 内存分别使用命名卷 workspace-data、store-media-data、falkordb_data;三个 Redis 节点只是缓存、不持久化,不要给它们加卷。备份时请在栈停止的状态下,连同 backend/.env 一起备份 data/db/data——因为 backend/.env 里的 ENCRYPTION_KEY 正是加密你所保存的集成凭据的密钥,丢了它就无法解密已有凭据。
五、补充:AutoGPT Classic 是什么
README 末尾提到的 Classic 是最早那个实验性的独立版本。它的 README 说明:AutoGPT Classic 是一个用于演示 GPT-4 自主运行的实验项目,目标是让 GPT-4 独立地把复杂目标拆解成小任务、调用工具和 API 执行、根据结果调整策略,并把多个动作串起来完成目标。它是最早一批自主 AI 智能体实现之一。
目前 Classic 已经不再维护、依赖不会更新,仅适合学习用途。其目录结构为:
classic/
├── pyproject.toml # 统一的 Poetry 项目
├── poetry.lock # 统一锁文件
├── forge/ # 核心自主智能体框架
├── original_autogpt/ # 最初的实现
├── direct_benchmark/ # 基准测试 harness
└── benchmark/ # 挑战定义(数据)
它要求 Python 3.12+ 与 Poetry,安装方式为:
git clone https://github.com/Significant-Gravitas/AutoGPT.git
cd classic
poetry install
配置采用分层体系:环境变量(.env)、工作区设置(.autogpt/autogpt.yaml)、智能体设置(.autogpt/agents/{id}/permissions.yaml)。关键环境变量包括必填的 OPENAI_API_KEY,可选的 SMART_LLM=gpt-4o(复杂推理模型)、FAST_LLM=gpt-4o-mini(简单任务模型)、TAVILY_API_KEY/SERPER_API_KEY(搜索服务)、LOG_LEVEL、PORT=8000、FILE_STORAGE_BACKEND=local(可选 local、s3、gcs)。运行命令包括 poetry run python -m forge(跑 forge 智能体)、poetry run serve --debug(跑原始服务端)、poetry run autogpt(命令行),默认地址 http://localhost:8000。它还采用基于模式匹配的分层权限系统,默认拒绝访问敏感文件(.env、.key、.pem)和破坏性命令(rm -rf、sudo),以及工作区之外的操作。README 同时声明该代码库存在已知漏洞且不会更新依赖,仅限教育用途。
六、使用方法:工作流、可视化构建器与集成
当你需要更多控制权时,AutoGPT 的专家可以借助"技能(skills)"和"工作流(workflows)"完成工作。README 介绍了三个能力:
- 可视化构建器(Visual builder):用拖拽连线的方式定义可重复执行的步骤、连接工具、检查工作如何运行。你可以从市场里挑一个现成工作流开始,也可以自己搭一个。入口见 agpt.co/product/build。
- 市场(Marketplace):发现可以改造成你自己工作流的模板,地址在 platform.agpt.co/marketplace。
- 集成(Integrations):把你团队日常用的工具接进来,文档见 agpt.co/docs/integrations。
七、版本与许可说明
README 还给出了参与贡献时的资源地图:平台源码与开发环境见仓库内的 autogpt_platform/ 目录;官方文档站在 agpt.co/docs;贡献规范见仓库根目录的 CONTRIBUTING.md;报 Bug 或提功能需求请走 GitHub Issues;社区与日常支持在 Discord。换句话说,你既可以把它当产品用,也可以把整套代码 clone 下来做二次开发。
README 末尾用一张许可证表格说明不同组件的使用条款:
autogpt_platform/目录采用 Polyform Shield 协议:个人和企业内部使用免费,但不能把它作为竞争性的托管服务对外售卖。classic/目录及其余部分采用 MIT 协议,宽松开源。
如果你想找最早那个独立运行的命令行版 AutoGPT,可以去看仓库里的 Classic、Forge,或 PyPI 上的 agbenchmark。
八、FAQ(常见问题)
Q1:AutoGPT 现在还能像以前那样命令行自己跑任务吗?
A:主仓库已经转向平台形态。早期那个独立版被保留在 classic/ 目录下,对应 README 的 "AutoGPT Classic" 章节。
Q2:自托管一定要自己准备大模型 API Key 吗? A:是的。托管平台内置模型接入;自托管需要你自己提供模型凭据,或者接本地模型,详见单容器部署指南。
Q3:启动后为什么后端起不来?
A:源码部署时缺少 ENCRYPTION_KEY 会导致后端拒绝启动。请先运行 make init-env 或对应安装脚本生成密钥。
Q4:为什么升级后 RabbitMQ 队列被清空了? A:这是 README 明确警告过的行为——重新运行 init 命令会重新生成服务密码,随后重启会清空队列。升级必须走官方升级文档,不要直接重跑 init。
Q5:我能自己改专家的行为吗? A:可以。每位专家的角色都可以用指令、上下文、技能和已连接应用来塑造,也可以从零创建自己的专家。
九、跳转链接
- 项目仓库:https://github.com/Significant-Gravitas/AutoGPT
- 官方文档:agpt.co/docs
- 单容器自托管指南:single-container
- 手动自托管指南:getting-started
- 安装器:installer
- Docker 镜像:significantgravitas/autogpt
- 可视化构建器:agpt.co/product/build
- 集成文档:agpt.co/docs/integrations
- 社区 Discord:discord.gg/autogpt
- 反馈问题:GitHub Issues