この記事は、AIエージェントの運用に関する事故録シリーズの1本である。自社が運用する、探索型ゲームを遊ぶAIキャラクターの運用記録から、一晩のうちに発生した4つの異なる停止が、実は同じ構造上の欠陥に由来していたことを検証する。
この記事で分かること
- 4つの停止に共通していた1つの構造
- その構造をどう見つけたか
- 再発を防ぐための一般原則
この記事で分からないこと(正直に書く)
- 同じ構造が、この記事で扱った4件以外にどれだけ潜んでいるか
何をした/何が起きた
一晩のうちに4件の停止を修正した。個別に見ると発生場所も症状もまったく異なるが、比較すると原因はすべて同じ形をしていた。制御のために立てた目印(フラグ)に解除条件がなく、効果が無くても積み上がり続けるという構造である(出所: 自社の運用記録、確認日2026-09-06)。
1件目は、他の処理に一時的に譲る仕組みだった。譲った状態を解除する条件が「進捗を示す値が完全に変化しない」場合に限られていたため、わずかに動きながらも実質的に進んでいない状態では解除条件に一度も届かず、計画を持たない側だけが動き続ける結果になった。
2件目は、行き詰まったときにだけ現れる補助的な判断層の扱いだった。「一番多く入力した側を優先度から外す」という規則があったが、通常時の処理は常時入力を行うため、この規則のもとでは補助層が混ざる場面で常に通常処理側が優先され続けた。
3件目は、否定的な学習の蓄積である。ある1つの通行不可の記録が15,066回に達しており、上限がなく、読み込み時の掃除にも引っかからないため、一時的な理由で記録された内容が恒久的な壁として固定されていた(出所: 自社の運用記録、確認日2026-09-06)。
4件目は、経路計算の「全部か無か」という設計だった。目的地の区画に入るための経路が1本欠けているだけで、区画を考慮した経路計算全体が機能しなくなり、区画をまたいで歩けない境界で永久に往復する結果になった。
なぜ気づけなかったか
4つの停止は発生した場所も現象もまったく異なっていたため、最初は独立した4つの不具合として個別に対処していた。実際に比較して初めて、いずれも効果のない制御が解除されないまま積み上がるという同じ構造であることが分かった。個別の症状に気を取られると、症状の裏にある共通の設計上の欠陥までは辿り着けない。
どう直したか
譲る仕組みは、既に譲った状態にもかかわらず停止が続く場合は追加で譲らせず、複数回繰り返しても改善しなければ優先度の判断そのものを一時的に取り下げる方式に改めた。補助的な判断層が混ざる場面では、入力回数によらず補助層側を優先度から外す規則に変更した。否定的な学習には上限を設け、進捗がない場合はその区画の記録を半分に減らす方式にした。経路計算は、目的地から遡って区画をまたいで計算できる範囲までを計画とし、残りは到達後の探索に委ねる方式に変更した。
再発防止の具体的な手順
- 制御のための目印(フラグ・優先度判断など)は「立てたか」ではなく「実際に効いたか」で評価し、効いていないなら同じ制御を積み増さない
- 否定的な学習には上限と減衰を持たせ、無条件に増やし続けない
- 経路や計画が全体として成立しない場合でも、部分的に成立する範囲までは計画に含め、残りを実行時の探索に委ねる
- 個別の停止を直したら、他の停止と発生の形を比較し、共通する構造がないかを確認する
- 学習・カウンタの値が明らかに想定を超えて大きい場合は、それ自体を設計上の欠陥の兆候として扱う
一時的な理由による学習が通り道を塞いだ別の事故(通れなかった学習が通り道を消していく記事)と同じ運用記録からは、探索が長時間動けなかった事例(探索型ゲームでAIエージェントが動けなくなった記事)も見つかっている。批評だけでは判断の誤りを防げないという点は、判断批評がすべて失敗した記事とも通じる。
自社が運用するAIエージェントの障害対応・設計レビューについて相談したい場合は、お問い合わせから編集部まで連絡してほしい。
よくある質問
Q1. 4つの停止に共通していた原因は何か
制御のために立てた目印(フラグ)に解除条件がなく、効果がなくても積み上がり続ける構造だった点が共通していた。
Q2. なぜ最初は別々の不具合だと思っていたのか
発生した場所も症状もまったく異なっていたため。実際に4件を比較して初めて、共通する構造が見えた。
Q3. 否定的な学習の蓄積はどの程度だったのか
ある1つの通行不可の記録が15,066回に達しており、上限がなく読み込み時の掃除にも引っかからないため、恒久的な壁として固定されていた。
Q4. 経路計算の「全部か無か」の問題はどう直したのか
目的地から遡って区画をまたいで計算できる範囲までを計画とし、計算できない残りの部分は到達後の探索に委ねる方式に変更した。