システム管理者やエンジニアは、DockerおよびDocker Composeを活用することで、プライベートなインフラ環境に数分でAgentGPTをセルフホストできます。オンプレミスサーバーやプライベートクラウド(VPC)内に直接デプロイすることにより、エージェントの目的設定、推論プロセスの履歴、プロンプト、実行ログ、データベースを社内ネットワーク内に完全に保持し、マルチテナントのパブリックSaaSへ機密情報が流出するリスクを遮断できます。
本記事では、AgentGPTのアーキテクチャ構成、前提条件、自動スクリプトおよび手動Docker Composeによる構築手順、本番運用向けのセキュリティ強化策、そして長期的な保守におけるトレードオフを解説します。
システムアーキテクチャと動作原理
AgentGPTは、コンテナ化されたマルチティア構造によって自律型再帰エージェントのワークフローを実行します。
- フロントエンド(
frontend): Next.js 13、TypeScript、Tailwind CSS、HeadlessUIで構築されたWebインターフェース。ポート3000で稼働し、ブラウザ上でエージェントの命名、ゴール設定、サブタスク生成プロセスのリアルタイム監視、実行結果の書き出しが可能です。 - バックエンドエンジン(
platform): ポート8000で動作するPython FastAPIサービス。LangChainを基盤として、目標の分解、タスク優先度キューの管理、実行、反思ループ、外部ツール連携を担います。 - データ永続化レイヤー: フロントエンドのPrisma ORMおよびバックエンドのSQLModelを通じてMySQLデータベースと接続し、エージェント設定や実行履歴を安全に永続化します。
- 外部モデルおよびツール連携: コントロールプレーンやセッションログは社内Dockerホスト上に保持されますが、LLMによる推論処理はOpenAI APIへのアウトバウンドHTTPS通信で行われます(必要に応じてSerper検索APIやReplicate画像生成APIも利用可能)。
前提条件
デプロイを開始する前に、ホスト環境で以下の要件が満たされていることを確認してください。
- DockerおよびDocker Compose: Docker Engine 20.10以降またはDocker Desktopがインストールされ、Compose v2が稼働していること。
- Git: ソースコードリポジトリを取得するために必要。
- Node.js 18以上: プロジェクト同梱の対話型CLIセットアップスクリプトを使用する場合に必要。
- API認証情報:
- 十分な利用枠を持つOpenAI APIキー(GPT-4またはGPT-3.5-turbo)。
- (任意) エージェントにWeb検索機能を持たせるためのSerper APIキー。
- (任意) 画像生成連携を利用する場合のReplicate APIトークン。
方法1: 自動セットアップスクリプトによるクイック起動
AgentGPTリポジトリには、環境変数設定とDockerコンテナ構築を対話形式で自動化するスクリプトが用意されています。
1. リポジトリのクローン
git clone https://github.com/reworkd/AgentGPT.git
cd AgentGPT
2. セットアップスクリプトの実行
OSに応じて以下のコマンドを実行します。
- Linux / macOS:
./setup.sh - Windows(PowerShellまたはコマンドプロンプト):
setup.bat
3. 対話プロンプトの入力
スクリプトの指示に従い、以下を入力します。
- OpenAI APIキー
- (任意)SerperおよびReplicateのAPIキー
- ポート設定および環境パラメータ
コンテナのビルドと起動が完了したら、ブラウザで http://localhost:3000 にアクセスして動作を確認します。
方法2: Docker Composeによる手動デプロイと運用
CI/CD環境や対話型シェルが利用できないサーバーでは、Docker Composeを直接用いた宣言的デプロイが推奨されます。
1. プロジェクトの取得と構成確認
git clone https://github.com/reworkd/AgentGPT.git
cd AgentGPT
リポジトリルートの docker-compose.yml には、frontend(./next/Dockerfile)と platform(./platform の prod ターゲット)の各サービスが定義されています。
2. 環境変数の設定
環境変数のテンプレートをNext.jsの稼働ディレクトリへコピーします。
cp .env.example ./next/.env
./next/.env を任意のエディタで編集し、必要なパラメータを設定します。
# トークン暴走を防ぐための最大ループ回数制限
NEXT_PUBLIC_MAX_LOOPS="50"
REWORKD_PLATFORM_MAX_LOOPS="50"
# ネットワーク接続エンドポイント
NODE_ENV="production"
NEXT_PUBLIC_BACKEND_URL="http://localhost:8000"
# セッションおよび認証の秘密鍵
NEXTAUTH_SECRET="ランダムに生成した32バイト以上の安全な文字列"
NEXTAUTH_URL="http://localhost:3000"
# 外部LLMおよび連携APIキー
OPENAI_API_KEY="sk-your-openai-api-key"
SERPER_API_KEY="your-optional-serper-api-key"
3. コンテナのビルドとバックグラウンド起動
イメージのビルドを実行し、デタッチモードでコンテナ群を起動します。
docker compose up --build -d
4. サービス状態とログの確認
コンテナが正常に起動しているか確認します。
docker compose ps
起動ログを確認する場合は以下を実行します。
docker compose logs -f
ブラウザから http://localhost:3000 を開くことで、セルフホストされた自律型エージェントのダッシュボードが利用可能になります。
本番社内ネットワーク運用時のセキュリティ強化策
デフォルト設定は開発環境を前提として設計されているため、社内本番環境で運用する場合は以下の対策を実施してください。
1. ホストポートの公開範囲制限
デフォルトではポート 3000 および 8000 がすべてのネットワークインターフェース(0.0.0.0)にバインドされます。これにより、意図せず同一ネットワーク内の第三者から直接アクセスされる危険があります。docker-compose.yml を編集し、ローカルループバック(127.0.0.1)に限定してください。
services:
frontend:
ports:
- "127.0.0.1:3000:3000"
platform:
ports:
- "127.0.0.1:8000:8000"
2. リバースプロキシとTLSの導入
Nginx、Traefik、Caddyなどのリバースプロキシをフロントに配置し、HTTPS暗号化や社内認証(SSO/LDAP)を適用します。Nginxの設定例は以下のとおりです。
server {
listen 443 ssl http2;
server_name agent.internal.example.com;
ssl_certificate /etc/ssl/certs/internal.crt;
ssl_certificate_key /etc/ssl/private/internal.key;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
3. 最大実行ループ回数の厳格な制限
エージェントは抽象的なゴールを与えられると、無限にサブタスクを再生成し続けるリスクがあります。NEXT_PUBLIC_MAX_LOOPS および REWORKD_PLATFORM_MAX_LOOPS を20〜50程度に設定し、API利用コストの過剰消費を未然に防止してください。
4. データプライバシー境界の把握
AgentGPTをセルフホストすることで、システム構成、タスク履歴、ローカルログ、データベースは社内インフラにとどまります。ただし、エージェントが実行するプロンプトの内容そのものは外部のOpenAI APIエンドポイントへ送信されます。極めて機密性の高い業務に利用する場合は、社内プロキシを通したデータ損失防止(DLP)対策や、プライベート接続されたAzure OpenAI Serviceとの連携を検討してください。
プロジェクトのライフサイクルと長期保守における留意点
長期的な業務基盤としてAgentGPTを採用する際は、以下の背景を理解しておく必要があります。
- リポジトリのアーカイブ状況: 開発元の方針変更に伴い、GitHub上の
reworkd/AgentGPTリポジトリは2026年初頭にアーカイブ(読み取り専用)となりました。既存のコードベースはPoCやプロトタイプ実行として十分安定していますが、新規機能の追加や上流からの脆弱性修正パッチは期待できません。 - 依存関係の固定: ソースからDockerイメージを構築する際は、ベースイメージやPython/Nodeパッケージのバージョンを厳格に固定し、将来のビルド破損を防止してください。
- 高度なエージェント基盤へのステップアップ: 継続的なツール拡張やマルチエージェント協調、厳格なHuman-in-the-loop承認フローを必要とする本番システム構築には、CrewAI、AutoGen、LangGraphなどの現行フレームワークの併用・移行も視野に入れて評価することをお勧めします。