58 lines
3.3 KiB
Markdown
58 lines
3.3 KiB
Markdown
|
|
# Automation Safety Protocol: Keeping the "Human" in Loop
|
|||
|
|
|
|||
|
|
* **Date**: 2026-01-19
|
|||
|
|
* **Subject**: Risk Assessment & Safety Rails for the AI Factory
|
|||
|
|
|
|||
|
|
## 1. 懸念の核心: "AIは勝手に暴走するか?"
|
|||
|
|
|
|||
|
|
ユーザー様が抱く「AIが知らないところで何かをするのではないか」という不安は、非常に健全かつ重要です。
|
|||
|
|
結論から言うと、**今回構築するシステム(Dokploy CI/CD)は暴走しません。**
|
|||
|
|
しかし、「Phase 2B: AIエージェント」の段階ではリスクが生じます。
|
|||
|
|
|
|||
|
|
### 🤖 2つの「自動化」の違い
|
|||
|
|
|
|||
|
|
| 種類 | 仕組み | 今回の構成 (Dokploy) | リスク |
|
|||
|
|
| :--- | :--- | :--- | :--- |
|
|||
|
|
| **決定的自動化 (Deterministic)** | "Aが起きたら必ずBをする" | **YES** (Git Push → Deploy) | **なし** (人間が引き金を引くまで動かない) |
|
|||
|
|
| **自律的自動化 (Autonomous)** | "AI自身が考えて行動する" | **NO** (将来の構想) | **あり** (予期せぬコード書き換えなど) |
|
|||
|
|
|
|||
|
|
今回は **前者の「決定的自動化」** しか導入しません。
|
|||
|
|
つまり、**あなたが `git push` を押さない限り、世界は1ミリも動きません。**
|
|||
|
|
|
|||
|
|
## 2. Safety Rails (安全装置)
|
|||
|
|
|
|||
|
|
それでも「もしも」に備え、以下の3つの安全装置を定義します。
|
|||
|
|
|
|||
|
|
### 🛡️ Rail 1: "The Human Trigger" (人間以外お断り)
|
|||
|
|
* **ルール**: Dokployのデプロイ承認を「Git Push」のみに限定する。
|
|||
|
|
* **効果**: AIが勝手にコードを書き換えても、あなたが確認してPushしない限り、本番環境には反映されません。
|
|||
|
|
* **Gitea連携**: GiteaのProtected Branch設定で、MainブランチへのPushを制限可能です。
|
|||
|
|
|
|||
|
|
### 🛡️ Rail 2: "Visibility" (通知システム)
|
|||
|
|
「知らないところで何かが起きる」を防ぐため、全てのイベントを通知させます。
|
|||
|
|
* **Slack / Discord / LINE Invoke**:
|
|||
|
|
* ビルド開始時 🔔
|
|||
|
|
* デプロイ成功時 ✅
|
|||
|
|
* デプロイ失敗時 ❌
|
|||
|
|
* **Dokploy**: Webhook機能でこれを標準サポートしています。
|
|||
|
|
|
|||
|
|
### 🛡️ Rail 3: "The Kill Switch" (緊急停止ボタン)
|
|||
|
|
万が一、無限ループなどの異常動作が発生した場合の停止手順です。
|
|||
|
|
|
|||
|
|
1. **Level 1 (アプリ停止)**: Dokploy管理画面から `Stop` ボタン。
|
|||
|
|
2. **Level 2 (サーバー停止)**: ConoHa VPSの管理画面から「強制停止 (Power Off)」。
|
|||
|
|
* これは物理電源を抜くのと同じで、どんなAIもこれには抗えません。
|
|||
|
|
|
|||
|
|
## 3. 将来のリスク管理 (Phase 2B以降)
|
|||
|
|
|
|||
|
|
将来、本当に「AIが勝手にコードを修正してデプロイする」世界を作る場合は、以下の層を追加します。
|
|||
|
|
|
|||
|
|
* **Sandbox環境 (Staging)**: AIはいきなり本番(Production)を触らせず、まず誰にも公開されていないテスト環境(Staging)にデプロイさせる。
|
|||
|
|
* **AI監査官**: 別のAIにコードをレビューさせる(例: "この変更はデータベースを削除しますか?" → Yesならブロック)。
|
|||
|
|
|
|||
|
|
## 4. 結論
|
|||
|
|
|
|||
|
|
**今回は「工場のベルトコンベア」を作るだけであり、「勝手に動くロボット」を作るわけではありません。**
|
|||
|
|
スイッチを握っているのは、常にあなた(人間)です。
|
|||
|
|
安心して「自動化のスイッチ」を入れてください。
|