В репозитории движка (~/Repositories/dicechess-engine-scala, сейчас на свежем main со всеми раннерами) есть четыре консольных сценария. Все запускаются через sbt "rootJVM/runMain ...".

Встроенный бот против встроенного

cd ~/Repositories/dicechess-engine-scala
sbt 'rootJVM/runMain dicechess.engine.bench.BotMatchRunner aggressive 100'

Первый аргумент — baseline, второй — партий на цвет (×2 итого). Без второго опонента baseline играет против всех ботов сразу. Доступные id: randomcheckmate-awaregreedygreedy-v2aggressivemonte-carlo.

Модель (1-ply) против встроенного

sbt 'rootJVM/runMain dicechess.engine.bench.OnnxArenaRunner \  ~/Repositories/dicechess-ev/models/baseline_nodice.onnx aggressive 200'

Аргументы: <путь-к-модели> [opponentId] [партий-на-цвет]. Это тот прогон, что дал 41.5%.

Модель (2-ply expectimax) против встроенного — наш новый бот

sbt 'rootJVM/runMain dicechess.engine.bench.OnnxExpectimaxArenaRunner \  ~/Repositories/dicechess-ev/models/baseline_nodice.onnx aggressive 200 8'

Аргументы: <путь-к-модели> [opponentId] [партий-на-цвет] [candidateLimit]. Это прогон, давший 55.5% (гейт взят). candidateLimit (по умолчанию 8) — сколько своих ходов разворачивать вглубь.

С шахматными часами

sbt 'rootJVM/runMain dicechess.engine.bench.TimedArenaRunner monte-carlo aggressive 20 1+0,3+2,10+10'

Аргументы: <botId> <baselineId> [партий-на-цвет] [контроли минуты+инкремент]. Печатает win-rate, flag-rate и распределение задержек. Учтите: принимает только id из реестра ботов (модельный expectimax туда не заведён — для него используйте OnnxExpectimaxArenaRunner).

Общее: путь к модели — оригинал в dicechess-ev/models/baseline_nodice.onnx или копия в dicechess-house-bots/models/oracle-1.onnx (один файл). Сид фиксирован (42) — прогоны воспроизводимы. Таблица в конце печатается с перспективы опонента относительно baseline (в ONNX-раннерах baseline = встроенный бот, поэтому строка — это статистика модели).

Хотите — запущу любой из них прямо сейчас (скажите противника и число партий).

Что до пайплайна oracle-2: движок прибран, эпик #186 закрыт (2-ply, гейт 55.5%). На очереди — релиз движка с OnnxExpectimaxSearch, чтобы house|oracle-2 мог его подхватить, и BOT_OPEN_SEEKS=1 для oracle-1. Продолжать по этой цепочке?