AIが「できたか分からない」と言ったとき、もう一度やらせてはいけない
AIエージェントに「メールを送信して」と頼んだ。AIが送信要求を出したところ、その直後に通信が切れ、「成功したか分かりません」と返ってきた。ここで再度実行を指示すれば、実は最初の送信が成功していた場合、同じメールが2通届く。チケット作成なら2件、返金処理なら二重返金になるかもしれない。この状態を「Commit-Unknown」と呼ぶ。AIの鬼が引っかかるのは、ここの問題設定だ。私たちはAIの失敗に目を向けがちだが、本当の恐怖は「成功したのか失敗したのか分からない」という不確実性にある。経営判断でいえば、失敗なら対策は立てやすい。だが不確実性は対策のしようがない。
分散システムでは、こうした問題は半世紀近く前から知られていた。Timeoutは未実行を意味しない。通信が切れても、外部世界では処理が完了している可能性がある。だから単純にRetryすれば二重実行に至る。重要なのは、一度Unknownになったら、すぐに再実行するのではなく、外部世界の状態を確認することだ。返金APIがタイムアウトしたなら、その返金が実際に処理されたかどうかを銀行口座側で確認してから、次のアクションを決める。このReconciliation(調整)のステップが、AIエージェントを本番で使う上での必須設計になる。
そこで必要になるのが、Stable Operation Identity(安定した操作識別子)、Idempotency(冪等性)、Durable State(永続的な状態保持)といった、一見難しい概念だ。しかし実装は思ったほど複雑ではない。各操作に一意のIDを振る、生成結果をファイルに書き出して観測可能にする、AI同士を直接会話させず情報フローを制御する、人間のチェックポイントを最初から組み込む。これだけで、二重実行のリスクは大幅に下がる。中小企業の経営者にとって必要な一言は、「AIエージェントに金銭や在庫に関わる操作を任せるなら、AIの報告だけを信じず、必ず外部世界で確認する仕組みを入れる」ことだ。AIは優秀でも、完璧ではない。だから人間による検証と回復設計が、むしろ最強の組み合わせになる。
※ 上記は配信元記事をもとにAIの鬼編集部が要約・再構成したものです。正確な内容は出典元をご確認ください。
このニュースの全文は、配信元でお読みいただけます。 Zenn AIで元記事を読む →


