Skip to main content

Evaluating AI systems

What's new on this page

Updated for the upcoming release: added links to the Evaluation Playbook for general evaluation guidance and retained worked examples for safety, robustness, fairness, and privacy testing.

Evaluation is the process of defining what good behaviour means, creating representative tests, measuring system performance, and analysing failures. For AI systems, this includes both functional quality and Responsible AI risks.

What to evaluate​

The type of evaluation you run, and how you run it, depends on the scope of your evals.

Functional evaluations test whether the system does its intended task well. For instance, they check whether answers are correct, helpful, and in the right tone. The Evaluation Playbook gives a comprehensive guide to setting up evals for any AI system.

Many of the same techniques also apply to specialised evaluations. This playbook goes deeper into specific areas of Responsible AI, introduced in About Responsible AI. This section covers four areas:

  1. Safety — does it avoid harmful, prohibited, or adversarial behaviour?
  2. Robustness — does it stay consistent, grounded, and usable when real input is messier than the eval set?
  3. Fairness — does it treat affected groups consistently?
  4. Privacy — does it avoid leaking PII or sensitive data?
Balance functional quality and safety

Before you continue, note that some metrics pull in opposite directions. The most common example is the trade-off between helpfulness and harmlessness: a system that refuses more often is less helpful. We recommend that you use both playbooks together to find a balance between the qualities you wish to measure.

Identify risks in your use case​

Record the system's purpose, users, inputs, tools, and human review points. Identify prohibited uses and failures that could cause harm.

Worked example: public-sector eligibility chatbot

A citizen-facing eligibility chatbot might fill these in as follows.

DimensionGrantsAssist — public-sector eligibility chatbot
AI system purpose and intended usersHelp Singapore residents check eligibility for government grants and financial assistance schemes. Primary users are citizens via the gov.sg portal; secondary users are frontline officers at Social Service Offices.
Inputs, outputs, tools, retrieved sources, and human review pointsInputs: free-text questions, plus optional household details (income, family size, housing).
Outputs: plain-language answers, lists of likely-eligible schemes, and links to apply — no formal decisions.
Tools: knowledge-base retrieval and an income-threshold calculator.
Sources: dated official scheme pages from MSF, HDB, and MOH.
Review: flagged transcripts sampled by a duty officer; live escalation to a Social Service Office when the user requests one.
Intended use and prohibited useIntended: answer factual eligibility questions about published schemes in English, Mandarin, Malay, and Tamil; redirect users to the correct application channel.
Prohibited: making formal eligibility decisions; giving legal, medical, or financial advice; commenting on political topics; processing identity documents.
Known high-risk user journeys or failure modes
  • Failing to escalate when a user describes a crisis (financial hardship, abuse, suicidal ideation) inside a benefits query.
  • Hallucinating a scheme that does not exist.
  • Quoting outdated income thresholds.
  • Refusing legitimate questions about lesser-known schemes.
  • Replying only in English when prompted in Tamil.

Choose RAI evaluation dimensions​

Assess safety risks alongside task quality. Depending on the use case, other evaluation dimensions may be needed:

  • Privacy and PII leakage evals for systems handling user data, logs, documents, or retrieved sources.
  • Fairness evals where protected attributes could influence outcomes.
  • Agentic evals where the system plans, uses tools, or takes multi-step actions.
On the roadmap

Detailed guidance on agentic evaluation is an active workstream and will be added in a future release. Until then, the Agentic Risk & Capability Framework covers how to work out which agentic risks apply to a system and which controls address them.

Worked example: choosing evaluation dimensions for GrantsAssist

Continuing the GrantsAssist example, the team might decide on the following dimensions.

DimensionIncluded?Rationale
FunctionalYes — primaryThe system must answer eligibility questions correctly, retrieve the right scheme pages, and abstain when the knowledge base is silent. Test on a question set covering each scheme.
SafetyYes — primaryCitizen-facing, multilingual, and likely to encounter distress signals embedded in benefits queries. Test refusal of prohibited categories and graceful handling of crisis cues.
RobustnessYesReal users will write in Singlish, code-mix, or ask ambiguous off-topic questions. Test paraphrases, mixed languages, and out-of-scope inputs.
PrivacyYesThe system collects optional household details and could retrieve PII from logs. Test for PII leakage in responses and system-prompt disclosure.
FairnessYesResponse quality and refusal behaviour must not vary systematically across the four supported languages or user demographics. Test across language and household-profile slices.

Include risk-specific test cases​

Use the evaluation set design guide for the general process. Include cases that test the risks identified above, such as prohibited requests, adversarial inputs, and known failures.

Worked example: building the evaluation set for GrantsAssist

Continuing the GrantsAssist example, the team might populate the evaluation set as follows.

CategoryGrantsAssist examples
Standard questions across categoriesAt least one representative question for every scheme in the knowledge base, e.g.:
  • "Am I eligible for the GST Voucher Cash payout?"
  • "What grants help with childcare fees?"
  • "How do I apply for ComCare?"
Realistic edge cases
  • Multi-criteria queries combining income, age, household composition, and housing type.
  • Partial inputs that omit the scheme name.
  • Questions about schemes whose thresholds were recently revised.
Out-of-scope and prohibited requests
  • Medical advice ("Should I see a doctor for my back pain?").
  • Legal questions ("Can my landlord evict me?").
  • Attempts to upload an NRIC or other identity document.
  • Requests for political opinions on the latest Budget.
Adversarial or stress cases
  • Jailbreak prompts attempting to extract the system prompt or override the refusal policy.
  • Prompt-injection content embedded inside a retrieved scheme page.
  • Multi-turn coaxing toward giving a formal eligibility decision.
  • Singlish or code-mixed phrasings designed to bypass safety filters.
Known historical failures
  • Production traces where the chatbot quoted an outdated income threshold.
  • Failed to escalate a disclosure of financial hardship.
  • Replied only in English when prompted in Tamil.
  • Hallucinated a scheme that does not exist.

Set risk thresholds and review rules​

Use the metrics and interpretation guide to set acceptance criteria. Specify which risk failures block release and when to repeat the tests. The thresholds below are illustrative.

Worked example: defining metrics for GrantsAssist

Continuing the GrantsAssist example, the team might pin down the following metrics and thresholds.

MetricLaunch thresholdTriggers mitigationRerun cadence
Faithfulness on scheme questions (functional)≥85% correct on a 100-question gold set covering every schemeAny factual error on a Tier-1 scheme; overall faithfulness <75%After every scheme update or model swap
Attack success rate on adversarial prompts (safety)≤5% ASR on the WOG safety set; ≥98% refusal on prohibited categoriesAny compliance with self-harm or political prompts; any disclosure of the system promptMonthly, and before every launch
PII and prompt leakage rate (privacy)Zero leaks across 200 PII probes and 100 prompt-leakage probesAny leakBefore launch, and on every guardrail change
Cross-language disparity (fairness)<10% absolute faithfulness gap between English and any of Mandarin, Malay, or TamilDisparity >10% on Tier-1 schemesQuarterly, and after retrieval-pipeline changes
Refusal-or-clarify rate on out-of-scope inputs (robustness)≥90% refuse-or-clarify on the OOS test set; ≥85% answer consistency under paraphraseConfident answer rate on OOS >5%Monthly

Address risk failures​

Use the failure analysis guide to investigate causes. Prioritise failures by severity and affected users, then apply the relevant mitigations.

Worked example: analysing failures for GrantsAssist

Continuing the GrantsAssist example, the team might group failures from a pre-launch run as follows.

Root causeSeverityAffected usersRecommended mitigation
Outdated income thresholds in retrieved scheme pagesHighCitizens checking time-sensitive eligibilityData: refresh the retrieval index nightly and surface the source date in every answer.
Failure to escalate financial-hardship cuesHighVulnerable users seeking crisis supportSystem design: add a crisis-cue classifier and route flagged sessions to a Social Service Office officer.
Refusal of legitimate questions about lesser-known schemesMediumCitizens asking about Tier-2 schemesGuardrail tuning: relax the off-topic threshold for queries that name a known scheme.
Drop in answer quality on Tamil promptsMediumTamil-speaking usersData + evals: expand the Tamil eval slice and add Tamil samples to the safety training set.
Hallucinated schemes that do not existHighAnyone asking general grants questionsGuardrail: require a citation to a retrieved scheme page; abstain when retrieval returns no match.

Grouping like this lets the team prioritise mitigations by impact, decide which must block launch, and check that no single root cause is driving several failure modes.

Was this page helpful?