JevをゼロショットゲームAIとして見る
Jevは、文章を生成する汎用LLMとは異なり、与えられた state に対して Choice / Score / Noul という型付きの判断を返す System One Model である。ゲームAIとして見ると、「ゲームを丸ごと解くモデル」というより、**ゲームエンジンが列挙した行動候補の中から、その局面でそれらしい手を高速に評価するゼロショット方策(policy prior)**として捉えると性質を整理しやすい。
公式ドキュメント自身も、System One Model に向く質問を「必要な文脈を与えられた知識のある人が1秒程度で行う focused judgment」と説明し、長い推論を要する問題は小さな判断へ分解してコードで合成するよう勧めている。Choice は最大255候補を受け取り、全候補への確率分布を返す。
ゲームAIとしての基本形
最も素直なのは次の分業である。
- ゲームエンジンが現在状態を保持する。
- ルールエンジンが合法手だけを列挙する。
- 必要なら駒得、シャンテン数、役、距離、衝突判定など、機械的に計算できる特徴量をコードで追加する。
- Jev が合法手の Choice 確率を返す。
- コードがその分布をそのまま選択、加工、探索順序づけなどに利用する。
- 実行後の状態は再びゲームエンジンが確定する。
この構成なら、生成LLMで起きる「存在しない手を生成する」問題は候補集合によって防げる。ただし、合法であることと良い手であることは別であり、Jevが合法な悪手へ高い確率を付けることは当然あり得る。
「ゼロショット」の意味
ここでいうゼロショットは、「そのゲーム専用に自己対戦学習や教師あり学習を行わず、既存のJevへルール・局面・候補を渡して判断させる」という意味である。公開例では将棋、チェス、五目並べ、麻雀、ポーカー、Doom、MOBA、レースゲーム、スマブラ系、Rubik's Cube、2048などが試されている。
ただし、ゲーム知識を完全にJev内部へ任せた例と、ルールや局所特徴をコード側でかなり前処理した例が混在する。同じ「Jevがゲームをした」でも、強さの意味は大きく違う。
- 将棋実験では合法手と1〜2手先の機械的事実を候補説明へ付与している。
- ポーカー評価ではポットオッズ、SPR、ハンドランク、outsなどをPythonで計算している。
- Rubik's Cubeの公開例では、人間向けの初心者法そのものをコード側へ持たせ、その各段階の選択をJevにさせていると報告されている。
- Doom公式デモは画像ではなく、ゲーム状態をテキスト/構造化データとして渡している。
したがって「Jevがゲームを理解しているか」を評価するには、コード側が既に答えに近い情報を作っていないかを必ず確認する必要がある。
現時点で見えている特徴
公開実験からは、次の仮説がかなり一貫して見える。
得意そうなもの
- 現在局面からの局所的な行動選択
- 「この中ならどれが自然か」という候補順位づけ
- 大量候補の高速な絞り込み
- ルールで合法性を保証した上でのリアルタイム判断
- 学習なしで「それらしい」行動を出し始めること
苦手そうなもの
- 長い読み筋の一貫した展開
- 相手の最善応手を何段も予測すること
- 厳密な算術や役判定を暗黙に行うこと
- 将来EVを積み上げるような多段推論
- 複数エージェントの協調
- クラウド往復遅延が操作周期より大きいゲーム
将棋では相手応手の予測精度が低く、Jev自身に3手先を読ませても安定して強くならなかった。ポーカーでも、手の強さを明示的に与えないと単純な役比較を誤る例があり、GTOのrange戦略より「自分の手が強いなら賭ける」という局所ヒューリスティックへ寄る傾向が観察された。
このため、現時点では Jev を ゼロショットのsolver と呼ぶより、ゼロショットのpolicy prior / heuristic と見る方が実験結果に合う。
関連: Jevの盤面ゲーム実験:将棋・チェス・五目並べ / Jev将棋実験から見る「局所判断」と「読み」の境界 / Jevの不完全情報ゲーム実験:麻雀とポーカー / Jev麻雀実験:牌効率は見えるが押し引きは一貫しない / Jevポーカー実験:GTOとの比較で見える局所直感の限界 / Jevでリアルタイムゲームを操作する時に起きること / ゲームAIでJevの確率をどう使うか / JevをゲームAIで多段利用する設計 / Jevを数独などの制約パズルへ使うなら探索ヒューリスティックとして考える