Can Jev pass
AI 101?
We put a modern decision model through seven classic artificial-intelligence problems: reflexes, decision support, uncertainty, planning, a game you can play against it, and heuristic search.
- codeWorld logicrules, physics, win and loss
- codeStructured statewhat the agent can know
- modelJev decisionone of the legal actions
- codeActionvalidated, then applied
- codeNew world stateand around again
Ordinary code generates the legal moves, applies them and decides who won. Jev is only asked to choose an option or to judge a state.
The syllabus
A progression through kinds of intelligence- 01Vacuum WorldReflex AgentImmediate reflexesvs · Two if-statements→
- 02Restaurant WaitDecision SupportContext-sensitive decisionsvs · AIMA's hand-drawn decision tree→
- 03Wumpus WorldDecision Under UncertaintyUncertaintyvs · Probabilistic inference + rules→
- 04Missionaries & CannibalsSearch & PlanningPlanningvs · Breadth-first search→
- 05Tic-Tac-ToeAdversarial SearchOpponentsvs · Minimax (perfect play)→
- 068-PuzzleHeuristic SearchJudging distancevs · A* with Manhattan distance→
- 07Part-of-Speech TaggingClassificationMany labels, real textvs · Most-frequent tag and an HMM tagger (Viterbi)→
What we found
from the benchmark run of 19 September 2026 · jev-1.13.0 · full benchmark →Each problem is labelled by how it relates to what TypeSafe says Jev is for. “In scope” tests the fast, code-framed judgments it is built for; “partly in scope” problems include conditions TypeSafe itself says suit reasoning models better, and failures there confirm its guidance rather than contradict it.
Behaves like a sensible reflex agent: cleans dirt and waits when both rooms are clean. It sees both rooms while the textbook rule sees one, and a three-line rule with the same view behaves the same way.
88% clean with 3.7 moves, vs 87% and 15.7 moves for the rule (mean of 10 seeded runs).
Luna, reasoning off · 88% clean, 9.1 moves
Weighs many soft signals into one probability you can probe: single-change tests show what moves each call. It leans slightly towards leaving compared with the 1995 tree.
Agrees with the AIMA tree on 30 of 40 random scenarios (3 of 5 presets); waits in 22 vs the tree's 24. Neither is ground truth.
Luna, reasoning off · agrees with the tree on 31 of 40 random scenarios
Code computes the exact risks; Jev picks the move. It dies more often than the hand-written agent: comparing numeric risks is a documented weak spot, and routine moves are often near coin-flips. The hand-written agent also plans across the whole known map; Jev sees its neighbours.
Escaped with gold in 23 of 50 worlds vs 29 for the hand-written agent; 10 deaths vs 3. Mean score 245.5 vs 512.1.
Luna, reasoning off · gold in 16 of 50 worlds, 1 deaths
With the current state alone it locks into a two-state loop. With a record of visited states it solves the puzzle. With lookahead features it is optimal, but so is a no-model rule given the same features, so at that level the features do the planning.
State only 0/10 · + memory 10/10 · + lookahead 10/10 optimal. Random mover with memory: 98% solved, 33% optimal.
Luna, reasoning off · state only: solved 0/10; with memory 10/10
With the board alone it beats a random player 12 times in 20 but also loses 5, and a perfect opponent beats it. One-move tactics from code make it mostly draw; with the perfect-play result per square it never blunders.
vs perfect play · board only: 4 draws, 16 losses in 20 · + tactics: 14 draws, 6 losses in 20 · oracle: 20 draws, 0 losses in 20.
Luna, reasoning off · board only vs perfect play: 7 of 20 not lost
Two designs. Counting (A* with Jev's distance estimates) is a documented weakness; ranking boards with search in code is TypeSafe's recommended pattern. Jev's rankings carry real information (far above a ranker with none) but neither design beat the one-line Manhattan heuristic.
A*, depth 16: 408 nodes with Jev + features vs 226 with Manhattan; 19% of estimates too high. Ranking with search in code: solved 16/30 vs 29/30 for the Manhattan ranker (a perfect ranker 30, a ranker with no information 1).
Luna, reasoning off · ranking with search in code: solved 12 of 30
Its headline use case: many narrow judgments, each a choice among 49 labels, checked against human annotation. With no training on the corpus it matches an HMM trained on it.
92.9% on 2,593 words vs 92.3% for an HMM tagger and 88.4% for most-frequent-tag (Jev − HMM -0.7 to +1.9 points, 95%).
How do we construct intelligent behaviour from rules, trees, search and inference?
What if deciding itself is a model primitive?
These exhibits show where that idea works, and where classical algorithms remain the better tool.