AIエージェントのロールバック計画:ユーザーの信頼を失う前に誤ったアクションを取り消す

信頼できるAIエージェントは、完璧である必要はありません。停止する方法、間違いを説明する方法、そして復旧する方法を知っている必要があります。

エージェントが誤ったCRMフィールドを更新したり、重複した支払いを送信したりした場合、単なる再試行では被害を修復できません。実際のインシデントに直面する前に、ロールバック計画を用意しておく必要があります。

エージェントがチャットから実務へと移行するにつれ、それらは状態(state)を変化させるようになります。これにより、ロールバックは単なるバックエンドのタスクではなく、製品としての機能となります。

よくある失敗パターン:

  • エージェントが誤ったレコードIDを使用する。
  • 再試行によってアクションが2回繰り返される。
  • モデルの切り替えによりツールの動作が変わる。
  • ワークフローが古いメモリで再開される。
  • 一連の処理が途中で止まり、データに不整合が生じる。

復旧レイヤーの構築方法:

  1. アクション・レジャー(Action Ledger)を使用する ログだけに頼らないでください。すべての状態変化を記録するレジャー(台帳)を作成します。すべてのツール呼び出しは、実行の前後でエントリを作成する必要があります。これが復旧のための「信頼できる唯一の情報源(source of truth)」となります。

  2. アクションを分類する すべてのアクションが同じではありません。

  • 読み取り専用:ロールバックは不要。
  • 内部更新:スナップショットから前の値を復元する。
  • 外部の取り消し可能アクション:イベントを削除するか、ステータスを更新する。
  • 外部の取り消し不能アクション:真の「元に戻す(undo)」の代わりに「補償(compensation)」を使用します。メールや支払いは「送信を取り消す」ことができません。訂正を送るか、返金を行う必要があります。
  1. 冪等性(Idempotency)を強制する モデルは冪等性を強制しません。ツールのランタイムが強制する必要があります。冪等性キー(idempotency keys)を使用して、エージェントがタスクを再試行しても、重複した副作用が発生しないようにします。

  2. Sagaパターンを使用する 長いワークフローでは、すべての順方向のアクションに対して補償アクションが必要です。

  • タスクを作成する場合? 補償は、それを削除またはキャンセルすることです。
  • フィールドを更新する場合? 補償は、古い値を復元することです。
  • メールを送信する場合? 補償は、訂正を送ることです。
  1. チェックポイントを実装する クラッシュした後にモデルに「どこまで進んでいたか考えて」と頼むのはやめましょう。チェックポイントを使用して、現在の状態、完了したアクション、保留中のタスクを保存します。システムはチェックポイントをロードして作業を再開できるようにすべきです。

  2. 復旧キューを構築する 検証ステップが失敗したときは、タスクを復旧キューに移動します。これにより、タスクの再開、補償、または終了が可能になります。リスクの高いエラーについては、必ず人間の承認を求めてください。

信頼は、目に見える形での復旧を通じて築かれます。エージェントが間違いを犯したときは、曖昧な言葉を使わないでください。何が変わり、なぜそれが起こり、どのように修正したのかをユーザーに正確に伝えます。

最初のインシデントが発生する前に、ロールバック計画を構築してください。

Source: https://dev.to/jackm-singularity/ai-agent-rollback-plan-undo-bad-actions-before-users-lose-trust-4927

Optional learning community: https://t.me/GyaanSetuAi