One board, two representations.
Jev receives the board as text, head and food positions, and an instruction. Echo receives three grids: body, head and food. Both return a preference for each move.
A small model with one job
I trained Echo on Jev’s Snake decisions. On held-out positions, it chooses the same move 93% of the time.
An Echo call took 0.20 ms in my benchmark. Jev was about 800 times slower.
I wanted to see whether using Echo to search ahead would improve its play, even though it had learned to make many of the same mistakes.
7.5 / 7.9Jev / Echo · unseen boards
93%same top move on held-out positions
On your laptopno cloud or per-call charges for inference
Within Jev’s time budget, Echo can look roughly seven or eight moves ahead before choosing.
Same test seeds, same board information, same game rules. These 20 boards were untouched by training or tuning. Evaluation details ↓
The same search would need about 361 Jev calls per move. At the measured latency and call cost, that is an estimated 6.1 hours and $2.76 per game.
A general model can help you build a specialist for a decision you repeat. Here, I spent the saved time on search.
Jev and Echo scored 5 on this one. Echo + search scored 41. See how far you get.
Jev receives the board as text, head and food positions, and an instruction. Echo receives three grids: body, head and food. Both return a preference for each move.
Echo learned Jev’s full move probabilities. Then it played for itself, with Jev labelling the positions it reached. I retrained on those positions twice.
Search simulates every offered move and combines its consequences with Echo’s preferences. Follow one decision to see the values return through the tree.
A recorded position. Advance at your own pace. Open the explanation on its own ↗
The score comparison uses seeds 100–119, untouched by training or tuning. Each game runs until a crash or the configured 2,000-move limit. All players receive the same board information, represented differently for Jev and Echo.
Scores are averages over 20 games. Timing is the median across games of each game's median move time, measured one player at a time on an Apple M4 CPU. Jev includes the API request; Echo and Echo + search run locally. The near-equal 7.5 and 7.9 means do not establish exact equivalence.
Echo matched Jev’s top move 93% of the time in the held-out imitation evaluation. That is a different measurement from game score or overlap between full probability distributions.
It expands every offered move breadth-first and evaluates the living boards at each level in one Echo batch. A leaf is valued by food gained, or −(score + 10) on death. Each move is weighted by Echo’s preference multiplied by exp(child value), then normalized. The weighted mean returns to the parent, and the root chooses the highest-weight move.
Depth adapts to the time budget. Simulated food uses fresh randomness rather than the real game’s future random sequence. The Jev search time and cost figures are estimates for comparable work, not a completed Jev search benchmark.
The repository includes the training scripts, the trained Echo model (87 KB), the held-out results, the evaluation commands and the game. The current implementation uses MLX on an Apple Silicon Mac. Recreating teacher labels requires access to Jev; running the trained Echo model locally does not make cloud calls.
Same board, same rules.
Same board, same rules.