autogpt-agents について
AutoGPTは、継続的に動作するAIエージェントを構築・デプロイ・管理するプラットフォームです。ビジュアル画面や開発ツールで自動化を作るチーム向けに、グラフ型エディター、再利用可能なブロック、外部トリガー、Forgeツールキットを備えています。
主な機能
- 01ノード型のビジュアルエージェントビルダー
- 02継続実行と外部トリガー
- 03再利用可能なブロックとマーケットプレイス
- 04カスタムエージェント向けForgeツールキット
- 05エージェントのベンチマークシステム
活用シーン
- 01複数段階の自動化パイプライン構築
- 02スケジュールやWebhookによるエージェント起動
- 03画面上でのエージェント設定
- 04ベンチマークによるエージェント評価
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ orchestra-research/ ai-research-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
プラットフォームへのアクセス
- フロントエンド UI: http://localhost:3000
- バックエンド API: http://localhost:8006/api
- WebSocket: ws://localhost:8001/ws
アーキテクチャの概要
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 | エージェントの出力 |
AI | LLM の呼び出し、テキスト生成 |
WEBHOOK | 外部トリガー |
STANDARD | 一般的な操作 |
AGENT | ネストされたエージェントの実行 |
実行フロー
User/Trigger → Graph Execution → Node Execution → Block.execute()
↓ ↓ ↓
Inputs Queue System Output Yields
エージェントの構築
ビジュアルビルダーの使用
- http://localhost:3000 で Agent Builder を開きます
- BlocksControl パネルからブロックを追加します
- ハンドル間をドラッグしてノードを接続します
- 各ノードで入力を設定します
- 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
インテグレーション
認証情報の追加
- Profile > Integrations に移動します
- プロバイダー(OpenAI、GitHub、Google など)を選択します
- API キーを入力するか、OAuth で認可します
- 認証情報は暗号化されて安全に保存されます
ブロックでの認証情報の使用
ブロックは、ユーザーの認証情報に自動的にアクセスします。
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)
# ...
サポートされているプロバイダー
| プロバイダー | 認証タイプ | ユースケース |
|---|---|---|
| OpenAI | API キー | LLM、埋め込み |
| Anthropic | API キー | Claude モデル |
| GitHub | OAuth | コード、リポジトリ |
| OAuth | Drive、Gmail、カレンダー | |
| 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
ベストプラクティス
- シンプルに始める: 3〜5 ノードのエージェントから始めてください
- 段階的にテストする: 変更のたびに実行してテストしてください
- Webhook を使用する: イベント駆動型エージェントの外部トリガーとして利用してください
- コストを監視する: クレジットシステム経由で LLM API の使用量を追跡してください
- エージェントをバージョン管理する: 変更前に動作するバージョンを保存してください
- ベンチマークを実施する: 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
参考資料
- 高度な使い方 - カスタムブロック、デプロイ、スケーリング
- トラブルシューティング - よくある問題、デバッグ
リソース
- ドキュメント: https://docs.agpt.co
- リポジトリ: https://github.com/Significant-Gravitas/AutoGPT
- Discord: https://discord.gg/autogpt
- ライセンス: MIT (Classic) / Polyform Shield (Platform)
コメント
Markdown 対応