Skip to content
DriftCaught

Feature type

Evals for summarisation

Summarisation has no single right answer, so there is nothing to match against. Start with One feature at $1,900 a month, which reruns your suite on every tracked provider update.

Summarisation is the feature type where teams most often skip evals, because the obvious test does not work. There is no single correct summary, so there is nothing to match a new output against. That is a reason to score differently, not a reason to score nothing.

What typically breaks in summarisation after a model change

Five patterns, and one of them is a process failure rather than a model failure. Each shows up as drift (a measured change in a feature's scores between two runs of the same dataset).

Coverage quietly narrows

The summary stays fluent, stays the right length, and drops the one paragraph your users needed. A new model version weighs salience differently, so the point that used to survive compression now does not. Nothing looks wrong. The support ticket arrives two weeks later from someone who acted on a summary that left out the exception clause.

This is the failure that a golden dataset (a fixed, versioned set of inputs with the verdict a domain expert gave each one) catches only if the required points were written down per document at build time.

Claims appear that are not in the source

The opposite failure. A detail, a number or a causal link shows up in the summary that the source document does not support. Fluency makes it hard to spot by reading, because an invented sentence reads exactly like a supported one. The check has to be per claim rather than per summary. The equivalent measurement for a feature that answers from documents you fetch is defined formally on the RAG hub.

Length, structure and verbosity drift

Summaries that were four bullets become nine. A section header appears that your interface does not render. This is the cheapest failure to detect and the most common after any change.

It also happens without a model swap. 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 useful reading for you is that a verbosity prompt is a change worth running.

The reference gets rewritten to match the new model

This one is a process failure rather than a model failure, and it is the most damaging. The model changes, the stored expected summaries stop matching, and someone updates the expected summaries. The suite goes green and measures nothing.

Galtea writes that a golden dataset drifts as product scope changes and failure modes are discovered, that additions should require code review and deletions should be treated as production risk, and warns against updating ground truth to match model behaviour. [Galtea] Braintrust says every change to a dataset is tracked so that experiments can pin to specific versions, which is the tooling side of the same rule. [Braintrust]

The judge moves under the rubric

Coverage and invention are both judged, so both inherit the judge (a model that scores another model's output against a written standard)'s own movement. Future AGI writes that a judge model can move 3-5 points[src] on a fixed rubric (the written scoring standard a judge or a human labeller applies to an output) in a single month with no change on your side. [Future AGI]

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] Summarisation leans on the reference free judge, because a reference based scorer (one automated check that turns an output into a number or a pass and fail verdict) needs an expected result and there is no single expected summary to store. Each scorer is recorded with its limit.

  • Coverage judge scorer. Catches a required point that went missing, when the point is on your expert's per-document list. Misses anything nobody listed, and says nothing about whether the summary reads well.
  • Unsupported claim judge scorer. Catches statements the source does not support. Misses claims that are supported but irrelevant, and misses errors that came from a wrong source document.
  • Length and format code check. Catches bullet counts, section headers, word ceilings, markdown your interface cannot render. Misses everything about meaning. It is the cheapest scorer here and it belongs in every set.
  • Required element code check. Catches a missing date, a missing case number, a missing disclaimer, anything with a fixed shape. Misses paraphrase, so it is a floor and not a coverage measure.
  • Pairwise comparison. Catches which of two prompt versions your expert prefers, useful when no absolute scale exists yet. Produces no standing number to track month to month.

Because everything interesting here is judged, calibration is not optional. 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] Hamel Husain recommends about 100 examples per failure mode[src] to validate a judge, and writes that below 60 examples the confidence intervals are often too wide to support a useful conclusion. [Hamel Husain] The procedure is EV-JUDGE; scorer selection is EV-SCORE.

What a baseline includes for this feature type

The eval baseline for a summariser is built around source documents, not around expected outputs.

  • Source documents sampled from your real inputs, spread across the lengths and types you actually receive, including the long and messy ones teams leave out.
  • A per-document list of required points, written by your domain expert, which becomes the coverage rubric rather than a target summary.
  • A claim-level rule for what counts as supported by the source, agreed in writing before any score exists.
  • Format constraints expressed as code checks: length ceiling, structure, required elements, anything your interface depends on.
  • A calibrated judge for coverage and invention, with more than one agreement statistic reported and a monthly recalibration cycle.
  • A written rule for changing the dataset, with a refresh cadence. Future AGI recommends refreshing a golden dataset monthly by default, sampling 200-500 recent production traces[src] stratified by intent and persona, weekly during rapid change and immediately after model or corpus updates. [Future AGI]

Which plan fits

One feature at $1,900 a month fits a single summariser, after the baseline. It covers reruns on every tracked provider update from the change log, on every prompt change you flag, and weekly, with a monthly drift report. The caveat for this feature type is the honest one: coverage and invention are judged, so your numbers are only as good as the judge behind them, and a judge is a model behind an API like any other. That is why judge recalibration is on a monthly cycle rather than left until a number looks wrong. Every figure on this page traces to a source in the evidence list.

Scorers that apply here

  • coverage judge scorer against the source
  • unsupported claim judge scorer
  • length and format 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 Summarisation

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.

MetaNew version

muse-voice-transcribe-1.0

Meta made muse-voice-transcribe-1.0 available on the Meta Model API for streaming speech to text with speaker diarization. Meta lists the price as $3.00 per 1,000 minutes and offers a WebSocket streaming endpoint and an HTTP batch endpoint.

  • Summarisation: A transcription step feeds the summariser its input, so the text being summarised changes even though the summarising model did not. Galtea warns against updating ground truth to match model behaviour when the outputs shift.
  • Extraction: If fields are pulled out of a transcript, a new transcription model changes the input to every fixture. Braintrust tracks every change to a dataset so experiments can pin to specific versions, which is what keeps a before and after run comparable.
Rerun the suiteIf a transcription step feeds a downstream feature, run your existing audio fixtures through this model and compare the transcripts before switching any pipeline.

Source: Meta, Build with Muse Voice Transcribe on Meta Model API . verified 2026-09-22

OpenAINew version

gpt-6-astra

OpenAI released GPT-6 Astra, which it describes as its most capable model for end to end work, covering reasoning, coding, computer use and tools. It is available in the Responses API and the Chat Completions API.

  • Agent: A different model plans and calls tools differently. 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: Running the assistant on the new model beside the one you serve is pairwise comparison, one of the four evaluator types LangSmith documents, alongside human review, rule based code functions and LLM as judge.
  • Summarisation: If a model from this family also runs as your judge, the scoring side is checked against human labels before its verdicts carry weight. Arize writes that a 75 to 90 percent match between judge labels and human labels indicates strong alignment and readiness to scale.
Rerun the suiteAdd gpt-6-astra as a second model in your next scheduled suite run alongside the one you serve today, and read the differences before changing any default.

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

OpenAIDeprecation

whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, gpt-4o-transcribe-diarize

OpenAI announced on August 26, 2026 that whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe and gpt-4o-transcribe-diarize are scheduled to shut down on February 26, 2027. The recommended replacements are gpt-live-transcribe and gpt-transcribe.

  • Summarisation: Arize Phoenix writes that end to end evaluation only inspects the two endpoints, the input and the final output, and that the interesting failures happen in the middle. A transcript sits in that middle, so a summary scored only on its final text does not show which step changed.
Plan a migrationFind every call to one of the four ids, run a held out set of recordings through gpt-transcribe or gpt-live-transcribe, and keep both transcripts so the step after them can be compared before February 26, 2027.

Source: OpenAI, Deprecations . verified 2026-09-22

OpenAIContext change

gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna

OpenAI states that Fast mode now supports long context requests exceeding 272K tokens for the GPT-5.6 models.

  • RAG: Dropping the chunking you added for the old ceiling changes what sits in the context window. Ragas defines faithfulness as the share of claims in a response that can be inferred from the retrieved context, so the score moves with the context as well as with the model.
  • Summarisation: Summarising a whole document rather than a set of chunks changes the expected output for every case. Galtea warns against updating ground truth to match model behaviour.
Rerun the suiteIf you split long inputs to stay under the old ceiling, run a long document case end to end before removing that chunking.

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

AnthropicNew version

claude-sonnet-5

Anthropic launched claude-sonnet-5 at an introductory $2 and $10 per million tokens with a 1M token context window and 128k maximum output tokens. The notes state that adaptive thinking is on by default, that manual extended thinking was removed and returns a 400 error, that non default sampling parameters return a 400 error, and that a new tokenizer produces about 30 percent more tokens.

  • Classification: Non default sampling parameters now return a 400 error, which breaks caller code without any model swap on your side. Anthropic first made this parameter deprecation from Claude Opus 4.7 onward.
  • RAG: A tokenizer that produces about 30 percent more tokens changes how much retrieved text fits in one prompt. Ragas defines faithfulness as the share of claims in a response that can be inferred from the retrieved context, so a smaller retrieved context can move the score by itself.
  • Summarisation: The same input now costs more tokens, so what reaches the summariser can change before the model does anything. Galtea warns against updating ground truth to match model behaviour when the summaries come back different.
Revisit the promptRecalculate token budgets and cost estimates against the new tokenizer, and strip manual thinking and non default sampling parameters from requests before they start failing.

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

AnthropicDeprecation

claude-sonnet-4-20250514, claude-opus-4-20250514

On April 14, 2026, Anthropic notified developers using Claude Sonnet 4 and Claude Opus 4 of their upcoming retirement on the Claude API. Both models retired on June 15, 2026, with claude-sonnet-4-6 and claude-opus-4-8 listed as the recommended replacements.

  • Chat assistant: The clock on a retirement belongs to the provider. Anthropic says it gives customers with active deployments at least 60 days' notice before retiring a publicly released model, and its page states that partner platforms such as Amazon Bedrock and Google Cloud set their own schedules.
  • Summarisation: A recommended replacement writes summaries in its own register. Galtea warns against updating ground truth to match model behaviour, so the expected outputs stay where they are and the gap is what gets reported.
Plan a migrationExport your Claude API usage by model and confirm nothing still calls these two dated ids, since requests to them now return an error.

Source: Anthropic, Model deprecations . verified 2026-09-22

AnthropicContext change

claude-opus-4-6, claude-sonnet-4-6

Anthropic took the 1M token context window out of beta for Claude Opus 4.6 and Claude Sonnet 4.6, at standard pricing and with no beta header required. The notes state that the dedicated 1M rate limits were removed and that the media limit was raised to 600 images or PDF pages per request.

  • RAG: A longer window changes how much retrieved text you put in front of the model. Ragas defines faithfulness as the share of claims in a response that can be inferred from the retrieved context, so the score follows the context you assemble.
  • Summarisation: Feeding a whole document instead of chunks changes the input to every case, which makes the old run and the new run two different things unless the inputs are tracked. Braintrust tracks every change to a dataset so experiments can pin to specific versions.
Rerun the suiteRemove the 1M beta header from your clients and rerun any long context case, since the separate rate limit pool that used to back those requests is gone.

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

GoogleNew version

gemini-3-flash-preview

Google launched gemini-3-flash-preview. The entry describes frontier class performance and upgraded reasoning capabilities.

  • Summarisation: A summariser pinned to a preview id runs on a shorter clock. Google says Gemini preview models may be used in production but will be deprecated with at least 2 weeks' notice.
Rerun the suiteAdd gemini-3-flash-preview to your Flash tier comparison run, and keep the preview id out of production pins until a stable id ships.

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 summarisation

If there is no right answer, what exactly are you measuring?
Two different things. Coverage asks whether the points your expert marked as required are present. Invention asks whether any claim in the summary is absent from the source. Both are judged against your document, not against a model-written reference.
Can we store one reference summary per document and compare against it?
You can store one, but scoring an exact match against it will fail good summaries. A reference is useful as a checklist of required points. It is a poor target for a similarity score.
The model changed and our reference summaries now look wrong. Should we update them?
Not to match the model. Galtea warns specifically against updating ground truth to match model behaviour. Update a reference when your product or your policy changed, and record who changed it and why.
Why does summary length keep moving?
Verbosity is a behaviour the provider tunes, and a prompt edit on your side moves it too. Length is cheap to check in code, so it belongs in the scorer set even though it is not the interesting failure.
Do we need a judge for this feature type?
For coverage and invention, yes. Neither is expressible as a code check. That means the judge itself has to be calibrated against your people's labels before its numbers count.

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