train an llm judge for your evals
whether prose is good or a ui looks right is a taste call. train a judge on your team’s calls, and it gets cheap enough to run on everything.
some evals have an answer key. the ones closest to product quality usually don’t. is this prose engaging or padded, is this ui clean or sterile, is this reply warm or overfamiliar. reasonable reviewers disagree at the margins, and the margins are where your product lives.
the standard fix is a frontier model with a rubric in the prompt, and it fails in a familiar way: the judge has taste, just not yours. it scores the way an average internet rater would. so you patch the rubric, the judge follows the letter and misses the point, and five patches later you have a prompt nobody trusts, plus a per-eval bill that forces you to sample instead of measuring everything.
prompted judges are also easy to fool
a judge that hands out absolute scores is a target, and models find the exploits fast. we’ve watched emoji sprinkles raise conciseness scores in our retrieval training, and rewrites collapse to six-word sentences to please a prose linter in a weekend project on ai detectors. the defenses that held up were structural, not another rubric patch: judge by comparing responses against each other instead of scoring in isolation, and anchor every ranking to a trusted reference. that’s how we scored elsa’s tutor, with the original human turn hidden among the candidates as the anchor.
train on judgments you already have
the training data exists in your org today: scores your experts have assigned, side-by-side preferences, review threads, the accept and reject history of your current eval setup. pairwise comparisons are especially cheap to collect, because people are much better at picking the better of two than at assigning a calibrated number. even a few hundred careful judgments carry a lot of signal, since the model is learning your scoring function, not language from scratch. and the disagreements between your reviewers are worth keeping too: they teach the judge where the genuine ambiguity lives.
a judge you can hold to a number
a trained judge gets an eval like any other model: agreement with held-out human labels, reported next to the prompted frontier judge it replaces. you switch when it agrees with your experts more often. after that, your eval bar is a versioned artifact instead of a prompt someone tweaks on fridays. it scores monday’s outputs and friday’s outputs the same way, and it’s small enough to run on every pr, every prompt change, and every checkpoint, not a sampled sliver.
how it runs on castform
bring the rubric and the judgments you have, or just your current eval setup and a batch of disagreements you’d like settled. we train the judge, report agreement against held-out labels, and hand you the weights. a judge that matches human taste also has a second job waiting: it’s a reward model, ready to drive reinforcement learning on the same quality it measures.