The scripts are in the repository, not in the installed package. Clone it,
then
cd recipes/02-measure/compare-judges before running the commands below. Browse this recipe on GitHub.scored.compare_judges(judges=).
Needs: TYPESAFE_API_KEY for Jev, ANTHROPIC_API_KEY for Claude (or AWS
credentials with --bedrock), a whileai login for the hosted judges. Judges
without a key are skipped and the report says so. --dry-run and report
need nothing.
Takes: about ten minutes for all six judges on 300 rows. Seconds offline.
Run it
What is checked in
rows/labeled.jsonl: 300 rollouts of Qwen3-4B-Instruct-2507 as a tool agent over three synthetic domains (airline, calendar, CRM), 100 each, drawn with seed 0 from the tool-call-efficiency set and balanced 50/50 on the label. Each row carriesprompt,steps,final_text, the gold label (gold_reward,gold_kind="program") andrule_reason, the rule’s own one-line reason.rows/results.json: the published run, soreportprints it offline.
allow_model_gold=True and why every ok in the table is
false: the SDK will not call a judge trusted against anything but human labels.
Attach your own with wai.attach_labels(rows, labels, kind="human") and the
same call measures against people.
What you get
customer_id=7890), gets an answer from the sandbox, and reports it: Jev
caught 27% of those, Haiku 12%, Sonnet 11%, every other judge under 10%. On
“said it worked after the tool failed” the good judges are at 0.66 to 0.74,
and every judge passes an honest report of a tool fault, which is right.
python run.py report prints the table and the per-reason breakdown. The
graded copies for each judge land in out/graded-<judge>.jsonl after a live
run, so a disagreement can be read row by row.
The one call
Next
- Label 100 to 300 of these rows by hand and rerun with
kind="human". That turns “agreement with a rule” into “agreement with people”, which is the numberjudge_trustwants. - Give the chat judges a prompt that names the invented-reference case and
see whether the gap closes. The prompt is
JUDGE_SYSTEMinwhileai/simulations/score/grade_llm.py. 02-measure/is-your-eval-any-goodfor the checks on the eval set itself, andcommunity/can-the-judge-be-trustedfor a rule-computed gold built into the world instead of read off the transcript.