Autonomous Agents

OpenClaw自律型AIエージェント解説:アーキテクチャ、Docker導入とコスト

### クイックアンサー:OpenClawとは?何が優れているのか?

OpenClawは、独立したGatewayプロトコル、20以上のチャット連携、堅牢なサンドボックスを備えたオープンソースの自律型パーソナルAIアシスタントです。月額20〜50ドルの商用SaaSエージェントとは異なり、セルフホストにより月額費用は0円で、API直結により1実行あたりわずか0.003〜0.042ドルで運用可能です。


1. 2026年におけるOpenClawの重要性と概要

2026年、AIエージェントの運用パラダイムは単一プロンプトの対話から、イベント駆動型で24時間自律稼働する実行ループへと大きく進化しました。Claude CodeやOpenAI Codexがローカル開発環境のCLIに特化しているのに対し、OpenClaw(旧 openclaw.ai)は、マルチチャネル通信、定期的なCronジョブ、安全に隔離されたマルチエージェント実行を兼ね備えたパーソナルAI基盤として広く支持されています。

OpenClawは以下の3つの設計思想に基づいています:

  1. 分離型Gatewayアーキテクチャ:ポート18789で稼働し、メッセージルーティング、セッション永続化、Cron制御、Webhook受信を一元管理する常駐デーモン。
  2. 20以上のチャネル統合:Telegram、WhatsApp (Baileys)、Discord (Bot API + Gateway)、Slack (Bolt SDK)、Signal、iMessage、Matrix、WebChat等に標準対応。
  3. 拡張可能なスキルとサンドボックス:ClawHubレジストリで共有されるMarkdown形式のスキル仕様(SKILL.md)と、DockerやPOSIX権限分離によるセキュアなシェル実行環境。

2. アーキテクチャ構成:Gateway、チャネル、ワークスペース

OpenClawの中核は、ステートフルなバックグラウンドデーモン(OpenClaw Gateway)です。WebSocketやUnixドメインソケットを介してクライアントおよび外部メッセージングAPIと連携します。

+-----------------------------------------------------------------------------------+
|                              外部メッセージングチャネル                           |
|   Telegram  |  WhatsApp  |  Discord  |  Slack  |  Signal  |  iMessage  |  Matrix  |
+-----------------------------------------------------------------------------------+
                                          | (Webhook / WebSocket / Bot API)
                                          v
+-----------------------------------------------------------------------------------+
|                            OpenClaw Gateway (Port 18789)                          |
|  - DMペアリング・許可リスト判定           - セッションコンテキスト保持            |
|  - 定期実行Cronスケジューラ               - Webhookルーティング                   |
|  - 設定ホットリロード (Hybrid Watch)       - モデルフェイルオーバー・自動切替      |
+-----------------------------------------------------------------------------------+
       |                                      |                              |
       v                                      v                              v
+------------------+                  +------------------+         +-------------------+
|  Agent: Home     |                  |  Agent: Work     |         |  Agent: DevOps    |
|  - Workspace-Home|                  |  - Workspace-Work|         |  - Workspace-Ops  |
|  - SOUL.md       |                  |  - SOUL.md       |         |  - SOUL.md        |
|  - 個人CRM管理   |                  |  - Jira / Linear |         |  - インフラ自動化 |
+------------------+                  +------------------+         +-------------------+
       |                                      |                              |
       +--------------------------------------+------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
|                          マルチエージェント・サンドボックス層                     |
|  - Dockerコンテナによる完全分離 (`mode: non-main` / `mode: all`)                  |
|  - POSIX権限剥奪 (`cap_drop: ALL`、非特権UID 10001)                               |
|  - 読み取り専用ホストマウント (`:ro`) とTmpfsメモリ領域 (`/tmp:noexec`)           |
|  - ClawHubスキルランタイム (`SKILL.md` パーサー、動的バイナリ検証)                |
+-----------------------------------------------------------------------------------+

ワークスペースディレクトリ構造

すべてのエージェント構成は ~/.openclaw/ 配下で明示的に管理されます:

~/.openclaw/
├── openclaw.json          # 主設定ファイル (JSON5形式)
├── cron.json              # 登録済みCronタスクと実行スケジュール
├── state/                 # SQLiteセッションデータ、キャッシュ、トークン
├── skills/                # グローバル管理スキル
└── workspace/             # エージェント標準作業ディレクトリ
    ├── AGENTS.md          # エージェント基本行動規範
    ├── SOUL.md            # 人格、トーン、安全ポリシー定義
    ├── TOOLS.md           # 固有ツール呼び出し仕様
    └── skills/            # ワークスペース固有スキル
        └── repo-analyzer/
            └── SKILL.md   # スキル定義ファイル

Gateway運用コマンド

# Gatewayの稼働状況、ポート、メモリ消費を確認
openclaw gateway status

# デーモンとしてバックグラウンド起動
openclaw gateway start

# フォアグラウンド詳細ログ出力モードで起動
openclaw gateway --port 18789 --verbose

# 環境および設定の総合ヘルスチェック
openclaw doctor

# 権限不整合やディレクトリ不備の自動修復
openclaw doctor --fix

3. Dockerによるセルフホスト本番環境構築

エージェントにシェル実行権限を与える場合、ホストOS上で直接実行することはセキュリティ上の重大なリスクを伴います。Docker Composeを利用した分離環境の構築が推奨されます。

本番環境向け docker-compose.yml

version: "3.9"

services:
  openclaw-gateway:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw-gateway
    restart: unless-stopped
    user: "10001:10001"
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETUID
      - SETGID
    environment:
      - NODE_ENV=production
      - OPENCLAW_HOME=/home/openclaw/.openclaw
      - OPENCLAW_STATE_DIR=/home/openclaw/.openclaw/state
      - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
      - OPENCLAW_GATEWAY_PASSWORD=${OPENCLAW_GATEWAY_PASSWORD}
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}
    volumes:
      - openclaw-config:/home/openclaw/.openclaw
      - openclaw-workspace:/home/openclaw/.openclaw/workspace
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - "127.0.0.1:18789:18789"
    networks:
      - openclaw-net
    healthcheck:
      test: ["CMD", "openclaw", "health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 20s

  openclaw-sandbox:
    image: ghcr.io/openclaw/sandbox-runner:latest
    container_name: openclaw-sandbox
    restart: always
    network_mode: none
    read_only: true
    tmpfs:
      - /tmp:rw,noexec,nosuid,size=256m
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    volumes:
      - openclaw-workspace:/workspace:rw
    environment:
      - RUNNER_UID=10001
      - RUNNER_GID=10001

volumes:
  openclaw-config:
    driver: local
  openclaw-workspace:
    driver: local

networks:
  openclaw-net:
    driver: bridge

本番環境向け openclaw.json 設定

{
  agents: {
    defaults: {
      workspace: "/home/openclaw/.openclaw/workspace",
      model: {
        primary: "anthropic/claude-sonnet-4-6",
        fallbacks: ["deepseek/deepseek-chat", "openai/gpt-5.4"],
      },
      thinking: "high",
      sandbox: {
        mode: "non-main", // off | non-main | all
        scope: "agent",   // session | agent | shared
        dockerImage: "ghcr.io/openclaw/sandbox-runner:latest",
        timeoutSeconds: 300,
        memoryLimitMb: 1024,
      },
    },
    list: [
      {
        id: "main",
        default: true,
        workspace: "/home/openclaw/.openclaw/workspace",
      },
      {
        id: "devops",
        workspace: "/home/openclaw/.openclaw/workspace-devops",
        sandbox: { mode: "all" },
      },
    ],
  },
  channels: {
    telegram: {
      enabled: true,
      botToken: "7123456789:AAFq_example_token_secret",
      dmPolicy: "pairing", // pairing | allowlist | open | disabled
      allowFrom: ["tg:987654321"],
    },
    discord: {
      enabled: true,
      botToken: "MTI4OTexampleDiscordBotToken",
      dmPolicy: "allowlist",
      allowFrom: ["dc:382910394857291029"],
    },
  },
  cron: {
    enabled: true,
    maxConcurrentRuns: 4,
  },
  hotReload: "hybrid",
}

4. マルチエージェント制御とサンドボックスセキュリティ

アクセス制御(DM Policy)とサンドボックスモード

  1. DMポリシー
  • pairing(デフォルト):未知のアカウントからのメッセージに対し認証コードを発行。管理者が承認するまで対話を保留。
  • allowlist:指定したID(allowFrom)のみ実行許可。
  • open:誰でも対話可能(公開FAQボット向け、sandboxはallを推奨)。
  • disabled:DM受信を遮断し、Cron通知のみに限定。
  1. サンドボックス分離レベル
  • off:ホスト上で直接実行(最高速だがセキュリティリスク大)。
  • non-main(推奨):メインエージェントは通常実行、サブエージェントや外部ツールはDocker内で実行。
  • all:すべてのシェル実行をネットワーク遮断コンテナ(network_mode: none)に封じ込め。

5. スキルエンジンとClawHubエコシステム

OpenClawの機能拡張は Skills によって行われます。スキルはYAMLヘッダーとMarkdown手順書で記述された SKILL.md です。

---
name: github-pr-analyzer
description: GitHubプルリクエストの差分解析とテスト実行レビューを行います。
metadata: {
  "openclaw": {
    "requires": {
      "bins": ["gh", "jq", "git"],
      "env": ["GITHUB_TOKEN"],
      "config": ["sandbox.enabled"]
    },
    "os": ["linux", "darwin"],
    "always": false,
    "primaryEnv": "GITHUB_TOKEN"
  }
}
---

# GitHub PR Analyzer Skill

ユーザーからのリクエストまたはWebhook受信時:
1. `gh pr diff <pr_number>` で差分を取得する。
2. 変更ファイルを特定し、テスト影響範囲を解析する。
3. Markdown形式でレビューサマリーを作成する。

スキル管理コマンド

# スキル一覧を表示
openclaw skills list

# ClawHub公式からスキルを導入
openclaw skills install web-researcher

# GitHubリポジトリから特定バージョンをインストール
openclaw skills install git:github.com/openclaw-community/postgres-inspector@v1.4.0

# 署名とパーミッションの検証
openclaw skills verify web-researcher

# 全スキルの一括更新
openclaw skills update --all

6. ベンチマーク評価:SWE-benchとリソース消費量

評価指標 OpenClaw (Self-Hosted + Sonnet 4.6) Claude Code (CLI) Devin (Enterprise) AutoGen v0.4 (Docker) 商用SaaSボット
SWE-bench Verified (解決率) 68.4% 72.4% 71.8% 52.1% 41.2%
ツール呼び出し精度 94.6% 96.8% 95.2% 84.3% 79.5%
初回応答遅延 (TTFT) 0.42秒 (常駐Gateway) 1.84秒 4.80秒 (仮想マシン起動) 1.10秒 2.45秒
アイドル時メモリ消費 84 MB (Node/Rust最適化) 該当なし (単発実行) クラウド管理 420 MB (Python基盤) クラウド管理
5並行タスク時メモリ 340 MB 該当なし クラウド管理 1,840 MB クラウド管理
サンドボックス起動負荷 180ms (コンテナ待機) なし (ホスト直結) VMハイパーバイザ 450ms 独自環境
チャネル対応数 20+ 連携 端末のみ WebおよびSlack Pythonコードのみ Web / Telegram
データ主権・オンプレミス 100% 自社管理 ローカル / Cloud API クローズドSaaS 100% 自社管理 クローズドSaaS

7. OpenClawの料金体系:SaaS比較と実運用コスト

openclaw pricing の検索需要が示す通り、多くの開発者が「OpenClawは有料なのか?」という疑問を持っています。

結論として、OpenClawソフトウェア自体は完全無料のオープンソースです。月額固定費やライセンス料は存在せず、発生する費用は以下の2点のみです:

  1. ホストサーバー費用:VPSサーバー代(月額$4〜$15程度)。
  2. LLM推論API料金:利用した分だけプロバイダーに直接支払う従量課金。

1,000回実行時のコスト試算

プラットフォーム 月額基本料金 課金方式 単純な問合せ1回 複雑なタスク1回 (リポジトリ監査) 月間500回想定総額
OpenClaw (DeepSeek V4) $0.00 直接API ($0.14 / $0.28 / 1M) $0.0008 $0.012 $6.40 ($5 VPS込み)
OpenClaw (Claude Sonnet 4.6) $0.00 直接API ($3.00 / $15.00 / 1M) $0.0042 $0.058 $29.50 ($5 VPS込み)
Claude Code (Anthropic) $0.00 (Max契約必須) 月額$20〜 + API従量 $0.0042 $0.058 $45.00 – $80.00
Devin Enterprise 1席あたり月額$500.00 月額に含む + 追加枠 席数料金内 席数料金内 $500.00+
商用SaaSエージェント 月額$20.00 – $50.00 回数上限付きパッケージ 枠内消費 上限超過で停止 $20.00 – $100.00

8. 運用管理とトラブルシューティング

# 稼働状況とアクティブ接続の確認
openclaw gateway status

# リアルタイムログ監視
openclaw logs --follow --lines 50

# 設定構文の検証
openclaw config validate

# 高推論モードでエージェントに対話を要求
openclaw agent --message "最新コードの脆弱性検査を実行してください" --thinking high

# Telegram宛てに完了通知を送信
openclaw message send --target "tg:987654321" --message "デプロイが正常に完了しました。"

よくあるトラブルと解決策

  1. ポート衝突 (EADDRINUSE 18789):過去のGatewayプロセスが残存。openclaw gateway stop または kill -9 $(lsof -t -i :18789) で停止。
  2. Telegram重複競合 (409 Conflict):同一Botトークンで複数インスタンスが稼働。常駐インスタンスを1つに集約。
  3. ワークスペース権限エラー (EACCES):ホスト側のUID不整合。chown -R 10001:10001 ~/.openclaw/workspace を実行。

9. まとめと選定基準

OpenClawは、単発利用のCLIツールと高価でブラックボックスなクラウドSaaSの長所を融合した次世代エージェント基盤です。自社サーバー上でDockerを用いて運用することで、完全なデータ機密性を確保しながら、運用コストを大幅に削減できます。

← 記事一覧へ
0 / 4