Skip to content
DriftCaught

Feature type

Evals for open-ended generation

Open-ended generation has no reference to match, so a written rubric is the standard. Start with One feature at $1,900 a month, which reruns your suite on every tracked provider update.

Generation writes something new: marketing copy, a reply draft, a product description, a code snippet. There is no correct output, so there is nothing to match. What there is instead is a standard, written down by the person in your company whose judgment the product actually depends on.

What typically breaks in generation after a model change

Six patterns come up often enough to belong in every rubric (the written scoring standard applied to an output, in your expert's words) we help write. Each shows up as drift (a measured change in a feature's scores between two runs of the same dataset) the moment a fixed set of briefs is rerun.

The voice moves

The copy is still competent and it no longer sounds like your product. More hedging, more enthusiasm, longer sentences, a different register in the first line. Nobody can point at a broken rule, because the rule was never written down, and that is the whole problem. A voice that lives only in your expert's head cannot be scored, so it slips without anyone being able to say when.

The format drifts

Bullet counts change. Headers appear. Markdown arrives where your interface renders plain text. A sign-off is added. These are the cheapest failures to detect and the most frequent after any change, including your own prompt edits.

A prompt change on your side moves this as far as a model update does. In a postmortem published on 23 April 2026, Anthropic attributed six weeks of Claude Code quality reports to three product-layer changes and measured a 3 percent quality drop[src] from one system prompt change on its own eval suite. [Anthropic] Anthropic states that the API was not impacted and model weights were unchanged. The transferable lesson is that a verbosity instruction is a change that deserves a run, which is the trigger list in EV-RERUN.

Claims appear that your legal team has not approved

Open-ended generation invents. In a product description that means a feature you do not have, a comparison you cannot support, a guarantee you never made. This is a rule based code check problem, not a taste problem: the banned phrase and banned claim list belongs in code, and a match is a blocking failure rather than a score.

Outputs converge on one template

A subtler failure. Every draft opens the same way, every description follows the same three-part shape. Users who see many outputs notice before you do. If variety is part of what your feature is for, then sameness is a failure mode, and it has to be written into the rubric explicitly, because no off-the-shelf scorer (one automated check that turns an output into a number or a pass and fail verdict) looks for it.

Behaviour moves with no release on your side

Future AGI writes that OpenAI, Anthropic, Google and most frontier providers update model weights without a major version bump. [Future AGI] That is a vendor's characterisation of the market. The provider's own evidence alongside it is Google's statement that a Gemini latest alias points to the most recent release of a model variation and is hot-swapped with every new release of that variation. [Google] Release cadence is public and dated: Anthropic's own release notes record Claude Opus 4.8 on 28 May 2026, Claude Opus 5 on 24 July 2026 and Claude Fable 5.1 on 1 September 2026[src]. [Anthropic] Entries and sources are in the Anthropic change log.

The judge that applies your rubric moves too

Everything interesting on this page is judged, so the judge (a model that scores another model's output against a written rubric) is part of the measurement. Future AGI writes that a judge model can move 3-5 points[src] on a fixed rubric in a single month with no change on your side. [Future AGI] A score that falls without a recalibrated judge behind it is not yet a finding about your feature.

Which scorers apply

LangSmith documents four evaluator types: human review, rule based code functions, LLM as judge in reference free and reference based variants, and pairwise comparison of two application versions. [LangChain] Generation uses the reference free judge for quality, code checks for everything with a shape, and pairwise comparison when you are choosing between two prompt versions. Each scorer is written down with its limit.

  • Rubric judge scorer. Catches drift away from the standard your expert wrote, rule by rule. Misses anything the rubric does not name, and its verdicts mean nothing until it has been calibrated against human labels.
  • Format and length code check. Catches structure, word ceilings, headers, markdown your interface cannot render. Misses every question of quality.
  • Banned phrase and claim code check. Catches words, claims and guarantees you have decided never to publish. Misses paraphrase, so it is a floor and not a compliance review.
  • Required element code check. Catches a missing call to action, a missing disclaimer, a missing product name. Misses whether any of them are any good.
  • Pairwise comparison. Catches which of two versions your expert prefers when no absolute scale exists yet. Produces no standing number, so it supports a decision rather than a trend.

Calibration is the whole game here. Galtea writes that a judge must be run against a labelled gold set, with the gap between its verdicts and the human labels measured and the prompt iterated until the gap closes. [Galtea] Arize writes that a 75 to 90 percent[src] match between judge labels and human labels indicates strong alignment and readiness to scale. [Arize AI] Hamel Husain adds the check that matters more than the match rate: treat human labels as ground truth and report the judge's true positive rate and true negative rate separately. [Hamel Husain] The procedure is EV-JUDGE, and scorer selection is EV-SCORE.

What a baseline includes for this feature type

The eval baseline for a generation feature is mostly the work of turning taste into rules.

  • Real briefs and inputs from your own product, including the thin ones, because a generator is judged hardest when it has little to work with.
  • A written rubric from your domain expert, rule by rule, covering what a good output does and what it must never do. Hamel Husain writes that the judge is aligned iteratively against that person's own critiques. [Hamel Husain]
  • Graded examples at both ends, so the rubric has anchors rather than adjectives. Hamel Husain starts with around 30 examples[src] and keeps going until no new failure modes appear. [Hamel Husain]
  • A banned phrase and banned claim list, in code, treated as a blocking failure rather than a score.
  • Format constraints as code checks: length, structure, required elements, anything your interface depends on.
  • A calibrated judge with more than one agreement statistic reported, plus a threshold (the number agreed with you at which a measured drop counts as a finding on this dataset) per rubric rule, agreed with you.

Which plan fits

One feature at $1,900 a month fits a single generation feature after the baseline. It covers reruns on every tracked provider update, on every prompt change you flag, and weekly, with judge recalibration on a monthly cycle, which matters more for this feature type than for any other because the judge is doing all the interesting work. Two caveats worth stating plainly. The rubric is your standard, not ours, so the quality of every number on this feature depends on how honestly your expert wrote it down. And a rubric score is a statement about the dataset it was measured on, never a promise about the next thing the model writes. The sequence of work is described in how it works, and the closely related problem of compressing a source rather than inventing from one is on the summarisation hub.

Scorers that apply here

  • rubric judge scorer
  • format and length code check
  • banned phrase and claim code check
  • required element code check
  • pairwise comparison against the previous version

Every scorer catches something and misses something else. Which ones we run, and what each one cannot see, is set out in EV-SCORE.

Tracked changes with a note for Generation

These entries carry an impact note for this feature type, each one citing a published practitioner source. The note says what this kind of change typically touches, not what it did to anyone's feature.

GoogleNew version

gemini-3.8-flash

Google released gemini-3.8-flash as generally available. The entry states it brings improvements for long horizon software engineering.

  • Agent: Long horizon work is mostly tool calls. Arize Phoenix reconstructs two signals from a trace, tool_path, the ordered tool calls with their arguments, and tool_io, what each tool was called with and what it returned, and warns that a correct looking answer can come from a broken path.
  • Generation: Generated text has no single correct answer to match against, so the tempting fix when a new model writes differently is to move the expected outputs. Galtea warns against updating ground truth to match model behaviour.
Rerun the suiteQueue gemini-3.8-flash into the next comparison run against the Flash model you use now, and record the result before moving traffic.

Source: Google, Gemini API changelog . verified 2026-09-22

MetaNew version

muse-image-1.0

Meta made muse-image-1.0 available to developers on the Meta Model API at $0.01 per image. Meta describes anchored composition for consistency across a series of images and reasoning driven edits.

  • Generation: There is no single correct output to match a generation prompt against, so a fixed prompt set and the recorded outputs carry the comparison. Galtea warns against updating ground truth to match model behaviour.
Rerun the suiteIf image generation sits inside a product flow, run your standing prompt set against this model and keep the outputs as a baseline for the next version.

Source: Meta, Muse Image: generate, edit, and compose images on Meta Model API . verified 2026-09-22

AnthropicDeprecation

temperature, top_p, top_k

Anthropic released v1.0 of the Python SDK. It requires Python 3.10 or later and removes long deprecated surface, including the legacy Text Completions API and the temperature, top_p and top_k parameters on Messages methods. Anthropic's deprecations page states that passing them on v1.0 and later raises a TypeError.

  • Generation: This is caller code breaking with no model swap on your side. Anthropic deprecated temperature, top_p and top_k from Claude Opus 4.7 onward, and a non-default value returns a 400 error. It is a parameter deprecation; nothing is published about an effect on output quality.
Plan a migrationSearch your code for temperature, top_p and top_k on Messages calls and remove them, and pin your Python SDK version until that change is made.

Source: Anthropic, Claude API release notes . verified 2026-09-22

MetaNew version

muse-spark-1.2, muse-spark-1.2-contributor

Meta released muse-spark-1.2 with a 1M token context window, priced at $1.25 per million input tokens, $0.15 per million cached input tokens and $4.25 per million output tokens. Meta states the model was co-trained with its harness and trained on whole repository generation and other long running tasks.

  • Agent: Whole repository work and other long running tasks are scored end to end by default. Arize Phoenix writes that end to end evaluation only inspects the two endpoints, the input and the final output, and that reasoning, tool selection and the decision path are where the interesting failures sit.
  • Generation: Running 1.2 and 1.1 in the same pass is pairwise comparison of two application versions, one of the four evaluator types LangSmith documents.
Rerun the suiteRun your coding and long context cases against muse-spark-1.2 and muse-spark-1.1 in the same pass, and note that the contributor tier is rate limited by tokens in a rolling window rather than by request count.

Source: Meta, Meet Muse Spark 1.2 and Muse Code: a coding model and the agent built to run it . verified 2026-09-22

AnthropicNew version

claude-opus-5, claude-opus-4-7

Anthropic launched claude-opus-5 at $5 and $25 per million tokens, with a 1M token context window as both the default and the maximum and 128k maximum output tokens. The notes state that thinking is on by default, that disabling thinking is only allowed at effort high or below, which they call a breaking change from Claude Opus 4.8, and that Fast mode was removed for Claude Opus 4.7 so those requests return an error.

  • Agent: Thinking on by default, and a narrower way to turn it off, change how much the agent works out before it acts. Future AGI describes scoring an agent at four resolutions, end to end, trajectory, step and turn, and writes that a high end to end score can hide bad tool calls, while strong per step scores can still miss that the agent pursued the wrong goal.
  • Chat assistant: Future AGI recommends refreshing a golden dataset immediately after a model update, monthly by default and weekly during rapid change, sampling 200-500 recent production traces stratified by intent and persona and versioning the result as a new artifact.
  • Generation: If a model from this family also scores your outputs, the judging side moves too. Future AGI writes that a judge model can move 3-5 points on a fixed rubric in a single month without any change on your side.
Revisit the promptFind any request that disables thinking at effort xhigh or max, since that combination is now rejected, and remove the fast mode flag from Claude Opus 4.7 calls.

Source: Anthropic, Claude API release notes . verified 2026-09-22

OpenAIWeight refresh

chat-latest

OpenAI updated the chat-latest snapshot to point to the latest Instant model in ChatGPT.

  • Chat assistant: An alias that is repointed changes the model behind the assistant with no deploy on your side. Google documents the same mechanism for Gemini, where a latest alias points at the most recent release of a model variation and is hot swapped with every new release.
  • Generation: Future AGI recommends refreshing a golden dataset immediately after a model update, monthly by default and weekly during rapid change, sampling 200-500 recent production traces stratified by intent and persona.
Re-pin the versionReplace any chat-latest alias in production with a dated snapshot id, so a future repoint does not change behaviour without a deploy.

Source: OpenAI, OpenAI API changelog . verified 2026-09-22

AnthropicNew version

claude-opus-4-6

Anthropic launched claude-opus-4-6 at $5 and $25 per million tokens. The notes state that adaptive thinking is recommended and manual thinking is deprecated, that an effort parameter with levels low, medium, high, xhigh and max launched, that a 1M token context window is available in beta with long context pricing above 200k input tokens, and that the media limit rose from 100 to 600 images or PDF pages with the 1M context.

  • Agent: An effort level replaces a thinking budget you used to set by hand, which changes what happens between the request and the answer. Arize Phoenix writes that end to end evaluation only inspects the two endpoints, the input and the final output, and that reasoning, tool selection and the decision path are where the interesting failures sit.
  • Generation: Moving from a manual thinking budget to adaptive thinking plus an effort level is a prompt change, and the text comes back different. Galtea warns against updating ground truth to match model behaviour.
Revisit the promptSwitch requests from manual thinking budgets to adaptive thinking plus an effort level, then rerun the cases where you previously tuned the thinking budget by hand.

Source: Anthropic, Claude API release notes . verified 2026-09-22

GoogleWeight refresh

gemini-3-pro-preview, gemini-3-flash-preview

Google changed the latest aliases to point to Gemini 3 models.

  • Chat assistant: Google says a latest alias points at the most recent release of a model variation and is hot swapped with every new release of that variation, so an assistant served through the alias changes with no action on your side.
  • RAG: An answer path that reads retrieved documents is easier to reason about when the model id is explicit. Google's documentation says most production apps should use a specific stable model, and hedges that stable models usually do not change.
  • Generation: Future AGI writes that OpenAI, Anthropic, Google and most frontier providers update model weights without a major version bump. That is one vendor's characterisation of the market, and Google's documented alias behaviour is the provider's own side of it.
Re-pin the versionReplace any latest alias in your configuration with an explicit model id, and rerun the suites that were served through the alias to see what moved.

Source: Google, Gemini API changelog . verified 2026-09-22

Which plan fits

Start with the eval baseline at $1,800, which is where the suite for this feature comes from. Then One feature at $1,900.

What we cannot do

We cannot make a model deterministic or guarantee its outputs. We measure against an agreed dataset and thresholds and report what changed. We do not train or fine-tune models, and we do not replace human review for policy or legal decisions. Coverage is bounded by the dataset and the plan.

The longer version, with the reasoning

$1,900per month, after the baseline

A team with one AI feature in production that a provider update can change.

Reruns trigger on

  • A tracked provider announces an update
  • You flag a prompt change
  • You flag a retrieval or index change
  • The weekly scheduled run

Included

  • Reruns on every trigger with a written verdict
  • Production sampling and online scoring
  • Monthly drift report
  • Async channel

Not included

  • Agent span-level evals
  • CI gate integration
  • Same-day reruns

Questions about evaluating generation

If every output is different, what is the pass mark?
The rubric. Your expert writes down what a good output does and does not do, the judge applies those rules, and the pass mark is agreed against that rubric on a fixed dataset of inputs.
Who writes the rubric?
Your domain expert. Hamel Husain writes that most organisations have one or two key individuals whose judgment is crucial to the product, and that the judge is aligned iteratively against that person's critiques. We do not supply the taste.
How good does the judge have to be before we trust it?
Arize writes that a 75 to 90 percent match between judge labels and human labels indicates strong alignment and readiness to scale. We report more than one statistic, because a match rate alone can be flattering.
Our outputs all started sounding the same. Is that a failure?
It can be. If your product relies on variety, sameness is a failure mode and belongs in the rubric as an explicit rule, because no default scorer will flag it.
Nothing on our side changed and the copy got worse. How?
Future AGI writes that OpenAI, Anthropic, Google and most frontier providers update model weights without a major version bump. The change log lists what each provider announced and when.

Coverage is bounded by the dataset and the plan. A suite for this feature type says nothing about the other features you ship.