Skip to lesson

NVIDIANVIDIA-Certified Professional: Agentic AI2026-108.3 Continuously benchmark deployed agents against prior versions.

Separate release effects from production drift

Completed by the knowledge check

Learning objective

Compare versions online with A/B tests and detect drift.

Core idea

An online version comparison asks whether a candidate changes outcomes under production conditions. Drift monitoring asks whether the conditions or behavior of a deployed system change over time. A candidate can outperform a baseline while both become unacceptable because the workload or a shared dependency changes.

Use concurrent A/B cohorts to estimate the release effect, then compare each cohort with its own history and absolute service requirements. Google SRE’s canarying guidance explains why before/after comparisons make attribution difficult and why shared dependencies can degrade both groups together. NIST AI RMF MEASURE 2.4 makes monitoring production behavior a continuing responsibility.

See 8.3.1 for the maintained offline benchmark. Passing that benchmark earns consideration for live exposure; online results answer questions about real traffic, contention, and user outcomes that a fixed dataset may miss.

How it works

Define the experiment before allocating traffic

Write an experiment record containing the baseline and candidate artifact identifiers, eligible population, assignment unit, allocation, primary outcome, safety limits, planned duration, and decision owner. Specify the minimum useful improvement and analysis plan before observing results; otherwise repeated inspection encourages promotion on a temporary favorable fluctuation.

Use the session-stable cohort routing from 4.2.3 to keep each conversation in one arm. For experiment analysis, cross-arm conversation state creates contamination: a response in B can change a later request served by A, as Google SRE describes.

Check allocation and task mix before interpreting the outcome difference. If eligibility or routing sends difficult requests disproportionately to B, the versions are not receiving the comparison population you intended. A weighted routing percentage describes exposure; it does not by itself establish that the groups are comparable.

Use NeMo Agent Toolkit’s general.telemetry.tracing exporters to collect per-request execution traces, then join their trace IDs to the experiment record. Keep assignment, served artifact, task outcome, and observation time in that record, using fields such as experiment_id, assigned_arm, served_revision, and outcome_status. Record fallbacks under the assigned cohort as well as the version that actually answered. Otherwise failures that escape to the baseline can disappear from the candidate’s reported results.

Measure outcomes and constrain exposure

Choose an outcome close to the business task, such as a validated completed requisition rather than a nonempty response. Define the denominator to include eligible failed requests. Track task success alongside end-to-end latency, errors, and resource or monetary cost. For delayed user reactions, POST /feedback accepts observability_trace_id and reaction_type when using the Weave FastAPI plugin worker; see 3.3.1 for feedback capture. Store the trace ID with assigned_arm and served_revision so that a late reaction joins the original assignment. For reactions and other delayed task outcomes, wait for the specified observation window rather than comparing incomplete outcomes with mature ones.

A fallback and a late reaction both join the experiment record under the original assignment.

A fallback and a late reaction both join the experiment record under the original assignmentStarts at session-stable cohort routing, which keeps each conversation with the candidate or the baseline and records the assigned cohort. A candidate failure can escape to the baseline, which is recorded as the version that actually answered. Per-request execution traces and a late reaction join through the trace ID, so the assignment, the fallback, the traces and the reaction all meet in the same experiment record.failures that escapeassigned cohortversion that actually answeredtrace IDstrace IDSession-stablecohort routingCandidateBaselinePer-requestexecution tracesLate reactionExperiment record

Use the staged canary and operational stop conditions from 4.2.3 to bound exposure while the experiment estimates outcome differences.

Evaluate separate cohort metrics over intervals aligned with the experiment. An hourly aggregate mostly containing pre-experiment traffic can obscure a ten-minute canary. Enforce absolute service-level objectives (SLOs) as well as relative differences. If both cohorts violate the latency SLO because they share an overloaded tool service, a small A/B difference is no assurance of service health.

Reserve promotion for the planned outcome analysis with sufficient completed observations. The evaluation owner assesses uncertainty; the service owner accepts the quality and cost trade-off. Neither a traffic percentage nor an arbitrary elapsed hour guarantees an adequately powered comparison.

Distinguish workload drift from outcome degradation

Maintain a production-monitoring record with reference windows, task and cohort breakdowns, data completeness checks, quality measures, response owners, and escalation conditions. NIST’s Generative AI Profile describes post-deployment monitoring plans under MANAGE 4.1 and tracking dataset modifications for provenance under MG-4.1-006. Apply that structure to the deployed agent and its knowledge sources.

Monitor input characteristics such as task proportions, language, document type, and tool selection, using approved aggregate data. A changed input distribution signals workload drift; it does not establish declining quality. Compare reviewed task outcomes within those slices. Input characteristics can stay stable while expected answers change after a procurement policy revision, so outcome monitoring remains necessary.

Keep historical and concurrent views. If B declines relative to A under matched conditions, investigate the candidate. If both decline while the difficult-task share rises, inspect workload coverage and the golden dataset. If both decline within unchanged task slices, investigate shared tools, retrieval content, policy changes, and scoring changes. Check missing telemetry before assigning any of these causes: absent outcomes can resemble improved success if failures disappear from the denominator.

Use the remote nat eval --endpoint mechanism from 8.3.1 to replay the maintained benchmark against identified deployed versions. NeMo Agent Toolkit’s workflow_output.json and configured evaluator outputs support the per-case comparison. This controlled replay complements the live experiment: stable-case deterioration suggests a system or dependency change, whereas stable replay alongside worsening production outcomes points toward a coverage gap to investigate. Neither result alone proves the cause.

Key distinctions and trade-offs

Choose the comparison according to its question:

MethodDeciding conditionMechanismCost
Concurrent A/B testDoes the candidate improve live outcomes?Stable cohort assignment and per-arm outcome analysisExposes users and splits traffic
Drift monitoringHas the operating environment or behavior changed?Reference windows, slice distributions, and reviewed outcomesRequires maintained references and labels
Fixed-case replayDoes an identified deployment still pass known tasks?nat eval --endpoint on a versioned datasetCannot cover every production change

Broader exposure produces observations faster but increases potential harm and consumes shared capacity. A preserved control helps attribution during a bounded experiment, but cannot protect against common dependencies. Continue absolute monitoring after the experiment ends.

Architecture / decision scenario

A manufacturing procurement assistant has a six-second p95 latency SLO. Its service owner approves a 10% candidate cohort with stable session assignment. The tempting alternative is to compare this week’s candidate with last week’s baseline, avoiding the cost of running two versions. A supplier migration changes the workload during the week, making that comparison unreliable.

After the planned outcome window, A completes 920 of 1,000 reviewed tasks and B completes 950 of 1,000. These illustrative observations suggest a benefit, subject to the team’s planned uncertainty analysis. However, both cohorts now have eight-second p95 latency. The relative quality improvement does not authorize expansion beyond the absolute six-second limit.

Monitoring also shows that multilingual requisitions rose from 5% to 25% of traffic. The evaluation owner separates that workload shift from the release effect by comparing success within language slices, as taught in 3.2.2. The platform owner finds shared supplier-tool saturation and increases capacity for that service while promotion stays paused. The procurement owner reviews multilingual failures for the next benchmark revision. Promotion waits for acceptable service health and the completed quality analysis; drift triggers investigation rather than an automatic model retraining decision.

Common exam traps

  • Treating a before/after comparison as equivalent to concurrent cohorts.
  • Assuming weighted routing alone creates comparable populations.
  • Reassigning turns inside a stateful conversation.
  • Counting fallback successes while dropping the candidate failures that caused them.
  • Calling a changed input distribution proof of worse answers.
  • Promoting the better cohort when both violate an absolute SLO.

What to remember

Compare versions concurrently with stable assignment and explicit outcome definitions. Bound live exposure with operational limits, and analyze drift through reference windows and task slices. A/B differences, absolute service health, input shifts, and fixed-case replay answer different questions; use them together before deciding whether to promote, investigate, or refresh the benchmark.

Knowledge check

References