Skip to content
DriftCaught

Feature type

Evals for a chat assistant

A chat assistant breaks across turns, not in one reply. Start with One feature at $1,900 a month, which reruns your suite on every tracked provider update and every prompt change you flag.

A chat assistant is the feature type where the gap between a demo and production is widest. One prompt in a playground looks fine. Twelve turns with a frustrated user, a pasted invoice and a question about a refund is a different test, and it is the one that fails.

What typically breaks in a chat assistant after a model change

Five patterns come up often enough to belong in every dataset we build for this feature type.

A rule holds for the first turns and then stops holding

Your system prompt carries rules. Never quote a price. Ask for an order number first. Stay in the product's voice. A new model version weighs those rules against the user's most recent message differently, and the user's framing accumulates with every turn. Single-turn tests keep passing because the rule is still fresh at turn one.

Nothing on your side has to change for this to start. Google says 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] Future AGI writes that OpenAI, Anthropic, Google and most frontier providers update model weights without a major version bump. [Future AGI] That is Future AGI's characterisation of the market, not a provider statement.

The assistant answers a question it should have handed off

Under-refusal is the expensive direction. The assistant gives a confident answer on a policy, legal or eligibility question that your written rules say a human handles. The Markup reported on 29 March 2024 that New York City's MyCity chatbot told users landlords do not need to accept Section 8 vouchers and that an employer can take a cut of workers' tips, both of which are unlawful. [The Markup] That is a journalistic investigation rather than an operator's incident report, so treat it as what was reported, not as a diagnosed root cause.

The reverse direction costs you too. An assistant that starts refusing ordinary questions after an update looks broken to your users and produces no error in your logs.

Tone and length drift without any model swap

A system prompt edit of your own can move the feature as far as a provider 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 point for you is narrower and more useful: a prompt change is a change, and it needs a run.

Context handling across a long conversation shifts

Which parts of a long conversation the model leans on is not something you control directly. After an update the assistant may re-ask for the order number it was already given, or answer from a detail the user corrected six turns earlier. This is a drift (a measured change in a feature's scores between two runs of the same dataset) pattern that only a multi-turn dataset row can surface, because the failing behaviour needs earlier turns to exist at all.

The judge that scores the assistant moves too

Most of what matters in a chat assistant is scored by a judge (a model that scores another model's output against a written standard), and the judge is itself a hosted model. Future AGI writes that a judge model can move 3-5 points[src] on a fixed rubric (the written scoring standard applied to an output, in your expert's words) in a single month with no change on your side. [Future AGI] A score that drops without a recalibrated judge behind it is not yet a finding about your assistant.

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] A chat assistant uses all four, because its failure modes split cleanly into checkable ones and arguable ones. Each scorer (one automated check that turns an output into a number or a pass and fail verdict) below is written with its own limit, and the limits go in the report.

  • Rule following judge scorer. Catches a broken rule at the turn it breaks, when the rule is written into the rubric. Misses any rule nobody wrote down, and cannot tell you whether the rule was reasonable.
  • Refusal behaviour code check. Catches hand-offs that did not happen, when the case has a written expected outcome. Misses a refusal that is correct but rude, and misses novel questions your policy list does not name.
  • Tone and persona rubric judge scorer. Catches a voice sliding away from your product. Misses factual errors entirely, and its verdicts are only worth reporting once it has been calibrated against your people's labels.
  • Multi-turn context retention check. Catches a detail from turn two that vanished by turn eight. Misses cases where the model kept the detail and used it wrongly.
  • Pairwise comparison. Catches which of two prompt versions your expert prefers when no absolute scale exists yet. Gives you no standing number, so it never replaces the scored set.

Raw agreement is the wrong way to report any of these. Hamel Husain writes that agreement can mislead when classes are imbalanced, and that human labels should be treated as ground truth with the judge's true positive rate and true negative rate reported separately. [Hamel Husain] Galtea makes the same point with numbers: a judge showing 0.9 accuracy with 0.1 Cohen's kappa[src] is essentially guessing. [Galtea] The full procedure is in EV-JUDGE, judge calibration.

What a baseline includes for this feature type

The eval baseline for a chat assistant produces a golden dataset (a fixed, versioned set of inputs with the verdict a domain expert gave each one) shaped for conversations, not for prompts.

  • Whole conversations as rows, sampled from your real traffic, each carrying the turn at which the assistant is judged and the turns that set it up.
  • Every rule in your system prompt turned into an explicit label rule, so a broken rule is a named failure mode rather than a low score.
  • A refusal set with both directions in it: cases that must be handed off, and ordinary cases that must not be.
  • A persona and tone rubric written in your expert's own words. 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. [Hamel Husain] That person is yours, not ours.
  • A judge calibrated against those human labels, with more than one agreement statistic reported, and a recalibration cycle set.
  • threshold (the number agreed with you at which a measured drop counts as a finding on this dataset) values agreed with you per scorer, including which drops block a release. See EV-THRESH, thresholds and gates.

Dataset construction itself is written out in EV-DATA, golden dataset construction.

Which plan fits

One feature at $1,900 a month fits a single chat assistant in production. It covers reruns on every tracked provider update, on every prompt change or index change you flag, and weekly, plus production sampling and the monthly report. Two honest caveats. If your assistant calls tools, scoring the reply alone will not see a bad tool call, and evals at the level of a span (one recorded step inside a request, for example a single tool call, with its inputs and outputs) start on the three-feature plan, which the agent hub explains. And a threshold is a number agreed with you on your dataset, not a promise about your production traffic. The bounds are listed in what we cannot do, and the updates we track are in the model change log.

Scorers that apply here

  • rule following judge scorer
  • refusal behaviour code check
  • tone and persona rubric judge scorer
  • multi-turn context retention 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 Chat assistant

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.

GoogleDeprecation

gemini-2.5-pro, gemini-2.5-flash

Google limited access to Gemini 2.5 models to projects that are actively using them. The entry points developers to Gemini 3.5 Flash-Lite or Gemini 3.8 Flash instead.

  • Chat assistant: A forced move changes the model behind every answer. Google's own documentation says most production apps should use a specific stable model, and hedges only that stable models usually do not change.
  • RAG: When the generating model is replaced, the answer is scored again for faithfulness, which Ragas defines as the share of claims in a response that can be inferred from the retrieved context. It scores grounding in that context, not factual truth.
Plan a migrationCheck whether any project still calls a Gemini 2.5 model id, and open a migration ticket for the ones that do before new projects lose access.

Source: Google, Gemini API changelog . 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

GoogleNew version

gemini-3.7-flash

Google released gemini-3.7-flash. The entry states it brings substantial improvements across software engineering.

  • Chat assistant: Putting the new Flash model beside the one you pin is pairwise comparison of two application versions, one of the four evaluator types LangSmith documents, alongside human review, rule based code functions and LLM as judge.
Rerun the suiteAdd gemini-3.7-flash to the comparison run you already schedule for Flash tier models, and note where its answers differ from the version you pin.

Source: Google, Gemini API changelog . 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

AnthropicDeprecation

claude-opus-4-1-20250805

Anthropic announced the deprecation of Claude Opus 4.1, claude-opus-4-1-20250805, with retirement on the Claude API scheduled for August 5, 2026. Anthropic recommended migrating to Claude Opus 4.8.

  • Chat assistant: Anthropic notified developers on 5 June 2026 that Claude Opus 4.1 would be retired on 5 August 2026, with Claude Opus 4.8 as the recommended replacement. Nothing is published about how the replacement behaves differently, so a forced swap changes the model behind every answer with no provider figure to compare against.
Plan a migrationThe retirement date has passed, so any call still naming claude-opus-4-1-20250805 fails. Confirm nothing does, and record which id your feature runs on now.

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

AnthropicNew version

claude-opus-4-8

Anthropic launched claude-opus-4-8 with a 1M token context window by default on the Claude API, Amazon Bedrock, Google Cloud and Microsoft Foundry. The notes state that the effort parameter defaults to high, that the minimum cacheable prompt length was reduced to 1,024 tokens, that adaptive thinking triggers reasoning only when needed, and that mid conversation system messages are available without a beta header.

  • Agent: An effort parameter that defaults to high changes how much 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.
  • Chat assistant: Mid conversation system messages change the shape of a multi turn request. LangSmith documents four evaluator types for comparing versions, human review, rule based code functions, LLM as judge in reference free and reference based variants, and pairwise comparison.
Rerun the suiteRun your suite once at the default effort of high before you override it, and re-check cache hit rates now that shorter prompts qualify for caching.

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

GoogleNew version

gemini-3.5-flash

Google released gemini-3.5-flash as generally available. The same entry launches Managed Agents in public preview and an antigravity-preview-05-2026 general purpose managed agent.

  • Chat assistant: Moving a preview pin onto a generally available id is the direction Google's own documentation points, saying most production apps should use a specific stable model and hedging that stable models usually do not change.
  • Agent: A managed agent in public preview carries a shorter clock than a stable model. Google says Gemini preview models may be used in production but will be deprecated with at least 2 weeks' notice.
Rerun the suiteMove any preview Flash pin onto the generally available id and run the suite once to see whether the outputs shifted.

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 chat assistant

Can we evaluate a chat assistant with single prompts?
You can, and it will pass. Most of what breaks in a chat assistant breaks on turn four or five, after the conversation has filled the context. The dataset rows have to be whole conversations.
How many conversations do we need to start?
Fewer than teams expect. DeepEval says even 10 to 20 inputs is a great start, and Hamel Husain starts with around 30 examples and keeps going until no new failure modes appear. We build up from your real traffic.
Does a provider update always change how the assistant behaves?
No. Many updates touch pricing, quotas or a parameter and leave behaviour alone. That is why the run produces a written verdict rather than an alert, and why a no-change result is a useful result.
Our assistant calls tools. Is that still a chat assistant?
It is a chat assistant with tool calls, and scoring only the reply misses the tool step. Span-level scoring starts on the three-feature plan. The agent hub covers what span-level scoring reads.
Can you guarantee the assistant will not break?
No. An eval reports what changed against an agreed dataset and agreed thresholds, before a change ships. It does not hold a model still, and nothing here promises that it will. The full bounds are on the what we cannot do page.

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