Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 5 of 6

Regression for prompts and models

16 min

Listen to this lesson

0:00 / 14:46

A classic SAP regression suite reruns when something you transport changes. An AI feature can change behavior when nothing in your transports changed at all. The model behind it can be updated or retired, SAP can update Joule and the agent runtime, grounding documents can be edited, and CMQ data shifts every cycle. Your evaluation set is your regression suite, and the plan has to cover all of these triggers.

What triggers a rerun

TriggerWho controls itRerun scope
Agent instructions, tool descriptions or Agent Card examples changeContoso's BTP teamFull evaluation set plus safety suite
A tool or API the agent calls changesContoso (custom APIs) or SAP (released APIs)Cases that use that tool, plus all zero-tolerance cases
Model version change or retirementSAP and the model provider; you may choose the versionFull set, with extra repetitions
SAP release or update of Joule, the runtime or the S/4HANA systemSAP, on its scheduleFull set before the change reaches production, where you can
Grounding documents changeThe content ownerCases that depend on grounded answers
Test data refresh in CMQSam and the test teamReset seed data, then a smoke subset to confirm the baseline still holds

Regression triggers for an AI feature; half of them are outside Contoso's transports.

Pin what you can. Where the platform lets you choose a model version rather than "latest", choose one and record it with every evaluation run, so a change is a decision you can test for. SAP publishes model availability and retirement dates for the generative AI hub; put the dates for your models in Luis's release calendar the same way you track SAP maintenance dates.

An agent version's lifecycle: every trigger after go-live sends it back through evaluation before it stays live.
The Sign-Off Table · thesignofftable.com/academy/sap-aiq-202

Baselines and comparison

Every signed-off evaluation run becomes the baseline for its agent version: the set version, model version, data seed, per-case results and per-skill rates. A regression run is compared with that baseline, not with the threshold alone. The questions are: did any zero-tolerance case fail; did any skill rate fall below threshold; and which individual cases got worse? A case that drops from 5 of 5 to 2 of 5 is a regression even if the skill rate stays above threshold.

Expect some movement. Repeated runs of a non-deterministic system never give identical numbers, so agree a tolerance band with Maria, such as a skill rate within two points of baseline, and investigate anything outside it. To tell variance from a real regression, rerun the cases that moved with more repetitions. Noise averages out; a regression doesn't.

  1. Detect triggerRelease note, model notice, transport or data refresh
  2. Freeze inputsEvaluation set version, data seed, model version recorded
  3. RunFull set and safety suite, five runs per case
  4. CompareZero-tolerance cases, skill rates, per-case changes against baseline
  5. InvestigateRerun movers with extra repetitions; read traces of new failures
  6. DecideWithin tolerance: new baseline. Outside: fix, roll back or narrow scope
The regression routine for an AI feature, triggered by any change, not only your own transports.
The Sign-Off Table · thesignofftable.com/academy/sap-aiq-202

What the platform tests for you, and what it doesn't

SAP's new Joule Studio has a Testing step that runs generated tests for agent solutions in three categories: Structure Tests (expected files and modules), Server Tests (the server starts, the agent-card endpoint responds, a basic invoke returns a valid response) and Agent Tests (tool invocations, response formatting and error handling, typically one per tool plus an end-to-end conversation). Its Score is simply passed tests divided by total tests. Joule Studio also runs an AI-powered evaluation of intent alignment, requirements coverage and specification adherence against the generated requirements and specification.

Use all of that; it catches broken builds early and cheaply. But notice what it measures: whether the solution matches what was generated and specified, with tests the platform wrote. It doesn't know Contoso's thresholds, CMQ data, roles or injection risks. A 100% Score is an entry criterion for your evaluation, not a substitute for it. For prompt and model choices built on the generative AI hub, SAP AI Core's evaluations can compare runs across models and prompt templates with the same dataset, which is useful when a model must be replaced.

What would you do?

SAP's release notes say the model behind Contoso's agent will be retired in March and replaced by a newer version. The BTP team plans to switch the model the day before a busy month-end and rerun only the five demo prompts. What should Priya propose?

Key points
  • Your evaluation set is the regression suite; rerun it for instruction, tool, model, platform, grounding and data changes.
  • Pin and record model versions, and track model retirement dates in the release calendar.
  • Compare each run with the signed baseline: zero-tolerance cases, skill rates and per-case movement, within an agreed tolerance band.
  • Platform-generated tests and scores are entry criteria; they don't know your thresholds, data, roles or risks.

Check your understanding · not graded

Lesson check

  1. 1. Nothing in Contoso's transports changed, but SAP updated the model behind the agent. What should happen?

  2. 2. A skill rate stays above threshold, but one case drops from 5 of 5 to 2 of 5. How should Priya treat it?

  3. 3. What do Joule Studio's generated Agent Tests check, according to SAP?

  4. 4. How is the Score in Joule Studio's Testing Overview calculated?