AutoGPT 是一个自主 AI 智能体平台,用于构建、部署和管理持续运行的 AI 智能体,提供可视化界面和开发工具包两种使用方式。
用途
AutoGPT 适用于以下场景:构建持续运行的自主智能体;创建基于可视化工作流的 AI 智能体;部署带外部触发(Webhook、定时任务)的智能体;构建复杂的多步骤自动化流水线;需要无代码/低代码智能体构建器。
如果需求不同,可考虑替代方案:需要更精细控制智能体逻辑时用 LangChain/LlamaIndex;基于角色的多智能体协作用 CrewAI;简单托管智能体部署用 OpenAI Assistants;微软生态集成用 Semantic Kernel。
主要能力
- 可视化智能体构建器:拖拽式基于节点的工作流编辑器。
- 持续执行:智能体通过触发器持久运行。
- 市场:可共享和复用预构建的智能体与区块。
- 区块系统:面向 LLM、工具、集成的模块化组件。
- Forge 工具包:用于创建自定义智能体的开发者工具。
- Benchmark 系统:标准化的智能体性能测试。
架构概览
AutoGPT 包含两个主要系统:
AutoGPT Platform(生产环境):带 React 前端的可视化智能体构建器;带执行引擎的 FastAPI 后端;PostgreSQL + Redis + RabbitMQ 基础设施。
AutoGPT Classic(开发环境):Forge 智能体开发工具包;Benchmark 性能测试框架;CLI 命令行开发界面。
核心概念
智能体以图(Graph)表示,包含由链接连接的节点(Node)。节点对应区块(Block)。区块是功能可复用组件,类型包括:INPUT(智能体入口)、OUTPUT(智能体输出)、AI(LLM 调用、文本生成)、WEBHOOK(外部触发)、STANDARD(通用操作)、AGENT(嵌套智能体执行)。
执行流程为:用户/触发器 → 图执行 → 节点执行 → Block.execute(),其中输入进入队列系统,输出产生结果。
使用方式
快速开始(Docker)
# 克隆仓库
git clone https://github.com/Significant-Gravitas/AutoGPT.git
cd AutoGPT/autogpt_platform
# 复制环境文件
cp .env.example .env
# 启动后端服务
docker compose up -d --build
# 启动前端(在单独终端)
cd frontend
cp .env.example .env
npm install
npm run dev
访问地址:前端 UI http://localhost:3000;后端 API http://localhost:8006/api;WebSocket ws://localhost:8001/ws。
使用可视化构建器
在 http://localhost:3000 打开 Agent Builder;从 BlocksControl 面板添加区块;在节点间拖拽连接;在每个节点中配置输入;使用 PrimaryActionBar 运行智能体。
可用区块包括:AI 区块(AITextGeneratorBlock 生成文本、AIConversationBlock 多轮对话、SmartDecisionMakerBlock 条件逻辑);集成区块(GitHub、Google、Discord、Notion 连接器,Webhook 触发器与处理器,HTTP 请求区块);控制区块(输入/输出、分支与决策、循环与迭代)。
智能体执行触发
手动执行:POST /api/v1/graphs/{graph_id}/execute,请求体为 {"inputs": {"input_name": "value"}}。
Webhook 触发:POST /api/v1/webhooks/{webhook_id},请求体为 {"data": "webhook payload"}。
定时执行:{"schedule": "0 */2 * * *", "graph_id": "graph-uuid", "inputs": {}}。
监控执行
WebSocket 更新:
const ws = new WebSocket('ws://localhost:8001/ws');
ws.onmessage = (event) => {
const update = JSON.parse(event.data);
console.log(`Node ${update.node_id}: ${update.status}`);
};
REST API 轮询:GET /api/v1/executions/{execution_id}。
使用 Forge(开发)
# 设置 forge 环境
cd classic
./run setup
# 从模板创建新智能体
./run forge create my-agent
# 启动智能体服务器
./run forge start my-agent
智能体结构包含 agent.py(主逻辑)、abilities/(自定义能力)、prompts/(提示模板)、config.yaml(配置)。
自定义能力示例:
from forge import Ability, ability
@ability(
name="custom_search",
description="Search for information",
parameters={
"query": {"type": "string", "description": "Search query"}
}
)
def custom_search(query: str) -> str:
"""Custom search ability."""
result = perform_search(query)
return result
基准测试
# 运行所有基准
./run benchmark
# 运行特定类别
./run benchmark --category coding
# 使用特定智能体运行
./run benchmark --agent my-agent
基准类别包括:Coding(代码生成与调试)、Retrieval(信息查找)、Web(网页浏览与交互)、Writing(文本生成任务)。基准使用录制的 HTTP 响应(VCR cassettes)保证可复现:--record 录制新 cassette,--playback 使用现有 cassette 运行。
集成
添加凭据:进入 Profile > Integrations;选择提供商(OpenAI、GitHub、Google 等);输入 API 密钥或授权 OAuth;凭据加密安全存储。区块会自动访问用户凭据。
支持的提供商:OpenAI(API Key,LLM、嵌入)、Anthropic(API Key,Claude 模型)、GitHub(OAuth,代码、仓库)、Google(OAuth,Drive、Gmail、Calendar)、Discord(Bot Token,消息)、Notion(OAuth,文档)。
部署
Docker 生产配置示例(docker-compose.prod.yml)包含 rest_server、executor、frontend 服务。
环境变量包括:DATABASE_URL(PostgreSQL 连接)、REDIS_URL(Redis 连接)、RABBITMQ_URL(RabbitMQ 连接)、ENCRYPTION_KEY(凭据加密)、SUPABASE_URL(认证)。
生成加密密钥:
cd autogpt_platform/backend
poetry run cli gen-encrypt-key
最佳实践
从简单开始:先用 3-5 个节点的智能体;增量测试:每次修改后运行测试;使用 Webhook:为事件驱动智能体配置外部触发;监控成本:通过 credits 系统跟踪 LLM API 用量;版本管理:修改前保存可用版本;基准测试:使用 agbenchmark 验证智能体质量。
常见问题
服务未启动:用 docker compose ps 检查容器状态,docker compose logs rest_server 查看日志,docker compose restart 重启服务。
数据库连接问题:运行迁移 cd backend && poetry run prisma migrate deploy。
智能体执行卡住:检查 RabbitMQ 队列(http://localhost:15672,guest/guest),或 docker compose restart executor 清除卡住的执行。
资源
文档:https://docs.agpt.co;仓库:https://github.com/Significant-Gravitas/AutoGPT;Discord:https://discord.gg/autogpt;许可证:MIT(Classic)/ Polyform Shield(Platform)。