AIの試験を作ったら、「失敗を記録する仕組み」の方が先に失敗した

AI活用

※この記事は、2026年10月にAIを使った試験の準備を検証した時の記録です。問題は人工的な応答を使ったテストで見つかりました。実際のAIサービスや本番環境で同じ障害が起きた、という話ではありません。

最近、AIに任せる作業が、どこまで期待どおりに動くかを確かめる仕組みを作っています。

試験をするなら、うまくいった結果だけでなく、途中で何かがおかしくなった場合も記録に残したい。

何が起きたのか。

どこまで進んでいたのか。

その結果は、成功として数えてよいのか。

後から振り返るためには、そういう情報も必要です。

ところが、別のAIに試験の仕組みを確認してもらったところ、ちょっと間抜けだけど大事な問題が見つかりました。

想定外の応答が来た時、失敗を記録しようとする処理自体も失敗してしまったのです。

試験の途中でおかしな応答が来たら、どうするか

今回作っていたのは、AIに複数の条件で回答を作らせ、その結果を後から比べるための試験です。

全部が予定どおりに進めば、結果が残ります。でも、AIからの応答が途中で途切れたり、想定していた形と違ったりする可能性もあります。

そんな時に、何事もなかったように成功へ混ぜるわけにはいきません。必要なら処理を止めて、途中までの状態と、何が起きたかを記録したい。

少なくとも、仕組みを作る時には、そういうつもりで考えていました。

ところが、別のAIによる確認では、異常を記録する時に、その異常な値をうまく保存できない場合があると分かりました。

失敗したことを残すはずが、その保存処理まで失敗してしまう。つまり、試験する側の仕組みにも穴があったわけです。

記録は「実行中」。でも、実際には先へ進んでいた

人工的に作った応答を使ったテストでは、処理が止まった後も、保存済みの記録は途中の「実行中」のまま残りました。

その記録は、ちょうど試験用の呼び出しを行う前に保存されていたものです。でも、テストでは呼び出しはすでに一度行われていました。

つまり、残っている記録だけを見ると、実際に呼び出しが行われたのか、その後に何が起きたのかを確定できない状態です。

この時、間違った回答が成功として集計されたわけではありません。問題は、失敗したことと、その時の状況を最後まで保存できなかったことでした。

「実行中」と出ていたら、まだ動いていると思うかもしれません。逆に、呼び出し前の記録しかないから、何も実行されていないと考えてしまうかもしれない。

でも今回のテストでは、どちらも記録だけから決めることはできませんでした。

AIに試験を任せていて、後から結果だけを見るつもりだったら、ここで普通に迷うと思います。

「止まる」と「止まったことが分かる」は別だった

以前、AIエージェントに長時間作業を任せるなら、完了条件だけでなく、待っている間に何をしないかも決めたい、という話を書きました。

今回も、異常が起きた時に処理を止める、という考え方自体はありました。

ただ、それだけでは足りなかった。

処理が止まっても、最後の状態を保存できなければ、後から見た人には事情が伝わりません。

「もう一度やっていいのか」

「すでに一度呼び出しているのか」

「どこまでの結果を信用してよいのか」

ここが分からないまま再開すれば、同じ処理を重ねたり、不完全な結果を完成した結果だと思ったりする可能性があります。

だから、止める仕組みと同じくらい、止まった後に何が分かる状態を残すかも大事なんだと思いました。

修正した後も、別のケースで同じ問題が出た

最初に見つかった保存失敗については、作成担当のAIが修正し、確認担当のAIが再びテストしました。

ところが、別の人工応答を使った確認では、また記録を保存できないケースが見つかりました。

最初に対処した値とは違い、今度は文字の扱いに関係するものでした。見た目には「保存できそう」と確認したつもりでも、実際の保存方法では失敗してしまったのです。

その後、こちらも修正し、確認担当が人工データで再検証しています。記録上は、対象のケースでエラーや未完了の状態を残し、成功として数えずに止まることを確認しています。

一つ直したから終わり、ではなかったのが印象的でした。

最初の確認だけなら「異常時も記録できます」で済ませていたかもしれません。でも、別の条件を試してみると、その確認自体に抜けがあった。

作った側と別のAIに見てもらったことが、少なくとも今回の問題を見つけるきっかけになりました。

失敗の記録は「エラーが出た」だけでは足りない

今回の経験から、AIに試験や自動作業を任せる時は、成功したか失敗したかだけでなく、もう少し分けて見たいと思うようになりました。

  • どの作業まで進んでいたのか。
  • 何を実行したか確認できるのか。
  • 成功、失敗、未完了のどれとして扱うのか。
  • 記録できた部分と、分からない部分はどこか。
  • 自動で続けてよいのか、人が確認してから再開するのか。

例えば、記録が途中で止まっている場合、「何もしていない」と決めるのではなく、「そこから先は不明」と残す方が安全なこともあります。

特に、外部への送信やお金のかかる処理が含まれるなら、実行されたか分からないまま同じ操作を繰り返すのは避けたい。

もちろん、何を自動で再開してよいかは作業によって違います。今回の人工テストで、すべての作業の再開方法まで決まったわけではありません。

試験する仕組みも、試験が必要だった

自分は、AIの答えが合っているか、仕事を最後まで進められたか、という部分にはどうしても目が向きます。

でも、その結果を確認するための仕組みが、失敗を残せなければどうなるのか。

今回の確認では、まさにそこが抜けていました。

しかも、最初の修正後に別の問題も見つかった。失敗時の記録は用意したから大丈夫、とは簡単に言えません。

今回確認できたのは、人工的に作った応答に対する限定的なテストまでです。実際のAIサービスや本番環境で、どんな異常にも対応できると分かったわけではありません。

それでも、AIが失敗するかどうかだけでなく、失敗した時に人間が後から状況を判断できるかも見ておきたい、という発見はありました。

AIに任せる時間が長くなるほど、最後に「失敗しました」と一言あるだけでは困ることも増えそうです。

何が起きたか、何が分かっていて、何がまだ分からないか。

試験する仕組みを作る時は、その部分も一緒に試していきたいと思います。

関連記事

コメント

タイトルとURLをコピーしました