Skip to main content

Simulation & Regression Eval Suite

The Simulation & Regression Eval Suite runs a crafted set of customer scenarios against an agent and grades every transcript with an LLM judge — so a prompt or model change gets pass/fail evidence before it reaches a live channel. Two run modes share the suite:
  • Live-persona run (POST /api/v1/agents/:id/persona-simulation, the Agent → Testing → Persona panel) — an LLM caller improvises turn-by-turn. Best for exploring how the agent copes with a mood or an unexpected customer.
  • Scripted regression gate (POST /api/v1/agents/:id/simulation-eval) — a fixed caller utterance script replays exactly the same conversation on every run, the LLM judge grades the finished transcript, and the batch returns a boolean passed gate. This is the mode to wire into CI: the caller text never changes, so two runs of the same suite compare cleanly.
Endpoint paths below are relative; send them against https://api.orbit.devotel.io.

1. What the suite does

Each scenario describes a customer persona (name, mood), the situation, the objective the agent must achieve, and optional rubric criteria the judge grades against. On every run, the simulator:
  1. Drives a live LLM caller turn-by-turn against your agent (not a scripted prompt list).
  2. Sends the full transcript to the LLM judge, which scores it against the objective and each rubric criterion.
  3. Returns a rollout-gate report: pass rate, mean judge score, per-scenario verdicts, and the tools the agent invoked.
Name the suite so the same scenarios can be rerun as a regression gate on every prompt or model change. The suite runs in sandbox mode — no billing, no memory writes, no outbound voice or SMS.

2. What goes into a scenario

The endpoint rejects more than the supported batch size (default: all scenarios in one payload, up to the per-endpoint maximum) — send a short curated set, not a dump of the corpus.

3. Run the suite

Dashboard path: Agents → your agent → Testing → Persona — enter/edit scenarios inline, set the optional candidate version, and press Run suite. API (live-persona mode):
The response carries the aggregate summary (total scenarios, pass rate, mean judge score, total cost in cents, per-scenario verdicts) plus the invoked tool list. A scenario that fails never reaches traffic; one that passes moves on.

Scripted regression gate (simulation-eval)

Same suite shape, but each scenario carries a scripted_utterances array — one utterance played back per caller turn, in order, regardless of what the agent says. The judge and the regression gate then score a conversation that never changes from run to run, which is what makes the result safe to gate a rollout on.
The response adds a gate block to the summary: gate.passed is true only when the batch pass rate clears min_pass_rate (default 1) and the error rate stays under max_error_rate (default 0.2 — one in five inconclusive runs is tolerated); gate.reasons names the failing criterion so a CI job can print why a candidate was rejected. The scenario persona object is optional in gate mode — the script is the caller, the persona is only a label for the judge. Owner, admin, and developer roles only.

4. Common results and what to do about them

  • A 503 “LLM_UNAVAILABLE” envelope — the LLM provider is not configured for the environment. The suite cannot run until that is fixed by an owner/admin.
  • A 422 “VALIDATION_ERROR” envelope — one of the field constraints (empty title / persona.name / situation / objective, or more than 10 rubric criteria) is violated. Fix the scenario and retry.
  • A 404 envelope from the scripted gate — the agent id does not exist in this tenant; the gate checks for the agent before spending a single runtime call.
  • A scenario fails on rubric criteria — inspect the per-scenario judge reasoning in the panel (or the reasoning text in the API response) before promoting the candidate prompt/model.
  • The whole suite times out — the endpoint is rate-limited tighter than ordinary calls (the persona + runtime + judge fan out per scenario). Split the batch and retry.

5. Where it fits in the rollout pipeline

The eval suite is the offline gate that qualifies a candidate before the canary ladder accepts it:
  1. Replay regression tests and run persona simulations against the candidate (guide: Safely Roll Out an AI Agent).
  2. Promote the version (docs: Agent Versions).
  3. Keep production sampling enabled (docs: Continuous Production Evals).
A passing simulation suite does not replace these — it is the fast, cheap screen that rejects a bad candidate before it touches production traffic.