Deterministic checks vs judged qualities — and why good eval suites layer both.
01
01
Understand the problem
gradersevalscode-gradersllm-as-judge
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Layered grading, reported separately
async function grade(c: EvalCase, out: Output) {
const gates = {
schema: Schema.safeParse(out.json).success,
citations: citationsResolve(out.text, c.contextIds),
banned: !BANNED.some((w) => out.text.includes(w)),
latency: out.ms < 3000,
};
if (Object.values(gates).some((v) => !v)) return { gates, judged: null }; // fail fast
const judged = {
faithfulness: await judge.score("faithfulness", c, out), // survivors only
tone: await judge.score("tone", c, out),
};
return { gates, judged };
}05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.