evalshift
blog

Notes on shipping model changes

Field notes on migrating LLM models safely: golden suites, paired evaluation, regression gates in CI, and when to trust an LLM judge.

prompts
Prompt edits deserve the same gate as a model swap

A prompt edit changes behavior the way a model swap does. Where the prompt text lives decides whether CI diffs it or passes on silence.

Aug 13, 20266 min read
statistics
How many eval cases do you need?

Suite size is the wrong question: n is counted per prompt, evaluator and slice. What the analysis drops, and how many pairs a verdict needs.

Aug 12, 20267 min read
agents
Evaluating agent tool calls: what text evals can't see

Agent behavior drifts in the trace, not the prose. The four tool-call evaluators, the modes worth changing, and the expectations not worth pinning.

Aug 11, 20268 min read
suites
Build a golden eval suite from production traffic

Record real agent runs with the capture SDK, promote them into a golden JSONL suite, and understand every capture the pipeline drops on purpose.

Aug 7, 20268 min read
migration
How to test an LLM model migration before you ship it

A repeatable method for proving a model swap is safe: freeze a golden suite, run both models paired, and read the diff before your users do.

Jul 31, 20267 min read
ci
LLM regression testing in CI: gate pull requests on eval diffs

Wire a golden suite into GitHub Actions so every pull request gets a paired eval run, a base-branch diff, and a check that fails on real regressions.

Jul 24, 20266 min read
evaluators
When to trust an LLM judge

LLM judges are useful and easy to fool. Where pairwise judging holds up, where it breaks, and how to stop a judge from silently deciding your migration.

Jul 17, 20266 min read