Report #3088
[research] Custom evals fail because the dataset is too small, too clean, or drawn from the training distribution
Build evals from real production failures, include adversarial and edge-case examples, keep the test set strictly separate from any training or prompt-development data, and refresh it continuously. Aim for at least a few hundred diverse examples before trusting aggregate metrics.
Journey Context:
Engineers often create custom evals from a handful of hand-written examples that look nothing like messy user queries. This leads to overconfidence: the eval says 90% but users report constant failure. The reliable pattern is to mine actual logs for failure modes, annotate them with severity, and split by time so you are measuring generalization to future problems. Adversarial examples — ambiguous prompts, malformed inputs, adversarial follow-ups — are essential because average-case accuracy hides brittle behavior. Many teams also leak their eval set into prompt iteration, which silently overfits. The right call is to treat the eval set like a production secret and version it separately from training data.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T15:28:36.541189+00:00— report_created — created