OpenClaw
AIエージェント与えられた目標に向かって、自分で手順を組み立てて作業を進めるAIプログラム。質問に答えるだけのチャットAIと違い、「調べる→書く→確認する」を自律的に行う24時間運用インフラ。VPS + ローカルPCの2台体制で、 59体の専門エージェントが常時稼働。約5ヶ月連続稼働中。
なぜ作ったか
AIエージェントを「たまに使うツール」ではなく「24時間働く従業員」にしたい——その目的で構築しました。具体的には:
- Discordでの会話を監視し、TODOやリマインドを自動抽出
- AIニュースを毎日自動収集・動画化
- 専門エージェント59体が各領域のタスクを処理
アーキテクチャ
2台体制
■ VPS(フクロウ)— 本番・常時稼働
インターネット → UFW Firewall → Caddy(HTTPS)→ OpenClaw Gateway → AI API
■ ローカルPC(よつば)— 開発・実験用
Tailscale VPN → OpenClaw Gateway → AI API
なぜ2台に分けたのか:
- VPSは本番用。安定稼働が最優先なので実験的変更を加えない
- ローカルPCは開発用。自由に設定変更や新機能のテストができる
- この分離により、本番環境実際の利用者が使っている環境のこと。テスト環境と区別され、ここでの事故は直接利用者に影響するの安定性を犠牲にせず開発を進められる
3層Heartbeat監視
エージェントが生きているかを3つの間隔で監視します:
| 層 | 間隔 | 監視内容 |
|---|---|---|
| 緊急監視 | 1分 | プロセス生存確認 |
| 設定検知 | 5分 | 設定ファイルの変更検知 |
| 会話スキャン | 30分 | Discord会話のTODO/リマインド抽出 |
なぜ3層なのか: 1分ごとに全てをチェックするとAPIApplication Programming Interface(エーピーアイ)の略。あるプログラムの機能を、別のプログラムから呼び出せるようにした「窓口」。予約システムがLINE社の機能とやり取りするのもAPI経由コストが膨大になる。重要度に応じて間隔を変えることで、コストと監視精度のバランスを取っています。
59体の専門エージェント
5カテゴリ59体のエージェントが各領域を担当:
| カテゴリ | 数 | 例 |
|---|---|---|
| engineering | 25体 | コード生成、レビュー、デバッグ、テスト |
| specialized | 24体 | セキュリティ、パフォーマンス、DB設計 |
| testing | — | テスト戦略、品質ゲート次の工程(例: 本番公開)に進んで良いかを判定する関門。テストが全部通っているか・コード検査で警告が出ていないか等を機械的にチェックし、不合格なら先に進めないようにする |
| design | — | UI/UX、アーキテクチャ |
| marketing | — | コンテンツ、SEO |
コスト管理
AI APIのコストを3段階で管理:
月額3千円未満 → 完全自動実行
月額3千〜1万円 → 承認フロー自動分岐
月額1万円超 → アラート通知 → 人間が判断
実際の運用コスト: 月額数千円(3モデル使い分け: GLM-5.2 / Claude / 代替プロバイダー)
面接で聞かれそうなポイント
「59体のエージェントとは具体的に?」
全てが独立して動いているわけではありません。エージェントには2種類あります:
- 常時稼働型: Heartbeatで定期的に起動するエージェント(ニュース収集・Discord監視等)
- オンデマンド型: ユーザーからの要求に応じて起動するエージェント(コードレビュー書かれたコードを、書いた本人以外の視点で読んで問題を指摘する作業。バグ・読みにくさ・危険な書き方を第三者が見つけるのに有効・デバッグ等)
常時稼働しているのは数体で、残りは必要な時にだけ起動します。
「Dockerドッカー。プログラムとその実行環境一式を「コンテナ」という箱に梱包して、どのPCでも同じように動かす技術。「私の環境では動くのに」という問題を防ぐ + Caddy構成の理由」
- Docker: エージェントの実行環境をコンテナ化し、ホストOSへの影響を最小化
- Caddy: リバースプロキシ + 自動HTTPS。Let's Encryptの証明書更新も自動
- Nginxより設定がシンプルで、数行でHTTPS化できる
技術スタック
- Docker Compose / Caddy(リバースプロキシ)
- Node.js / TypeScript / PythonAI・データ分析の分野で最も使われるプログラミング言語(読み: パイソン)。AI関連の道具が最も豊富で、文法が読みやすいのが特徴
- Discord API
- VPS(Ubuntu)+ Tailscale VPN
用語の平易な解説(専門用語を読み解く)
🖥️ VPS・ローカルPC
一言で: 「クラウド上の借サーバー」と「手元のパソコン」。
- VPS(仮想専用サーバー): クラウド業者が貸してくれるサーバー。インターネット向けの本番運用に使う。本章では「フクロウ」と呼称
- ローカルPC: 手元のパソコン。開発や実験に使う。本章では「よつば」と呼称
- 2台体制: 本番用(VPS)と開発用(ローカル)を分け、本番の安定性を犠牲にせず実験できる設計
🔥 UFW Firewall(ファイアウォール)
一言で: 「サーバーに入ってくる通信を、通す・遮断する関所」。
- ファイアウォール: 不正なアクセスを防ぐための通信の関所。空港の税関のように、通してよい通信だけ通す
- UFW(Uncomplicated Firewall): Linux系サーバーでよく使われる、設定が簡単なファイアウォール道具
🛡️ Caddy(キャディ)・リバースプロキシ・HTTPS
一言で: 「Webサーバーの受け付け係」と「通信の暗号化」。
- リバースプロキシ: サーバーの手前に立ち、外部からの通信を受け付けて内部の適切なプログラムへ取り次ぐ係。「ロビーの受付」のような役割
- Caddy(キャディ): リバースプロキシとして動くソフトウェア。設定がシンプル
- HTTPS: 通信を暗号化する仕組み。Webブラウザの鍵アイコン。これがないと通信が丸見えになる
- Let's Encrypt(レッツ・エンクリプト): HTTPSに必要な証明書を無料で発行するサービス。Caddyはこの更新を自動で行う
🐳 Docker(ドッカー)・コンテナ・ホストOS
一言で: 「プログラムを、環境ごと箱詰めしてどこでも動かせる仕組み」。
- コンテナ: プログラムとその実行環境を「箱」に詰めたもの。引っ越ししても中身はそのまま動く
- Docker: コンテナを作る・動かす代表的な道具
- ホストOS: コンテナが乗る台となる本体のシステム。コンテナ化することで、ホストOSに直接影響を与えず済む
🌐 Tailscale VPN(テイルスケール)
一言で: 「離れた複数のパソコンを、仮想的に同じ社内ネットワークに繋ぐ仕組み」。
- VPN(仮想プライベートネットワーク): インターネット上に専用の安全な通信路を作る仕組み。拠点間を繋ぐ「専用トンネル」
- Tailscale: VPNを簡単に構築できるサービス。離れたVPSとローカルPCを、あたかも同じLAN内のように繋げる
🔔 Heartbeat(ハートビート)
一言で: 「システムが生きているか、定期的に脈を打って確認する仕組み」。
- 心臓が「ドクン、ドクン」と脈を打つように、システムが定期的に「生きてます」と信号を送る仕組み
- 本章では3層(1分・5分・30分)で間隔を変え、コストと監視精度を両立