AutoGPT自主AI代理平台Skill autogpt-agents

AutoGPT 是一个综合性平台,用于通过可视化界面或开发工具包构建、部署和管理连续AI代理,适用于AI应用开发、工作流自动化和代理管理。关键词:AI代理,自主代理,工作流自动化,视觉构建器,AI平台

AI智能体 0 次安装 0 次浏览 更新于 3/21/2026

名称: autogpt-代理 描述: 用于构建和部署连续代理的自主AI代理平台。当创建可视化工作流代理、部署持久性自主代理或构建复杂多步骤AI自动化系统时使用。 版本: 1.0.0 作者: Orchestra Research 许可证: MIT 标签: [代理, AutoGPT, 自主代理, 工作流自动化, 可视化构建器, AI平台] 依赖项: [autogpt-platform>=0.4.0]

AutoGPT - 自主AI代理平台

综合性平台,用于通过可视化界面或开发工具包构建、部署和管理连续AI代理。

何时使用 AutoGPT

使用 AutoGPT 时:

  • 构建连续运行的自主代理
  • 创建基于可视化工作流的AI代理
  • 部署具有外部触发器(webhooks、计划任务)的代理
  • 构建复杂多步骤自动化管道
  • 需要无代码/低代码代理构建器

关键功能:

  • 可视化代理构建器: 基于节点的拖放式工作流编辑器
  • 持续执行: 代理通过触发器持久运行
  • 市场: 预构建的代理和模块供共享/重用
  • 模块系统: 用于LLM、工具、集成的模块化组件
  • Forge 工具包: 用于自定义代理创建的开发工具
  • 基准系统: 标准化代理性能测试

使用替代方案代替:

  • LangChain/LlamaIndex: 如果需要更多代理逻辑控制
  • CrewAI: 用于基于角色的多代理协作
  • OpenAI Assistants: 用于简单的托管代理部署
  • Semantic Kernel: 用于微软生态系统集成

快速开始

安装(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

访问平台

架构概述

AutoGPT 有两个主要系统:

AutoGPT 平台(生产环境)

  • 具有React前端的可视化代理构建器
  • 带执行引擎的FastAPI后端
  • PostgreSQL + Redis + RabbitMQ 基础设施

AutoGPT 经典(开发环境)

  • Forge: 代理开发工具包
  • 基准: 性能测试框架
  • CLI: 用于开发的命令行界面

核心概念

图和节点

代理表示为包含通过链接连接的节点:

图(代理)
  ├── 节点(输入)
  │   └── 块(AgentInputBlock)
  ├── 节点(处理)
  │   └── 块(LLMBlock)
  ├── 节点(决策)
  │   └── 块(SmartDecisionMaker)
  └── 节点(输出)
      └── 块(AgentOutputBlock)

块是可重用的功能组件:

块类型 用途
INPUT 代理入口点
OUTPUT 代理输出
AI LLM调用、文本生成
WEBHOOK 外部触发器
STANDARD 通用操作
AGENT 嵌套代理执行

执行流程

用户/触发器 → 图执行 → 节点执行 → Block.execute()
     ↓              ↓                 ↓
  输入       队列系统          输出产生

构建代理

使用可视化构建器

  1. 打开代理构建器http://localhost:3000
  2. 从块控制面板添加块
  3. 通过拖放连接节点 在句柄之间
  4. 配置输入 在每个节点中
  5. 运行代理 使用主操作栏

可用块

AI块:

  • AITextGeneratorBlock - 使用LLM生成文本
  • AIConversationBlock - 多轮对话
  • SmartDecisionMakerBlock - 条件逻辑

集成块:

  • GitHub、Google、Discord、Notion连接器
  • Webhook触发器和处理器
  • HTTP请求块

控制块:

  • 输入/输出块
  • 分支和决策节点
  • 循环和迭代块

代理执行

触发器类型

手动执行:

POST /api/v1/graphs/{graph_id}/execute
Content-Type: application/json

{
  "inputs": {
    "input_name": "value"
  }
}

Webhook触发器:

POST /api/v1/webhooks/{webhook_id}
Content-Type: application/json

{
  "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(`节点 ${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

代理结构

my-agent/
├── agent.py          # 主代理逻辑
├── abilities/        # 自定义能力
│   ├── __init__.py
│   └── custom.py
├── prompts/          # 提示模板
└── config.yaml       # 代理配置

实现自定义能力

from forge import Ability, ability

@ability(
    name="custom_search",
    description="搜索信息",
    parameters={
        "query": {"type": "string", "description": "搜索查询"}
    }
)
def custom_search(query: str) -> str:
    """自定义搜索能力。"""
    # 实现搜索逻辑
    result = perform_search(query)
    return result

代理基准测试

运行基准测试

# 运行所有基准测试
./run benchmark

# 运行特定类别
./run benchmark --category coding

# 使用特定代理运行
./run benchmark --agent my-agent

基准测试类别

  • 编码: 代码生成和调试
  • 检索: 信息查找
  • Web: 网页浏览和交互
  • 写作: 文本生成任务

VCR 磁带

基准测试使用记录的HTTP响应以提高可重复性:

# 记录新磁带
./run benchmark --record

# 运行现有磁带
./run benchmark --playback

集成

添加凭证

  1. 导航到 个人资料 > 集成
  2. 选择提供商(OpenAI、GitHub、Google等)
  3. 输入API密钥或授权OAuth
  4. 凭证加密并安全存储

在块中使用凭证

块自动访问用户凭证:

class MyLLMBlock(Block):
    def execute(self, inputs):
        # 凭证由系统注入
        credentials = self.get_credentials("openai")
        client = OpenAI(api_key=credentials.api_key)
        # ...

支持的提供商

提供商 认证类型 使用场景
OpenAI API密钥 LLM、嵌入
Anthropic API密钥 Claude模型
GitHub OAuth 代码、仓库
Google OAuth Drive、Gmail、Calendar
Discord 机器人令牌 消息传递
Notion OAuth 文档

部署

Docker 生产环境设置

# docker-compose.prod.yml
services:
  rest_server:
    image: autogpt/platform-backend
    environment:
      - DATABASE_URL=postgresql://...
      - REDIS_URL=redis://redis:6379
    ports:
      - "8006:8006"

  executor:
    image: autogpt/platform-backend
    command: poetry run executor

  frontend:
    image: autogpt/platform-frontend
    ports:
      - "3000:3000"

环境变量

变量 用途
DATABASE_URL PostgreSQL连接
REDIS_URL Redis连接
RABBITMQ_URL RabbitMQ连接
ENCRYPTION_KEY 凭证加密
SUPABASE_URL 认证

生成加密密钥

cd autogpt_platform/backend
poetry run cli gen-encrypt-key

最佳实践

  1. 从简单开始: 从3-5个节点的代理开始
  2. 逐步测试: 每次更改后运行和测试
  3. 使用webhooks: 用于事件驱动代理的外部触发器
  4. 监控成本: 通过积分系统跟踪LLM API使用
  5. 版本控制代理: 在更改前保存工作版本
  6. 基准测试: 使用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

参考资料

资源