AI プレイテストノート

AI カードゲーム調整のための自動セルフプレイ

Moonfall はゲーム自身に試合を最後まで行わせ、終わった試合をすべて採点します。分かりにくいカードをプレイヤーが出会う前に見つけるためです。

雲海の上で剣を掲げ、何が通り何が通らないかを見定める翼を持つサモナー。
終わった試合はすべて同じ基準で測られ、それを経てはじめてゲームが変わります。

Moonfall のカードには攻撃力も体力の数値もありません。カードを切る一手がプロンプトであり、AI ゲームマスターがその場で働きを決めます。だからユニットテストでは捕まえられない種類の不具合が生まれます。カードはこう書いてあり、物語はああ示唆し、盤面は別の場所に着地している。この 3 つがもつれ合うのは、試合が最後まで進んだ後です。しかも物語は使い捨てではありません。終わった試合は誰かが共有する漫画ストーリーブックになりうるからです。

ゲーム自身に遊ばせる

自動セルフプレイは、誰も座っていない Moonfall の試合を最後まで走らせます。本物のサーバー上でプレイヤーの席に 2 つのソケットクライアントが入り、シミュレートされたプレイヤーが合法手から選び、ストーリーテラーが実際の対戦とまったく同じように解決します。何もモック化していないので、ここで通って本番で落ちることがありません。

試合は並列に、バッチ単位で走ります。奇妙な試合が 1 つあっても何もわかりませんが、同じ奇妙さが 25 試合中 6 試合で出れば、それは探しに行ける不具合です。

各試合はトレースを残します。初期状態、すべての行動、ストーリーテラーの呼び出し、そこで発行されたパッチ、そして盤面が実際に着地した場所です。それらを見比べることが、「何か変だった」を「7 ターン目のパッチが、物語に出てこないカードを取り除いていた」に変えます。

並列試合が Moonfall サーバーとストーリーテラーを経て、トレース取得、LLM ジャッジ、変更キュー、ガードレール付き適用へ流れる図。
ここには模擬はありません。ハーネスは実際の対戦とまったく同じサーバー経路を通します。

出てきたものを判定する

終わった試合は短いラダーを上ります。まず決定的なチェック。プログラムで片が付くことを議論すべきではないからです。残りは LLM ジャッジが見ます。10 点満点で採点するのではなく二択で答え、その答えの根拠となったターンを引用します。どちらも LLM 評価採点の前に推論を置くことについて公開された知見に沿ったやり方です。

いちばん大事なのは、普段は感覚に任される側です。本当に驚かされた瞬間があったか、恐れを文章が獲得したのか宣言しただけなのか、解決がカードの名前の約束を尊重していたか。繰り返された所見は小さな提案になり、限定された変更がガードレールの下で自動的に適用され、監視と任意の介入のために監査証跡が残ります。

Moonfall の判定ラダーを示す表。各段で何が走り、どの問いに答え、判定がどんな形をとるかを並べています。
まず決定的なチェック。証明できる違反が、それに反論しうるモデルに届くことはありません。

10 バッチが示したもの

10 回の Moonfall セルフプレイバッチにおける推定ストーリーテラー精度、意外性のある瞬間、自然に生まれた感情の折れ線グラフ。
意外性の線は駆け上がり、以前のランで既に高くなった精度の線は緩やかに伸びます。

各点は 25 試合の 1 バッチです。採点対象は最後まで完了した試合だけです。

物語ははるかに意外性を増しました。最初のバッチでは、ジャッジが本当に驚かされた公平な瞬間を見つけたのは 44% の試合でしたが、最後の 2 バッチでは 95%、そして 100% でした。精度の伸びは今では緩やかです。以前のランで既に大きく改善されていたため、10 バッチを通して 92.6% から 97.1% の間を保ちました。

注意点が 2 つ。ここでの精度は推定値です。登録された正しさの不具合に一度も結び付けられなかったストーリーテラー呼び出しの割合で、個々の試合を裁くというよりバッチ間の比較に向いています。そして 10 バッチはパイロットです。数百試合であって、数十万試合ではありません。

AI のデッキ同士がゲーム内で戦う日は来るのか

このハーネスはすでに一種のオートバトラーです。AI が操るデッキが互いに圧力をかけ、ストーリーテラーがその結果を語ります。その何らかの形が Moonfall の中にあっても面白いかもしれません。毎ターンをクリックするのではなく、人はカードとデッキ選びに意識を向ける形です。これは機能の予告ではなく、この仕事がテストの枠を超えて面白い理由のひとつにすぎません。

今のところ、やっていることはもっと狭いものです。Moonfall はあなたを驚かせるためにあり、ループが存在するのは、その驚きが試合から生まれ、言葉足らずのカードから生まれないようにするためです。