autogpt-agents について
AutoGPTは、継続的に動作するAIエージェントの構築、デプロイ、管理を行うプラットフォームです。自動化を作る利用者や開発者向けに、ビジュアルなノードエディター、再利用可能なブロック、トリガー、Forge開発ツールキットを備えています。
主な機能
- 01ビジュアルなノード式エージェントビルダー
- 02Webhookとスケジュールによる継続実行
- 03再利用可能なブロックとエージェントマーケットプレイス
- 04カスタムエージェント開発用Forgeツールキット
- 05標準化されたエージェントベンチマーク
活用シーン
- 01継続動作する複数段階の自動化を構築
- 02Webhookや定期実行でエージェントを起動
- 03カスタムブロックでLLMと外部サービスを接続
- 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
プラットフォームへのアクセス
- フロントエンド 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 Key | LLM、埋め込み |
| Anthropic | API Key | Claude モデル |
| GitHub | OAuth | コード、リポジトリ |
| OAuth | Drive、Gmail、Calendar | |
| Discord | Bot Token | メッセージング |
| 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)
エージェントの運用手順
- 環境を確認します。 フレームワークのバージョン、モデルプロバイダー、API キー、レート制限を確認します。
- 入力を明確にします。 データまたはユーザーから、形式、識別子、パラメーターを確認します。結果を左右する値は推測せず、質問してください。
- まず小規模に実行します。 既知の入力で単一の呼び出しまたはチェーンをテストし、生の出力を確認します。
- 上記の手順と参考資料を使って、タスク全体を実行します。
- 結果を検証します。 小規模なラベル付きデータセットで評価し、構造化出力をスキーマと照合し、プロンプトと応答を記録します。
- 報告します。 実行した内容(バージョン、コマンド、パラメーター)、確認した内容、未確定の事項を伝えます。
| このような場合 | 対応方法 |
|---|---|
| 出力が期待されるスキーマと一致しない | 検証と再試行を追加する、スキーマを厳密にする、またはプロンプトを簡素化します。 |
| これらの手順に記載されている関数、フラグ、エンドポイントがインストール済みバージョンにない | インストール済みバージョンのドキュメント(help()、--help、公式ドキュメント)を確認し、適切に対応してユーザーに伝えます。API を捏造してはいけません。 |
| 必須の入力、識別子、パラメーターが曖昧 | ユーザーに質問するか、実行前に仮定を明示します。 |
インテグリティに関するルール
- 結果、パラメーター、識別子、引用、統計を捏造してはいけません。実行または検証できない場合は、その旨を明確に伝えます。
- ユーザーの同意なしに、個人情報や機密データを外部 API に送信してはいけません。
- ここに記載されているバージョン固有の詳細は古くなっている可能性があるため、インストール済みバージョンの公式ドキュメントで確認します。
- 費用が発生する、共有 GPU やクラウドクォータを消費する、個人データや患者データを扱う、または取り消せない操作を行う前には、ユーザーに確認します。
関連スキル
langchain:エージェント、チェーン、RAG を備えた LLM 搭載アプリケーションを構築するためのフレームワークです。crewai-multi-agent:自律的な AI の協調作業を実現するマルチエージェントオーケストレーションフレームワークです。evolving-ai-agents:LLM 駆動の進化アルゴリズムを使用して、あらゆる分野の AI エージェントを自動的に進化・最適化するためのガイダンスを提供します。
コメント
Markdown 対応