014つの軸
出力が客観的に検証可能なコードである領域でモデルを測ります(文章ではなく)。ゲーム制作とモンスター対戦は遊べるHTML5キャンバスアプリ、イラストはSVGを手書き、コーディング・推論は伏せた課題に解答します。
02ルーブリックと配点
各軸にはバージョン管理された固定の機械的ティアがあります(例: battle/v1 = 読込10・起動10・JS仕様20・描画15・技発動25・双方行動10・決着10)。各行の内訳でどのティアを通過したか分かり、ホバーのtitleに生のキーが入っています。
03不正対策: 放置 vs 操作
放置で勝てるゲームは素朴な採点を欺けます。そこで各ゲームを2回プレイ —— 放置(入力なし)と操作(汎用ボット)。スキル点はボットが放置を上回ることが条件で、ゲームは敗北可能でなければなりません。固まる/自動勝利のビルドはこれらのティアで落ちます。
04型厳格な契約
ゲームは固定のwindow.__game APIを公開します。採点側は型を厳格に検査 —— typeof score === 'number' であって関数ではない —— ので、関数を返すgetterでライブ値を偽装できません。ボットはこの契約経由でのみ操作します。
05K回サンプリングと分散
ゲームの乱数で単発プレイはぶれるため、各成果物を複数回採点し、中央値とσ(試行間のばらつき)を報告します。σが大きいほど品質が不安定で、各行に表示されます。
06オフライン隔離
信頼できないモデルのコードはネットワークを切ったヘッドレスChromiumで実行 —— 外部通信も持ち出しもできません。公開サイトでもゲームは厳格なdefault-src 'none'サンドボックスに埋め込まれます。
07来歴のティア
フロンティア · 有料 = 従量制クラウドAPI、バージョン固定(最も厳密)。ローカル · 無料 = 24GBのApple機で動かすオープンモデル。Web · 手動 = チャットUIからの貼付: 単一・信頼ベースのサンプルで、厳密性が低いため明確に区別表示します。
08具体例
Claude Opus 4.8 の game/v2、3試行で {75, 100, 100} → 中央値 100、σ 11.79。qwen2.5-coder:14b の battle/v1 は契約は有効だが技が発動せずHPも変化せず → 55: 見た目は正しいが機能しない対戦をルーブリックが検出しました。