この記事の要点
- 人間承認はワークフロー開始時ではなく、確定した内容を実行する直前に置く
- 承認者には差分、対象、影響、費用、復旧可否を一画面で提示する
- 承認後に内容や対象が変わった場合は、古い承認を無効にして再承認する
承認が必要なのは、間違いを戻せない地点
AIエージェントの全ステップを人が確認すると処理は遅くなり、確認が形骸化します。一方、最初に一度だけ包括承認すると、途中で変化した宛先や金額を確認しないまま実行する危険があります。
人間承認は、外部への影響が確定する直前に置きます。メール送信、一般公開、支払い、データ削除、権限変更など、実行後の完全な取り消しが難しい操作を境界として扱います。
不可逆操作を具体的に列挙する
不可逆かどうかはツール名だけでは決まりません。同じ顧客管理ツールでも、情報の検索と顧客への一斉送信では影響が異なります。ワークフローを操作単位に分解し、外部の人、資金、公開情報、重要データへ作用する地点を特定します。
- 顧客、取引先、社外メンバーへのメッセージ送信
- Webサイト、SNS、共有スペースへの一般公開
- 購入、振込、返金、契約開始など金銭を伴う確定操作
- 原本データの削除、上書き、移動、保持期限の変更
- ユーザー追加、権限昇格、認証設定、共有範囲の変更
承認画面には判断材料をまとめる
「実行してよいですか」だけでは、承認者は内容を再調査しなければなりません。承認依頼には、誰に何が起きるか、どの入力から作られたか、既存状態から何が変わるかを、実行時と同じ内容で表示します。
長い生成過程をそのまま見せるより、最終成果物、重要な差分、適用された制約、未確認事項を優先します。承認者が確認できない情報が残る場合は、承認ボタンではなくSAFE_HOLDへ進めます。
- 操作名、対象、宛先、件数、金額を明示した
- 送信本文や変更前後の差分を省略せず表示した
- 実行後に取り消せる範囲と復旧方法を記載した
- 根拠となる入力、適用ルール、検証結果へアクセスできる
- 承認、差し戻し、中止の選択肢とコメント欄を用意した
承認後の変更を検出する
承認画面を開いてから実行するまでに、対象データや生成内容が変わることがあります。承認時の内容からハッシュやバージョンを作り、実行直前に一致を確認すれば、見ていない内容へ古い承認が転用されるのを防げます。
宛先、金額、本文、添付ファイル、実行対象のいずれかが変わった場合は、変更の大小をエージェントだけで判断せず再承認へ戻します。承認には有効期限を設け、期限切れやワークフロー再開後も同じ扱いにします。
不明な結果を自動再実行しない
不可逆操作では、タイムアウトが失敗を意味するとは限りません。送信先では処理が完了しているのに応答だけ受け取れなかった場合、自動再試行によって二重送信や二重決済が起きます。
結果が確認できない実行はSAFE_HOLDへ移し、対象システムの状態を人が確認します。確認後に再実行する場合も、以前の承認をそのまま流用せず、現在の状態と重複防止情報を含めて新たに承認します。
- 承認者、承認日時、承認対象のバージョンを保存した
- 実行直前に対象内容と承認済み内容の一致を検証した
- タイムアウト時は成功、失敗、不明を区別した
- 差し戻しと中止を正常な終了状態として記録した