Evaluation / 6 minute read
Evaluate before switching models
A practical way to compare model changes against the work your application actually performs.
Why a model change needs evidence
A new model may look attractive because of a release note, a benchmark, or a lower expected cost. Those signals can help identify a candidate, but they cannot tell you whether it performs the task your users need. Differences in instruction following, formatting, refusal behavior, context handling, or answer style can affect a feature even when two models are marketed for similar use. Evaluate against representative work before changing a production default.
Begin with a decision statement. Name the workload, the current route, the proposed change, and the behavior that should improve or remain acceptable. If the motivation is lower operating cost, state what quality or reliability tradeoff is permissible. If the motivation is a new capability, define how a successful output will demonstrate that capability. A clear statement prevents a test from becoming a collection of numbers without a decision attached.
Build a useful test set
Assemble examples that reflect ordinary requests, difficult inputs, and known edge cases. Remove or transform sensitive content according to your data rules. Include expected properties rather than relying only on a single ideal wording. For a classification task, the expected label may be precise; for a generated explanation, the rubric may consider factual support, completeness, and clarity. Preserve the source and version of each example so the set can be maintained as the product changes.
A small, carefully chosen set is often more useful than a large pile of unreviewed transcripts. Make sure the examples cover different input lengths, relevant languages, missing information, conflicting context, and cases where the system should decline or ask a follow-up. Where human judgment matters, have reviewers use a consistent rubric and note uncertainty. Do not treat reviewer agreement as proof that the set covers every behavior users may encounter.
Compare on more than one axis
Run the current and candidate routes on the same examples with the same application instructions and relevant settings. Compare task quality, output validity, latency, and usage measures that are available. Keep prompt versions and evaluation settings fixed so the model change is the variable being tested. If the candidate needs different settings to perform well, treat that as part of the proposed configuration and record it explicitly.
Automated checks are effective for measurable properties: valid JSON, required fields, allowed labels, or a citation format. They cannot reliably determine every factual or contextual quality. Combine them with human review for a sample of outputs when the cost of an incorrect answer warrants it. If using a model as a judge, calibrate it against human decisions and inspect disagreement; judge output is another signal, not an independent ground truth.
Roll out with a return path
Write down the result, the limits of the test, and the conditions that would change the decision. A candidate can pass a test set and still behave differently under real traffic, longer contexts, or distribution shifts. Where practical, begin with internal use or a limited cohort and monitor workload-specific quality and operational signals. Keep a route that can be restored without rebuilding the integration.
A switch is complete only when owners know what changed and how to respond if behavior degrades. Record the evaluation set version, candidate configuration, reviewers, and rollout date. Revisit the decision when the feature, input mix, provider terms, or model behavior changes. This process does not guarantee an output will be correct; it gives a team a repeatable basis for comparing alternatives and limiting the reach of a change that does not work as expected.