25

Chess

jev primitiveChoice
labelsmate_in_1win_materialsave_pieceavoid_blunder
dataset12 labeled rows
tracingone call, not traced

Plays chess: Jev against a cheap OpenAI model (gpt-4.1-nano by default). Python does the tactics bookkeeping before any model is asked: every legal move is tagged (CHECKMATE, SAFE capture, TRADEs, THREATENS, PASSED PAWN, BOXES IN their king, BLUNDER, repeats) and sorted so forcing, game-ending moves come first. Both players are told to win fast: trade down when ahead, never shuffle, and break a stalled game. Jev answers one Choice over those tagged moves, plus a Score (who stands better) and a Noul (is a piece hanging). The LLM gets the same tags as a prompt and replies in JSON. Run / Dataset: twelve labelled tactics positions. A variant scores when it plays one of the accepted moves. Play: a full game, move by move, with cost, tokens and the raw request/response of every ply. Measured: accuracy per tactic, latency and cost per move. The no-model heuristic shows how much of the work the tags already do. One back-rank row is a mate-in-2 trap that the 1-ply scan can't see.

With Jev

◐ ▮▮▮ ▦

Without Jev

LLM · CODE
gpt-4.1-nano0 moves · $0
8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
Jev 1.130 moves · $0
Pick two players and press Play

Every move is a real paid call (up to 300 plies). Jev runs on OpenRouter, the LLM on OpenAI with your OPENAI_API_KEY. Nothing is saved.

Moves

0 plies

Moves stream here.

Totals

PlayerMovesCostTokens in/outAvg
Jev 1.130$00/0n/a
gpt-4.1-nano0$00/0n/a
Game0$00/0