AIエージェントをエンタープライズシステムに組み込むプラクティス
【Human-in-the-Loop 承認ゲート】
💡 AIの「最後の砦」は人間です。高リスク操作の前に承認を挟む仕組みがなければ、ハルシネーション1つで取り返しのつかない事態を招きます。
🔥 解決する課題
- ハルシネーション・誤操作による致命的ミスが最終チェックなく実行される
- 「誰が承認したか」の証跡がなく説明責任を果たせない
- 規制上、人間の関与が義務付けられている操作への対応ができない
- 承認対象が広すぎて形骸化し、機械的にクリックするだけになる
🏗️ 提案パターン
アクションをリスクスコアリング(金額・影響範囲・可逆性・データ分類)し、閾値を超えたものだけを承認キューへ送ります。承認通知はSlack・メール・専用UIで送信し、承認待ちの間ジョブは中断・永続化されます。承認/却下/修正の結果と承認者情報は監査ログに記録。初期は広めに承認を求め、精度実績が蓄積されたら段階的に自動化率を上げていく(HITL→HOTL→全自動)設計にします。
✅ 選定条件
- 向き:金銭・契約・顧客接点・人事・本番変更など高リスク操作
- 不向き:低リスク・大量・即時性が命の処理(承認がボトルネック化)
⚠️ 落とし穴
- 全操作を承認対象にすると「承認疲れ」で形骸化する
- 承認待ちのジョブ永続化設計を忘れると、タイムアウトでジョブが消失する
- 自動化率を上げるタイミングの判断基準(精度実績の閾値)を事前に決めておかないと、いつまでも手動のまま
🛠️ 実装方針
1. リスクスコアリングロジック(金額・影響範囲・可逆性・データ分類)をOPA/Cedarでポリシーとして定義し、承認要否を動的に判定します
2. 承認通知はSlack Bolt(またはTeams Webhook)で実装し、承認/却下ボタン付きのインタラクティブメッセージを送信します
3. 承認待ちジョブの永続化にはTemporalのワークフロー中断機能またはStep Functionsのコールバック待機を使います
4. 承認/却下/修正の全結果を監査ログ(承認者・タイムスタンプ・理由)としてCloudWatch LogsやDatadog等に記録します
5. HITL→HOTL→全自動の移行閾値(例:連続100件の正答率99%超)を事前に定義し、ダッシュボードで進捗を可視化します
#
AIエージェント# #
エンタープライズアーキテクチャ#