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

58 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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