Skip to content

Mcts Agent

Python agent that runs Discriminative MCTS with Jev judging and Gemini 3.8 Flash proposing. Choice supplies action priors and branching width, Score evaluates states on a 1-10 rubric, and Noul checks execution and ends the loop at 0.85 confidence, with a local web UI for following runs.

Stars
7
Language
Python
License
MIT
Published by
Community
Author
lhemerly
Last verified
Oct 2026

lhemerly/mcts-agent

User repository on GitHub

View on GitHub

Discriminative Monte Carlo Tree Search using System One and Harnesses

Forks
0
Last pushed
Updated Sep 2026

Repo stats from the GitHub API, cached Oct 2026.

About this project

An autonomous reasoning and execution agent powered by Discriminative Monte Carlo Tree Search (MCTS). The system couples TypeSafe Jev System One Primitives (Noul, Choice, Score) for lightning-fast, structured discriminative evaluations with Gemini 3.8 Flash for action generation in a closed-loop execution environment. Includes a local MCTS Agent Web UI for prompting the agent, following its output and image artifacts live, and loading saved run logs.

Quoted from the project's README. Read the full README.

Highlights

  • Score evaluates states on a continuous 1-10 rubric, replacing costly random Monte Carlo rollouts with a discriminative value estimate.
  • Choice supplies the policy priors and samples expansion widths from 2, 3, 5, 7, 11 and 13 based on uncertainty and goal complexity.
  • Traversal uses PUCT with first-play urgency, so unvisited children inherit the parent's value instead of starving at zero.
  • Noul gates execution checks and early stopping, and the loop finishes when the goal-complete confidence reaches 0.85.

Watch out

The README digest available for this review is truncated partway through the usage section, so research mode and anything after the CLI examples were not checked; some badges in the README also point at a different GitHub org than this repository. The System One judgments are explicitly heuristic by the project's own statement, and a Jev confidence reading above 0.85 is what ends the loop, which is a threshold on a heuristic judge. Low early scores deliberately do not prune proposed paths, so trees can stay wide, and mock mode is on by default, which means a first run can look successful with no provider key at all. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

24GitHub stars
Unofficial laptop study of parallel constrained decoding: prefill once, share the KV cache across fields, and decide all schema fields in one batched forward pass without writing JSON.
Jev Practices & Patterns#community#jevbest#catalog-import
22GitHub stars
Offline evaluator that checks whether classifier confidences match reality and converts mistake costs into a deployable threshold, emitting an HTML report plus machine-readable threshold files.
Jev Practices & Patterns#community#jevbest#catalog-import
16GitHub stars
Vendor-neutral harness that tests whether Jev reranking improves a small RAG stack, using frozen hybrid BM25 plus BGE-M3 candidates and isolating retrieval, rerank, and generation stages.
Jev Practices & Patterns#community#jevbest#catalog-import
37GitHub stars
Minimal Python recipe that turns any causal LLM into a Jev-style classifier by prefilling choice_index and constraining sampling to legal indexes in one forward pass.
Jev Practices & Patterns#community#jevbest#catalog-import
39GitHub stars
Open replica of the typed decision API on openly available base models, answering choice, score, and true-probability questions in one forward pass with no decoding.
Jev Practices & Patterns#community#jevbest#catalog-import
34GitHub stars
Curated catalog of community Jev applications grouped by use, where each case explains the mechanism and states what the public evidence does and does not prove.
Jev Practices & Patterns#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

Most Jev accuracy problems are state problems. What belongs in a state, what is a pre-made judgment to leave out, and why naming the slice you ask about matters more than the wording.
Jev Practices & Patterns#state#design#primitives
Read article
A Noul returns one number and no separate confidence. How to read the value, pin its boundary with criteria, split compound questions, and set a per-action threshold that matches the cost of being wrong.
Jev Practices & Patterns#noul#primitives#confidence
Read article
A Score is a weighted position, not a ruler. Why the number can land between levels, why levels are judged separately, and how to combine several atomic scores in code instead of one crowded rubric.
Jev Practices & Patterns#score#primitives#scoring
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai