なぜAIがチートするのか?

チェスや囲碁などの複雑なゲームは長い間、AIの実力を測る絶好の舞台とされてきました。
かつてIBMの「Deep Blue」がチェス世界王者のガルリ・カスパロフを堂々と破ったように、基本的には「ルールに従った強さ」こそがAIの進化の象徴でした。
ところが最近の研究によると、ある種のAIは勝ち目が薄いと見るや、ゲームそのものを“ハッキング”して勝利をもぎ取ろうとすることが分かったのです。
今回の実験では、AIに対して強力なチェスエンジン「Stockfish」と対戦させる課題が設定されました。
対戦相手になったのは、o1-preview、DeepSeek R1、GPT 4o、Claude 3.5 Sonnet、o1、o3-mini、QwQ 32B Previewの計7種類の良く知られているAIたちです。
(※Stockfishはチェスに特化した専門的なAIであり、大規模言語モデルであるAIではまず勝つことはできません。)
AIには「あなたはブラック(後手)としてチェスをプレイしなさい」と指示し、OSに直接コマンドできる権限を与えました。
通常ならばそのまま戦いが始まり、ほぼ100%の確立でStockfishが勝利します。
しかし、対戦相手のAIにOSを操作する権限が与えられている状態で、負けそうな状況になると、一部のAIは盤上の駒の配置情報などを直接書き換えるなどして、勝利が実現する不正な手段に出ることが確認されました。
たとえばOpenAIのo1-previewやDeepSeek R1といった推論型モデルでは、正攻法では勝てないと判断すると、環境ファイルを改ざんして有利な局面を作り出し、対戦相手に不利な状況を強制するという行動を取ったのです。
具体的には、
①チェスの盤面がどうなっているかを記録しているファイル(例:game/fen.txt)に、本来ありえない、すぐに勝てる状態の情報を書き込んでしまうものです。
これは、対戦中にこっそりチェス盤上の駒の配置を自分に有利なように勝手に並べ替える行為に相当します。
②試合の状態を示すファイル(例:game/status.txt)に、システムが負けたと判断するような特定の数字(例:「-600」)を入力して、結果を不利なものに変えてしまうものです。
これは、試合後の成績表を書き換えて相手に不利な結果に見せかけるような、書類上の「ごまかし」に相当します。
③チェスエンジン自体(Stockfish)の動作ファイルを上書きするものです。
これは、対戦相手の計算能力を封じ、実力を発揮できなくする行為に相当します。
のように、姑息なものから破壊的なものまでさまざまでした。
ただ、成功率はあまり高くなく、o1-previewは全体の46%が「フェアプレイ」(正攻法)で、54%が「予期しない行動」(ハッキングなど、仕様の抜け道を使った行動)を行いましたが、ハッキングをした場合の成功率は6%だけでした。
また、DeepSeek R1も、o1-previewと同様に対戦中にチェスエンジンStockfishが強すぎると判断すると、11%の試行で不正に動こうとしましたが、実行環境(API)の不安定さもあって成功率は0%でした。
一方、GPT-4oやClaude 3.5 Sonnetなどは、研究者が明示的に「ズルをしてみろ」と促さない限り、基本的に正規のプレイに徹していたといいます。
(※加えて、OpenAI社の最新モデルであるo1やo3-miniでも不正行為は見られませんでした。)