mcpField
A
autogpt-agents

autogpt-agents

github.com/kalarislabsエージェントワークフロー7746 回インストール4 日前に更新
リポジトリ

autogpt-agents について

AutoGPTは、継続的に動作するAIエージェントの構築、デプロイ、管理を行うプラットフォームです。自動化を作る利用者や開発者向けに、ビジュアルなノードエディター、再利用可能なブロック、トリガー、Forge開発ツールキットを備えています。

主な機能

  1. 01ビジュアルなノード式エージェントビルダー
  2. 02Webhookとスケジュールによる継続実行
  3. 03再利用可能なブロックとエージェントマーケットプレイス
  4. 04カスタムエージェント開発用Forgeツールキット
  5. 05標準化されたエージェントベンチマーク

活用シーン

  1. 01継続動作する複数段階の自動化を構築
  2. 02Webhookや定期実行でエージェントを起動
  3. 03カスタムブロックでLLMと外部サービスを接続
  4. 04コーディングや検索エージェントをベンチマーク

インストール

コマンドをコピーしてターミナルで実行します。

$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 エージェントプラットフォーム

ビジュアルインターフェースや開発ツールキットを通じて、継続的に動作する AI エージェントを構築、デプロイ、管理するための包括的なプラットフォームです。

AutoGPT を使用するケース

AutoGPT を使用するとよいケース:

  • 継続的に実行される自律型エージェントを構築する場合
  • ビジュアルなワークフローベースの AI エージェントを作成する場合
  • 外部トリガー(Webhook、スケジュール)を使ってエージェントをデプロイする場合
  • 複雑な複数ステップの自動化パイプラインを構築する場合
  • ノーコード/ローコードのエージェントビルダーが必要な場合

主な機能:

  • ビジュアルエージェントビルダー: ドラッグアンドドロップ式のノードベースのワークフローエディター
  • 継続的な実行: トリガーにより、エージェントが永続的に動作します
  • マーケットプレイス: 共有・再利用できる、ビルド済みのエージェントとブロック
  • ブロックシステム: LLM、ツール、インテグレーションのためのモジュール式コンポーネント
  • Forge ツールキット: カスタムエージェントを作成するための開発者向けツール
  • ベンチマークシステム: 標準化されたエージェントのパフォーマンステスト

代わりに検討できる選択肢:

  • LangChain/LlamaIndex: エージェントのロジックをより細かく制御したい場合
  • CrewAI: ロールベースのマルチエージェント協調を行う場合
  • OpenAI Assistants: シンプルなホスト型エージェントをデプロイする場合
  • 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 には、2 つの主要なシステムがあります。

AutoGPT Platform(本番環境)
  • React フロントエンドを備えたビジュアルエージェントビルダー
  • 実行エンジンを備えた FastAPI バックエンド
  • PostgreSQL + Redis + RabbitMQ インフラストラクチャ
AutoGPT Classic(開発環境)
  • Forge: エージェント開発ツールキット
  • Benchmark: パフォーマンステストフレームワーク
  • CLI: 開発用のコマンドラインインターフェース

基本概念

グラフとノード

エージェントは、リンクで接続されたノードを含むグラフとして表現されます。

Graph (Agent)
  ├── Node (Input)
  │   └── Block (AgentInputBlock)
  ├── Node (Process)
  │   └── Block (LLMBlock)
  ├── Node (Decision)
  │   └── Block (SmartDecisionMaker)
  └── Node (Output)
      └── Block (AgentOutputBlock)
ブロック

ブロックは再利用可能な機能コンポーネントです。

ブロックタイプ目的
INPUTエージェントの入力ポイント
OUTPUTエージェントの出力
AILLM の呼び出し、テキスト生成
WEBHOOK外部トリガー
STANDARD一般的な操作
AGENTネストされたエージェントの実行
実行フロー
User/Trigger → Graph Execution → Node Execution → Block.execute()
     ↓              ↓                 ↓
  Inputs      Queue System      Output Yields

エージェントの構築

ビジュアルビルダーの使用
  1. http://localhost:3000 で Agent Builder を開きます
  2. BlocksControl パネルからブロックを追加します
  3. ハンドル間をドラッグしてノードを接続します
  4. 各ノードで入力を設定します
  5. PrimaryActionBar を使ってエージェントを実行します
利用可能なブロック

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

REST API によるポーリング:

GET /api/v1/executions/{execution_id}

Forge(開発)の使用

カスタムエージェントの作成
# 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
エージェントの構造
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

エージェントのベンチマーク

ベンチマークの実行
# Run all benchmarks
./run benchmark

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

# Run with specific agent
./run benchmark --agent my-agent
ベンチマークのカテゴリ
  • Coding: コードの生成とデバッグ
  • Retrieval: 情報の検索
  • Web: Web のブラウジングと操作
  • Writing: テキスト生成タスク
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 KeyLLM、埋め込み
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 個のノードエージェントから始めます
  2. 段階的にテストする:変更のたびに実行してテストします
  3. Webhook を使う:イベント駆動型エージェントの外部トリガーとして使用します
  4. コストを監視する:クレジットシステムを通じて LLM API の使用状況を追跡します
  5. エージェントをバージョン管理する:変更前に動作するバージョンを保存します
  6. ベンチマークを行う:agbenchmark を使ってエージェントの品質を検証します

よくある問題

サービスが起動しない場合:

# 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

エージェントの実行が止まってしまう場合:

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

# Clear stuck executions
docker compose restart executor

参考資料

リソース

エージェントの運用手順

  1. 環境を確認します。 フレームワークのバージョン、モデルプロバイダー、API キー、レート制限を確認します。
  2. 入力を明確にします。 データまたはユーザーから、形式、識別子、パラメーターを確認します。結果を左右する値は推測せず、質問してください。
  3. まず小規模に実行します。 既知の入力で単一の呼び出しまたはチェーンをテストし、生の出力を確認します。
  4. 上記の手順と参考資料を使って、タスク全体を実行します。
  5. 結果を検証します。 小規模なラベル付きデータセットで評価し、構造化出力をスキーマと照合し、プロンプトと応答を記録します。
  6. 報告します。 実行した内容(バージョン、コマンド、パラメーター)、確認した内容、未確定の事項を伝えます。
このような場合対応方法
出力が期待されるスキーマと一致しない検証と再試行を追加する、スキーマを厳密にする、またはプロンプトを簡素化します。
これらの手順に記載されている関数、フラグ、エンドポイントがインストール済みバージョンにないインストール済みバージョンのドキュメント(help()、--help、公式ドキュメント)を確認し、適切に対応してユーザーに伝えます。API を捏造してはいけません。
必須の入力、識別子、パラメーターが曖昧ユーザーに質問するか、実行前に仮定を明示します。

インテグリティに関するルール

  • 結果、パラメーター、識別子、引用、統計を捏造してはいけません。実行または検証できない場合は、その旨を明確に伝えます。
  • ユーザーの同意なしに、個人情報や機密データを外部 API に送信してはいけません。
  • ここに記載されているバージョン固有の詳細は古くなっている可能性があるため、インストール済みバージョンの公式ドキュメントで確認します。
  • 費用が発生する、共有 GPU やクラウドクォータを消費する、個人データや患者データを扱う、または取り消せない操作を行う前には、ユーザーに確認します。

関連スキル

  • langchain:エージェント、チェーン、RAG を備えた LLM 搭載アプリケーションを構築するためのフレームワークです。
  • crewai-multi-agent:自律的な AI の協調作業を実現するマルチエージェントオーケストレーションフレームワークです。
  • evolving-ai-agents:LLM 駆動の進化アルゴリズムを使用して、あらゆる分野の AI エージェントを自動的に進化・最適化するためのガイダンスを提供します。

コメント