ponshu-room-lite/docs/architecture/AUTOMATION_SAFETY_PROTOCOL.md

58 lines
3.3 KiB
Markdown
Raw Normal View History

# 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. 結論
**今回は「工場のベルトコンベア」を作るだけであり、「勝手に動くロボット」を作るわけではありません。**
スイッチを握っているのは、常にあなた(人間)です。
安心して「自動化のスイッチ」を入れてください。