mcpField
A
autogpt-agents

autogpt-agents

github.com/kalarislabsAgent 工作流7746 次安装4 天前更新
代码仓库

关于 autogpt-agents

AutoGPT 是用于构建、部署和管理持续运行 AI Agent 的平台,面向自动化流程的构建者和开发者。它结合可视化节点编辑器、可复用模块、触发器及 Forge 开发工具包。

主要功能

  1. 01可视化节点式 Agent 构建器
  2. 02支持持续执行、Webhook 和定时触发
  3. 03可复用模块与预构建 Agent 市场
  4. 04Forge 自定义 Agent 开发工具
  5. 05标准化 Agent 基准测试

适用场景

  1. 01构建持续运行的多步骤自动化流程
  2. 02通过 Webhook 或计划任务启动 Agent
  3. 03用自定义模块连接 LLM 与外部服务
  4. 04基准测试编码或检索 Agent

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kalarislabs/research-agent-skills --skill autogpt-agents

安装后在 Claude Code 中输入/autogpt-agents确认已加载。

附带文件references/advanced-usage.mdreferences/troubleshooting.md

详细介绍

AutoGPT - 自主 AI Agent 平台

通过可视化界面或开发工具包构建、部署和管理持续运行的 AI Agent 的综合平台。

何时使用 AutoGPT

在以下情况下使用 AutoGPT:

  • 构建持续运行的自主 Agent
  • 创建基于可视化工作流的 AI Agent
  • 部署带外部触发(webhook、定时任务)的 Agent
  • 构建复杂的多步骤自动化流水线
  • 需要无代码/低代码的 Agent 构建器

主要功能:

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

在以下情况下改用其他方案:

  • LangChain/LlamaIndex:如果你需要对 Agent 逻辑有更多控制
  • CrewAI:用于基于角色的多 Agent 协作
  • OpenAI Assistants:用于简单的托管式 Agent 部署
  • Semantic Kernel:用于 Microsoft 生态集成

快速开始

安装(Docker)
# Clone repository
git clone https://github.com/Significant-Gravitas/AutoGPT.git
cd AutoGPT/autogpt_platform

# Copy environment file
cp .env.example .env

# Start backend services
docker compose up -d --build

# Start frontend (in separate terminal)
cd frontend
cp .env.example .env
npm install
npm run dev
访问平台

架构概览

AutoGPT 有两个主要系统:

AutoGPT 平台(生产环境)
  • 带 React 前端的可视化 Agent 构建器
  • 带执行引擎的 FastAPI 后端
  • PostgreSQL + Redis + RabbitMQ 基础设施
AutoGPT Classic(开发环境)
  • Forge:Agent 开发工具包
  • Benchmark:性能测试框架
  • CLI:用于开发的命令行界面

核心概念

图和节点

Agent 表示为包含由链接连接的节点的图:

Graph (Agent)
  ├── Node (Input)
  │   └── Block (AgentInputBlock)
  ├── Node (Process)
  │   └── Block (LLMBlock)
  ├── Node (Decision)
  │   └── Block (SmartDecisionMaker)
  └── Node (Output)
      └── Block (AgentOutputBlock)
区块

区块是可复用的功能组件:

区块类型用途
INPUTAgent 入口点
OUTPUTAgent 输出
AI大模型调用、文本生成
WEBHOOK外部触发
STANDARD通用操作
AGENT嵌套 Agent 执行
执行流程
User/Trigger → Graph Execution → Node Execution → Block.execute()
     ↓              ↓                 ↓
  Inputs      Queue System      Output Yields

构建 Agent

使用可视化构建器
  1. 打开 Agent 构建器,地址为 http://localhost:3000
  2. 从 BlocksControl 面板添加区块
  3. 连接节点,在句柄之间拖拽
  4. 在每个节点中配置输入
  5. 运行 Agent,使用 PrimaryActionBar
可用区块

AI 区块:

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

集成区块:

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

控制区块:

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

Agent 执行

触发类型

手动执行:

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(`Node ${update.node_id}: ${update.status}`);
};

REST API 轮询:

GET /api/v1/executions/{execution_id}

使用 Forge(开发)

创建自定义 Agent
# Setup forge environment
cd classic
./run setup

# Create new agent from template
./run forge create my-agent

# Start agent server
./run forge start my-agent
Agent 结构
my-agent/
├── agent.py          # Main agent logic
├── abilities/        # Custom abilities
│   ├── __init__.py
│   └── custom.py
├── prompts/          # Prompt templates
└── config.yaml       # Agent configuration
实现自定义能力
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."""
    # Implement search logic
    result = perform_search(query)
    return result

Agent 基准测试

运行基准测试
# Run all benchmarks
./run benchmark

# Run specific category
./run benchmark --category coding

# Run with specific agent
./run benchmark --agent my-agent
基准测试类别
  • 编码:代码生成和调试
  • 检索:信息查找
  • Web:网页浏览和交互
  • 写作:文本生成任务
VCR 录像带

基准测试使用录制的 HTTP 响应以保证可复现性:

# Record new cassettes
./run benchmark --record

# Run with existing cassettes
./run benchmark --playback

集成

添加凭据
  1. 导航至 Profile > Integrations
  2. 选择提供商(OpenAI、GitHub、Google 等)
  3. 输入 API 密钥或授权 OAuth
  4. 凭据会被加密并安全存储
在区块中使用凭据

区块会自动访问用户凭据:

class MyLLMBlock(Block):
    def execute(self, inputs):
        # Credentials are injected by the system
        credentials = self.get_credentials("openai")
        client = OpenAI(api_key=credentials.api_key)
        # ...
支持的提供商
提供商身份验证类型使用场景
OpenAIAPI Key大模型、嵌入
AnthropicAPI KeyClaude 模型
GitHubOAuth代码、仓库
GoogleOAuthDrive、Gmail、Calendar
DiscordBot Token消息传递
NotionOAuth文档

部署

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_URLPostgreSQL 连接
REDIS_URLRedis 连接
RABBITMQ_URLRabbitMQ 连接
ENCRYPTION_KEY凭据加密
SUPABASE_URL身份验证
生成加密密钥
cd autogpt_platform/backend
poetry run cli gen-encrypt-key

最佳实践

  1. 从简单开始:先使用 3-5 个节点 Agent
  2. 逐步测试:每次更改后都运行并测试
  3. 使用 Webhook:为事件驱动的 Agent 配置外部触发器
  4. 监控成本:通过额度系统跟踪大模型 API 使用情况
  5. 为 Agent 设置版本:更改前保存可用版本
  6. 进行基准测试:使用 agbenchmark 验证 Agent 质量

常见问题

服务无法启动:

# Check container status
docker compose ps

# View logs
docker compose logs rest_server

# Restart services
docker compose restart

数据库连接问题:

# Run migrations
cd backend
poetry run prisma migrate deploy

Agent 执行卡住:

# Check RabbitMQ queue
# Visit http://localhost:15672 (guest/guest)

# Clear stuck executions
docker compose restart executor

参考资料

资源

Agent 操作流程

  1. 检查环境。 确认框架版本、模型提供商、API 密钥和速率限制。
  2. 明确输入。 确认数据或用户提供的格式、标识符和参数。任何会改变结果的值都应询问,而不是猜测。
  3. 先运行小规模版本。 使用已知输入测试单次调用或链,并检查原始输出。
  4. 使用上述说明和参考资料执行完整任务。
  5. 验证结果。 在小型标注集上评估;根据架构检查结构化输出;记录提示词和响应。
  6. 报告。 说明运行了什么(版本、命令、参数)、检查了什么,以及还有哪些不确定之处。
如果发生这种情况请这样做
输出与预期架构不符添加验证和重试,收紧架构,或简化提示词。
这些说明中的函数、标志或端点在已安装版本中不存在查看已安装版本自己的文档(help()、--help、官方文档),进行适配并告知用户。切勿编造 API。
所需输入、标识符或参数含义不明确询问用户,或在运行前明确说明假设。

完整性规则

  • 切勿捏造结果、参数、标识符、引文或统计数据。如果无法运行或验证某项内容,请如实说明。
  • 未经用户同意,切勿将私人或敏感数据发送到外部 API。
  • 此处的特定版本信息可能已过时:请根据已安装版本的官方文档进行确认。
  • 对于会产生费用、占用共享 GPU 或云配额、涉及个人或患者数据,或无法撤销的操作,必须先征求同意。

相关技能

  • langchain:用于构建由大模型驱动、包含 Agent、链和 RAG 的应用程序框架。
  • crewai-multi-agent:用于自主 AI 协作的多 Agent 编排框架。
  • evolving-ai-agents:提供指导,帮助使用大模型驱动的演化算法,在任何领域自动演进和优化 AI Agent。

评论

支持 Markdown