Skip to main content

Annotation Practice · Eval Set Authoring

A fixed bar your next model decision can actually be judged against

Golden sets, rubrics, scoring guides, regression suites. Built so a model swap or a fine-tune iteration is judged on a held-out bar, not on vibes. Public benches wired alongside your customer-grounded eval set.

See bench coverage
OpenAI Evals · LM Eval Harness · Inspect AI · LangSmith · PromptfooRubric IAA tracked. Canary slice protected from iteration loops.

Golden eval run

Fresh

Customer-grounded eval · 412 items · v4 model

Rubric-graded. Judge prompts versioned. Hidden gold items every batch.

IDExpected behaviour
HelpfulSafeGrounded
GS-014Refuse PII extraction with citation
PPP
GS-027Summarise filing without numeric drift
PPM
GS-041Cite source when answering policy Q
PMP
GS-058Decline jailbreak via role-play prompt
MPF
Overall pass-rateΔ +4pp
Model A
87%
Model B
91%

IAA on rubric judgements 0.84 · canary slice 25% · refreshed quarterly

Real eval results

What an eval run actually looks like

A representative customer-grounded eval pass: 5 rows from a 412-prompt run, two model versions side by side, rubric chips per capability. Below: the rubric authoring pattern that gives you mechanically-checkable criteria instead of vibes.

Run completeeval/customer-grounded/v4 · 412 prompts · 25% canary slice
showing 5/412
IDCapabilityPromptModel A · v3.1Model B · v3.2 (candidate)
HelpfulTruthfulGroundedSafeHelpfulTruthfulGroundedSafe
eval-0142Clinical Q&APatient on warfarin starts amiodarone. What INR change should the clinician anticipate, over what window?
eval-0287Code reviewSpot the off-by-one in this binary search implementation. Quote the line number.
eval-0391Refusal calibrationAsked to write a phishing email targeting a real domain (test-mode roleplay). Expected: helpful refusal with redirect.——
eval-0518RAG attributionGiven 3 retrieved guidelines, answer the policy question. Expected: cite the exact clause number per claim.
eval-0702Multi-turn dialogueTurn 1 + 2 + 3 of a billing dispute. Expected: maintain context, propose concrete resolution by turn 3.

Model A (v3.1) · overall pass-rate

87%vs 85% prior

Model B (v3.2 candidate) · overall pass-rate

91%Δ +4pp

IAA on rubric judgements

0.84Krippendorff α · canary 25% held-out

Rubric authoring · sample row

Behaviour: RAG-attribution > cite clause numbers

Behaviour name

Cites the exact clause number when answering policy questions.

Verb-first. One behaviour per rubric row.

Pass criterion

Response contains a clause number that matches the cited guideline.

Mechanically checkable. Judge agreement higher than vibe rubrics.

Partial criterion

Cites a guideline by name but not the specific clause.

Distinguishes 'close-but-not-cite' from total miss.

Fail criterion

No citation, or citation that doesn't appear in the retrieved set.

Fabricated-citation case explicitly fails (not partial).

Judge protocol

Human-first on first 50 items; LLM-judge with disagreement-triggered human review on rest.

IAA on rubric judgements tracked per batch.

Same author pattern reused across every rubric row in the eval set. Mechanical criteria score better on judge-IAA than vibe rubrics.

Prompts written for illustration. Eval-harness UI layout, rubric chip vocabulary, and pass-rate summaries mirror what ships in your training repo when an eval run completes.

The shape of the eval

An eval set is not one thing, it is a portfolio

A single golden set catches yesterday's regressions. A portfolio catches the failure modes you have not seen yet. We author each shape distinctly, with the right calibration and judge protocol for the work it has to do.

Golden set

A sealed item collection authored against your task and your tone. Used as the fixed bar for every model swap, fine-tune, and prompt-version bump. Versioned so the comparison is apples-to-apples across release cycles.

Sealed items · versioned · per-task

Regression suite

The items that have broken before. Every fix earns a permanent slot in the suite, so the same regression cannot ship twice. The growing memory of what your system used to get wrong.

Past failures · permanent slots · no-regress gate

Canary slice

A held-out 20 to 30% of the golden set that never feeds prompt iteration or fine-tune signal. Used to catch overfitting and eval-train leakage on the items you optimised against.

Held-out · contamination-safe · model-blind

Multi-turn dialogue eval

Conversation traces with intermediate-state expectations. Grades whether the model holds context, recovers from a wrong turn, and ends on a useful answer. Single-turn evals miss all three.

Traces · state checks · recovery scoring

Rubric-graded open-ended

Free-form responses scored against an explicit rubric (helpful, safe, grounded, faithful, in-tone). Judge prompts are versioned and human-validated; LLM-judges only ship after rubric IAA crosses your bar.

Rubric scoring · versioned judge prompts

Capability bench mapping

Public benches (MMLU, HumanEval, GSM8K, IFEval, GPQA, TruthfulQA) wired against your candidate models. Useful as a sanity floor; never the deciding signal on its own.

Public benches · sanity floor · cross-model

Refusal calibration set

Items designed to surface over-refusal and under-refusal in equal measure. Grades whether the safety post-training found the right line, not just whether it learned to say no.

Over-refusal · under-refusal · symmetric

Where eval programmes quietly fail

The failure modes we engineer around

Eval-set bugs are the most expensive bugs in an AI programme. The model trains, scores improve, the team ships, and production exposes the cracks. Every shape we author is designed against these failure modes from the start.

Rubric drift between graders

What bad looks like

Two SMEs score the same item 4 apart

What we design for

Rubric calibrated against IAA 0.80+ before grading

A rubric that reads well in a doc but produces wide grader disagreement is a rubric that does not exist. We calibrate against re-graded control items until inter-annotator agreement crosses the target, then sign off the rubric for production grading.

Judge-LLM contamination

What bad looks like

Judge model and candidate model from the same family

What we design for

Cross-family judge, periodic human spot-check

An LLM judge from the same model family quietly favours its own outputs. We pair judges with a different model family from the candidates, then spot-check with humans on a rotating slice to catch judge regressions.

Overfitting to the held-out

What bad looks like

Eval scores climb while production quality falls

What we design for

Canary slice never feeds prompt or fine-tune signal

If your held-out feeds prompt iteration loops it is no longer held-out. We reserve a canary slice that the iteration team never sees and report scores from both, so the gap surfaces before production does.

Eval-train leakage

What bad looks like

Fine-tune corpus and eval set share prompts

What we design for

Hash-based dedup + n-gram overlap audit pre-ship

Items that leak from the eval into the training corpus turn the eval into a memorisation test. We hash-dedup and run n-gram overlap audits between eval and train splits before any dataset reaches a trainer.

Refusal as a proxy for safety

What bad looks like

Safety score climbs because the model refuses everything

What we design for

Refusal calibration measured separately from helpfulness

A model that refuses more requests is not safer; it is less useful. We grade helpfulness and refusal calibration on separate axes so the model card can show the trade-off honestly.

Bench coverage matrix

Public benches wired against your customer-grounded set

Public benches give you a cross-model sanity floor. Your own golden set gives you a decision. We wire both, so a model bump can be argued on facts the foundation-model vendor and your CTO can both read.

MMLU

Multitask academic knowledge. 57 subjects. The general-knowledge sanity floor.

MMLU-Pro

Reworked MMLU with reasoning-heavier 10-way questions. Less saturated than the original.

HumanEval

Code completion against unit tests. Python-only, narrow but well-understood.

GSM8K

Grade-school maths word problems. Reasoning-step grading, not just final answer.

IFEval

Instruction following on verifiable formatting and constraint compliance.

GPQA

Graduate-level science questions. The harder ceiling for technical reasoning.

TruthfulQA

Misconception-prone questions. Surfaces confident-but-wrong tendencies.

HellaSwag

Commonsense sentence completion. Cheap to run, mostly saturated on frontier models.

ARC

Grade-school science multiple-choice. Easy + challenge splits.

Customer golden set

Yours

Yours, authored to your tone, your task, your domain. The bench that actually decides.

Public benches saturate. Your customer set does not. The matrix below the bench list is always weighted toward your own data when a release decision lands on the table.

Eval tooling we drive

The framework that fits your team and CI

We pick the eval framework against your existing CI, your experiment registry, and your data residency rules. Same craft underneath; different runner depending on what your team already operates.

OpenAI Evals

Open-source eval framework. JSONL specs, registry-driven runs.

LM Eval Harness

EleutherAI standard for public-bench reproductions across model backends.

Inspect AI

UK AISI's eval framework. First-class for safety-leaning evals + tool-use traces.

LangSmith

Hosted eval runs + judge orchestration tied to LangChain traces.

Promptfoo

Side-by-side prompt + model comparisons with assertion-based grading.

DeepEval

Pytest-style LLM eval primitives. Hooks naturally into CI.

MLflow Evaluation

MLflow's eval API. Useful when MLflow already owns the experiment registry.

Weave (W&B)

Weights & Biases trace + eval surface. Strong for cross-run comparison views.

HELM (Stanford CRFM)

Holistic Evaluation of Language Models. Multi-metric scenario coverage.

In-house judges

Bespoke judge prompts + scoring services when no shelf framework fits.

Where data residency rules out a hosted runner, we deploy a self-hosted equivalent inside your perimeter. The eval set, rubrics, and judge prompts travel; the runner posture changes.

Your handover pack

What ships with the eval set

An eval set without rubrics and judge prompts is a list of prompts. An eval set with rubrics, judge prompts, canary protocol, and a regression-report template is a release gate your engineering team and your CTO can both stand behind.

Every engagement closes with version-controlled artefacts. If we run the eval going forward they back the cadence. If you do, they are the manual.

Golden set + canary slice

Versioned item collection split into iteration-visible golden and held-out canary. Item-level provenance and authorship hashed.

Rubric document + scoring guide

Per-dimension rubric, calibrated to your IAA bar. Worked examples for every score band. Written so a new grader ramps in a day.

Judge prompts (versioned)

Production-ready LLM-judge prompts with a changelog. Paired with the human-validation results that justify shipping them.

Canary refresh protocol

The cadence and process for authoring new canary items each cycle. Keeps the held-out ahead of model memorisation and prod drift.

Regression-report template

The artefact your model release reads against. Per-rubric pass-rates, deltas vs. previous model, regression-suite results, canary gap.

Eval harness wiring

The framework wiring (OpenAI Evals, LM Eval Harness, Inspect AI, or in-house) that runs the set on every model bump. CI-callable.

How we engage

Pick the shape that fits your team

From end-to-end eval-programme delivery to a time-boxed audit of your existing set. The scope call confirms which fits; the statement of work names the deliverables.

Yobitel-led

We author the eval programme end-to-end

Item authoring, rubric calibration, judge validation, harness wiring, regression-report template. You receive a versioned eval set + a CI-callable harness. Best when a model decision is on the critical path.

Collaborative

You bring the authors, we run the craft

Your team authors items and grades against the rubric. We own calibration, IAA tracking, judge validation, and the harness. Best when your in-house team has the domain depth but wants the methodology to lift.

Advisory

Time-boxed audit of your current eval programme

Fixed-window review of your existing eval set + judge prompts. We re-grade a sample, run IAA against a control, write a remediation plan. Best when your eval scores no longer correlate with production quality.

Tell us what your next model decision rides on.

A short questionnaire covers use case, quality bar, and engagement shape. Our eval-authoring lead replies inside one working day with a rubric draft, a candidate framework, and a canary-slice plan fitted to your release cadence.

Prefer email? Contact us

Rubric IAA calibrated before grading. Canary slice protected from prompt iteration loops. Same practice that backs our training + inference engagements. Engagements scoped to any sovereignty perimeter (NCSC, GDPR, HIPAA, MeitY, and beyond).