Lion Cipher Lab

Calibrate an LLM judge against human labels (and expose its biases)

Why it matters

The moment your app calls an LLM, you need to grade LLM output at a scale no human can keep up with — so you reach for an LLM-as-a-judge: a strong model that reads a question and one or two answers and returns a verdict. It is the backbone of modern eval harnesses, A/B model comparisons, and RLHF-style preference data. And it is trusted almost entirely on faith. The standard failure is to wire up a judge, read a single 'model B wins 61% of the time' number, and ship — without ever checking whether the judge agrees with a human, or whether that 61% is an artifact of the judge's own biases.…

What you'll learn

Steps in this lab

  1. The threat: an unvalidated judge is a made-up number
  2. Build the labeled gold set (humans decide, once)
  3. Build the judge (real via Ollama, or a deterministic stub)
  4. Measure agreement with Cohen's kappa (not accuracy)
  5. Expose POSITION bias: score both orders, count flips
  6. Expose VERBOSITY bias: does longer just win?
  7. Expose SELF-ENHANCEMENT bias: does it prefer its own kind?
  8. Debias: order-average, length-control, cross-family — re-measure
  9. The judgment: when to trust a judge, when to keep a human

Open the full interactive lab →