SuperAPI AI 工具集

autogpt-agents

智能体与模型

查看项目

更新于 10-30 06:46

技能介绍

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)。