Markdown Editor

Customer Support AI Agent System Design Template

Customer support AI agent design: channels, intent routing, policy retrieval, refunds with limits and approvals, human handoff, metrics, safety, audit

系统设计完整Singapore MGF for Agentic AI (Jan 2026); EU AI Act Art. 50; OWASP LLM Top 10 2026designcustomersupportagent

使用方法: Use it when you design an AI agent that answers customers and takes actions such as refunds. Fill the action policy with limits (7.2) and the mandatory handoff triggers (7.3) first, and agree them with finance and support leads. The main pitfall is measuring deflection instead of verified resolution, which hides customers who give up and call back.

预览

System Design: [Customer support AI agent name]

Reference design for an AI agent that handles customer support conversations across chat, messaging and email: it identifies intent, answers from the knowledge base, takes bounded actions such as refunds with limits and approvals, hands off to human agents with full context, and records every decision for audit. It covers channels, intent and routing, knowledge retrieval, tool actions, human handoff, conversation state, deflection and CSAT metrics, safety and escalation, and audit. Oversight follows the four dimensions of Singapore's Model AI Governance Framework for Agentic AI (IMDA, launched 22 January 2026; current Version 1.5, published 20 May 2026, updated 5 June 2026); threats are mapped to the OWASP Top 10 for LLM Applications 2026. It follows the 12-section skeleton of the System Design Document template and is pre-filled with a worked design for an online retailer to adapt. Replace every [bracketed] value and every row marked Example; all numbers are illustrative examples, not benchmarks. This is a documentation format, not legal advice.

Document control

FieldValue
Document ID[SDD-SUPPORT-001]
System / feature[Customer support AI agent]
Version[0.1]
Status[Draft / In review / Approved / Implemented / Superseded]
Author(s)[@author]
Reviewers[@reviewer-1], [@reviewer-2]
Last updatedYYYY-MM-DD
Classification[Internal]
Channels in scope[Web chat, in-app chat, messaging apps, email]
Actions in scope[Order status, address change, cancellation, refund up to limit, return label]
Jurisdictions[Countries where customers are served]
Related[AI agent specification], [Agent tool permission design], [Human oversight design], [Guardrails spec]

Approvals

RoleNameDecisionDate
Head of customer support[@name][Approved / Changes requested]YYYY-MM-DD
Tech lead, support platform[@name][Decision]YYYY-MM-DD
Finance (refund limits)[@name][Decision]YYYY-MM-DD
Security and privacy[@name][Decision]YYYY-MM-DD
Legal and compliance[@name][Decision]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]First draft for design review
0.2YYYY-MM-DD[@name]Example: Automatic refund limit set to USD 50 per order and USD 150 per customer per 30 days
0.3YYYY-MM-DD[@name]Example: Added vulnerability signals that force human handoff
1.0YYYY-MM-DD[@name]Example: Approved

Contents

1. Overview

1.1 Problem statement

[Example: The support team handles 1.2 million conversations a month. About 60% are order status, returns and simple refunds that follow written policy. Median first response time in peak season is 9 hours, CSAT has fallen for three quarters and seasonal hiring cannot keep up. A rule-based chatbot answers only 12% of conversations and frustrates customers who cannot reach a person.]

1.2 Proposed solution

[Example: An AI agent on every text channel that identifies the customer, classifies intent, answers from the versioned policy and help-centre knowledge base with citations, and calls order system tools to check status, change addresses, issue return labels and refund. A deterministic policy engine approves refunds within set limits and sends larger ones to a human approval queue. The agent hands off to a human whenever the customer asks, when confidence or policy coverage is low, or when safety signals appear, passing a summary so the customer never repeats themselves. Every model turn, tool call and decision is logged for audit.]

The agent never: [Example: changes payment methods, issues refunds above its limit without approval, makes promises not in published policy, discusses legal claims, or hides that it is an AI.]

1.3 Decisions requested from reviewers

IDQuestionRecommended optionSection
Q-01Example: Who decides a refund: the model or a policy engine?Policy engine with limits; model only proposes7.2
Q-02Example: Automatic refund limit?USD 50 per order, USD 150 per customer per 30 days7.2
Q-03Example: When is handoff mandatory?Customer request, two failed attempts, safety or vulnerability signals, legal or complaint keywords7.3
Q-04Example: Primary success metric?Verified resolution rate (no recontact within 7 days), with CSAT as guardrail9.3
[Q-nn][Question][Option][Section]

1.4 45-minute interview path

MinutesCoverOutput on the whiteboard
0 to 5Channels, top intents, which actions, what must never happen2.1 and 2.3
5 to 10Conversation volume, concurrency, handoff and refund volumes3.6 with consequences
10 to 15Conversation and message API; data model with access patterns4.1 and 5.2
15 to 25Diagram: channel adapters, orchestrator, intent, retrieval, tools, policy engine, handoff, auditSection 6
25 to 40One deep dive: refund action policy (7.2) for a payments or risk panel; handoff and state (7.3) for a contact-centre panel; grounding on policy (7.4) for an ML panelOptions, choice and reason
40 to 45Metrics that prove value, failure modes, 10x row9.3, 9.1 and 10

2. Requirements

2.1 Core functional requirements

IDRequirementPriority
FR-01Example: Web chat, in-app chat, two messaging apps and email through one conversation modelMust
FR-02Example: Identify and verify the customer before any account-specific answer or actionMust
FR-03Example: Intent classification and routing to agent, specialised flow or human queueMust
FR-04Example: Answers grounded in the versioned policy and help-centre content, with linksMust
FR-05Example: Tools: order status, address change before dispatch, cancellation, return label, refund within limitsMust
FR-06Example: Human handoff on request at any point, with a summary and the full transcriptMust
FR-07Example: Disclose at the start that the customer is talking with an AI systemMust
FR-08Example: Approval queue for actions above limits, with decision returned to the conversationMust
FR-09Example: Post-conversation CSAT survey and recontact trackingShould
FR-10Example: Multilingual support in [languages]Should
[FR-nn][Requirement][Must / Should / Could]

2.2 Non-functional requirements

IDQualityTargetMeasured as
NFR-01Response timeExample: p95 at or below 6 s per agent reply on chat; email reply within 15 minOrchestrator timing
NFR-02Policy correctnessExample: At or above 98% of policy answers match the policy version in force, on the audit sampleWeekly human review of 500 conversations
NFR-03Action correctnessExample: Zero refunds outside policy limits; zero duplicate refundsReconciliation against the payment ledger
NFR-04HandoffExample: Handoff on request within one turn; customer never asked to repeat order detailsTranscript review
NFR-05AvailabilityExample: 99.9% monthly; on failure, conversations route to humansSLO
NFR-06PrivacyExample: Payment card data never enters the model context; transcripts retained [period]Data flow audit
NFR-07AuditExample: Every action traceable to conversation, model version, policy version and approverAudit sample
[NFR-nn][Quality][Target][Measurement]

2.3 Below the line (out of scope)

  • [Example: voice calls (see Real-Time Voice Agent System Design (system-design/design-voice-agent))]
  • [Example: outbound proactive messages and marketing]
  • [Example: complaints that are formal regulatory complaints; routed to the complaints team without agent handling]
  • [Example: agent-initiated changes to payment instruments or account ownership]
  • [Item deferred, with the release that will take it]

3. Capacity estimation

3.1 Assumptions

All values are Example planning inputs.

InputValueSource
Conversations per month1.2 millionContact centre reports
Share in the busiest hour of the day10%Contact centre reports
Mean conversation duration (chat)8 minContact centre reports
Customer turns per conversation6Pilot
Model calls per turn2 (understand and plan, then respond)Design
Input / output tokens per model call8 000 / 250Pilot
Share handed off to humans50% at launchPilot
Human handle time after handoff10 minContact centre reports
Conversations requesting a refund8%Contact centre reports
Refund requests within the automatic limit70%Order data
Human cost per conversationUSD 4 (Example)Finance

3.2 Conversation load

Per day: 1.2 million / 30 = 40 000 conversations. Busiest hour: 4 000 conversations. Concurrent conversations at that hour: 4 000 x 8 / 60, about 533.

Consequence: the orchestrator must hold conversation state outside the process (533 concurrent at peak, many idle between customer turns), so any instance can serve the next turn.

3.3 Model tokens and cost

Model calls per day: 40 000 x 6 x 2 = 480 000. Input tokens: 480 000 x 8 000 = 3.84 billion; output: 480 000 x 250 = 120 million. At Example prices of USD 2 per million input and USD 8 per million output: 7 680 + 960 = USD 8 640 per day, about USD 0.22 per conversation.

Consequence: model cost is small next to human cost (USD 4 per conversation). Optimise for correct resolution and safe handoff, not for token savings; use a larger model where it improves policy accuracy.

3.4 Human handoff load

Handoffs per day at 50%: 20 000. Busiest hour: 2 000 handoffs. Human agents needed in that hour: 2 000 x 10 / 60, about 333 concurrent, before occupancy and shrinkage factors.

Consequence: the handoff rate drives staffing more than any other number. Workforce planning uses the agent's forecast handoff rate by intent, and the handoff queue must expose estimated wait time so the agent can tell the customer.

3.5 Refund actions

Refund requests per day: 40 000 x 0.08 = 3 200. Automatic: 2 240. Sent for approval: 960, about 96 per hour over a 10-hour approval window.

Consequence: finance needs an approval queue staffed for about 100 decisions per hour with a 2-hour target, and the payment system must accept idempotency keys so a retried tool call never pays twice.

3.6 Summary

QuantityEstimateDesign consequence
Concurrent conversations at peakAbout 533Externalised conversation state; stateless orchestrator
Model costAbout USD 0.22 per conversation (Example)Spend on accuracy, not on cheaper models
Human agents at peakAbout 333 concurrent at 50% handoffHandoff rate is the main business lever; forecast by intent
Refund approvalsAbout 96 per hourApproval queue with SLA; idempotent payment calls

4. API design

4.1 Endpoints

Method and pathPurpose
POST /v1/conversationsOpen a conversation from a channel adapter (channel, customer hint, locale)
POST /v1/conversations/{id}/messagesCustomer message in; agent reply streamed or posted back to the channel
POST /v1/conversations/{id}/handoffRequest human handoff (customer, agent or system initiated)
GET /v1/conversations/{id}/summarySummary and structured facts for the human agent desk
POST /v1/approvals/{id}/decisionApprover accepts or rejects a pending action
POST /v1/conversations/{id}/csatSurvey response
Internal: POST /tools/refundsRefund with idempotency key, order ID, amount, reason code

4.2 Tool contract example

The model fills the proposal; the orchestrator adds identity and the idempotency key and passes it to the policy engine, never directly to the payment system.

{"tool": "propose_refund", "arguments": {"order_id": "[order id]", "items": ["[sku]"], "amount": 34.90, "currency": "USD", "reason_code": "item_damaged", "evidence": ["photo_uploaded"]}}
{"decision": "auto_approved", "policy_rule": "RF-02", "policy_version": "[version]", "refund_id": "[id]", "idempotency_key": "[conversation id]:[order id]:[sku]"}

4.3 Errors and outcomes

OutcomeMeaningAgent behaviour
auto_approvedWithin limits and policyConfirm to customer with refund ID and timing
needs_approvalAbove limit or risk flagTell customer it is under review with expected time
rejected_policyOutside policyExplain the policy with a link; offer handoff
identity_requiredCustomer not verifiedRun verification flow
tool_unavailableDownstream errorApologise, create a follow-up task, offer handoff

5. Data model

5.1 Entities

The conversation is the unit of state; actions and approvals hang off it and reference the policy version that allowed them.

5.2 Access patterns

QueryServed byPartition key and rationale
Load conversation state for the next turnKey-value store by conversation_idconversation_id: single-row read on every turn, spread evenly
Append a messageMessage table by conversation_id, sorted by sequenceSame key keeps one conversation on one partition
Customer's recent conversations (recontact detection, context)Secondary index on customer_id and timecustomer_id: used at conversation start and for metrics
Refunds for a customer in the last 30 days (limit check)Action table indexed by customer, kind and timecustomer_id: the limit is per customer
Pending approvals by queueApproval table indexed by status and queueQueue: approvers work one queue
Audit: all actions under a policy versionWarehouse table partitioned by dateDate: audits sample by period

5.3 Storage choices

DataStoreNotes
Conversation stateKey-value store with TTL after closeHot path
Messages and turn tracesDocument store, then warehouseRetention per policy; redaction of personal data in analytics copies
Actions and approvalsRelational databaseStrong consistency for limit checks and idempotency
Knowledge baseVersioned content store plus retrieval indexEach article and policy carries version and effective date
Audit logAppend-only, write-once storageTamper evident; retained [period]

6. High-level design

ComponentResponsibilityScales by
Channel adaptersNormalise messages, attachments and typing indicators; channel-specific limitsPer channel
OrchestratorTurn loop, state, tool calls, budgets, handoff decisionsHorizontally, stateless
Intent and safety classifierIntent, sentiment, vulnerability and legal signalsHorizontally
Agent modelUnderstand, plan, draft replies, propose actionsModel pool
Knowledge retrievalPolicy and help content by version and localeIndex replicas
Policy engineDeterministic rules for actions and limitsHorizontally
Approval queueHuman decisions for actions above limitsStaffing
Handoff routerPick queue by intent, language, skill; pass summaryHorizontally
Audit logImmutable record of turns, actions and decisionsAppend throughput

7. Detailed design

7.1 Turn flow

One refund conversation that ends with a handoff request. The model never calls the refund service; the policy engine does, after its checks.

7.2 Deep dive 1: tool actions with limits and approvals

OptionStrengthsWeaknesses
A. Model calls the refund API directly with instructions about limitsSimpleLimits enforced by prompt only; prompt injection or error leads to unbounded refunds
B. All refunds go to humansSafeNo improvement for the largest intent
C. Model proposes; deterministic policy engine decides within limits; humans approve aboveBounded, auditable, fast for the common casePolicy rules to maintain

Choice: C. Reason: money decisions need deterministic, testable rules with an owner; the model is good at understanding the request and gathering evidence, not at enforcing limits.

RuleCondition (Example)Decision
RF-01Customer not verifiedidentity_required
RF-02Amount at or below USD 50, order delivered within 30 days, reason in approved list, customer 30-day refund total including this refund at or below USD 150auto_approved
RF-03Amount above USD 50, or customer 30-day refund total including this refund above USD 150needs_approval
RF-04Order flagged by fraud scoringneeds_approval, fraud queue
RF-05Outside the return window and no exception reasonrejected_policy
RF-06Same order and item already refundedReturn existing refund ID (idempotent)

The policy engine reads the customer's 30-day total and records the new action in one database transaction that locks the customer's limit row, so two concurrent proposals (for example, from chat and email at once) cannot both pass RF-02.

Tool permission design follows Agent Tool Permission Design Template (ai-data/agent-tool-permission-design). Read tools (order status) need verified identity; write tools (address change, cancellation, refund) go through the policy engine; no tool can change payment methods.

7.3 Deep dive 2: human handoff and conversation state

OptionStrengthsWeaknesses
A. Transfer the transcript onlySimpleHuman reads the whole transcript; customer often repeats themselves
B. Transfer transcript plus a structured summary and facts (customer, order, intent, actions taken, what is pending)Fast pick-upSummary can be wrong
C. B plus the agent stays as a silent assistant for the humanFast and helpfulMore complex desk integration

Choice: B at launch, C later. Reason: B fixes the main complaint (repeating details) and the summary is checked against structured facts from tools, not only model text.

Mandatory handoff triggers:

TriggerDetectionQueue
HO-01 (Example) Customer asks for a personIntent classifier or keywords, any languageGeneral, by language
HO-02 (Example) Two failed attempts on the same intentTurn counter in stateSkill queue for the intent
HO-03 (Example) Vulnerability signals (bereavement, financial hardship, health crisis, self-harm)Safety classifierSpecialist queue; self-harm uses the crisis script
HO-04 (Example) Legal threat, formal complaint, regulator mentionClassifierComplaints team
HO-05 (Example) Policy retrieval finds no applicable policyRetrieval confidence below thresholdGeneral
HO-06 (Example) Agent service degradedHealth checksAll new conversations go to humans

Conversation states: bot_active, awaiting_customer, awaiting_approval, queued_for_human, human_active, closed. Only one actor (bot or human) may write to the customer at a time; the state machine enforces it so the bot never replies after a human has taken over.

7.4 Deep dive 3: grounding on versioned policy

OptionStrengthsWeaknesses
A. Policies in the system promptSimpleGrows without bound; stale after edits; no citations
B. Retrieval over help-centre articlesCovers many topicsMarketing pages and policies mixed; old versions indexed
C. Retrieval over a curated, versioned policy store with effective dates, plus help articles ranked below policyCorrect version, citableContent operations needed

Choice: C. Each policy chunk carries policy_id, version, effective_from, locale and market. Retrieval filters by market and date; the answer cites the policy link; the policy version is logged with the turn. When retrieval finds no policy for a question about rights or money, the agent says it will check and hands off (HO-05) rather than improvising. Retrieval design follows RAG System Design Template (ai-data/rag-system-design).

7.5 Safety, disclosure and oversight

  • AI disclosure. The first message states that the customer is talking with an AI assistant and how to reach a person. In the EU, Article 50(1) of the AI Act (Regulation (EU) 2024/1689) requires that people are informed when they interact with an AI system unless it is obvious; it applies from 2 August 2026 (check the consolidated text). See AI Content Transparency Plan Template (ai-data/ai-content-transparency-plan).
  • Guardrails. Input and output checks (personal data, abusive content, off-topic, promises outside policy) per Guardrails Specification Template (ai-data/guardrails-spec).
  • Automated decisions. Where a refusal is fully automated and has a significant effect on the customer, check data protection rules on automated decision-making for each market and offer human review.
  • Oversight. The table maps the design to the four dimensions of the Model AI Governance Framework for Agentic AI (IMDA, Singapore, launched 22 January 2026), paraphrased. Detailed oversight design belongs in Human Oversight Design Template (ai-data/human-oversight-design).
Framework dimension (paraphrased)How this design meets it
Assess and bound risks up front: choose suitable use cases, limit autonomy and access to tools and dataNarrow tool list; no payment method changes; refund limits in the policy engine (7.2)
Make humans meaningfully accountable: named owners and checkpoints that need human approvalBusiness owner per action; approval queue above limits; handoff triggers (7.3)
Technical controls and processes across the lifecycle: testing, access control, monitoringPre-release evaluation, guardrails, audit log, drift monitoring (9.3)
Enable end-user responsibility: transparency, educationAI disclosure, policy links, easy route to a person (7.5)

7.6 How real systems do it

How real systems do it (paraphrased from Moffatt v. Air Canada, 2024 BCCRT 149, British Columbia Civil Resolution Tribunal, 14 February 2024). A customer relied on an airline website chatbot that described a bereavement fare refund process that differed from the airline's published policy page. The airline argued it was not responsible for what the chatbot said. The tribunal disagreed: the chatbot was part of the airline's website, the airline was responsible for all information on it, and the customer had no reason to think one part of the site was more reliable than another. It found negligent misrepresentation and ordered the airline to pay the difference in fare plus interest and fees. Design lesson: the organisation owns what its agent says. Ground answers on the current policy version, cite it, and hand off when no policy applies (7.4).

8. Scalability and performance

ConcernApproachLimit before redesign
Seasonal peaks (several times normal volume)Stateless orchestrator, autoscaling, model provider quota reservedModel provider rate limits
Human queue overflowEstimated wait shown; callback or email follow-up offered; bot keeps simple intentsStaffing
Email backlogBatch processing with priority by intent and customer tierModel throughput
Knowledge updatesIndex rebuild per policy publish, minutes not daysContent team throughput

Chat reply latency budget (target p95 6 s, Example):

StepBudget
Channel adapter and state load150 ms
Classifier150 ms
Retrieval300 ms
Model call 1 (understand, plan, tool choice)2 000 ms
Tool and policy engine500 ms
Model call 2 (reply) with streaming where the channel allows2 000 ms
Headroom900 ms

Send a typing indicator on channels that support it while tools run.

9. Reliability, security and operations

9.1 Failure-mode table

ComponentFailureDetectionBlast radiusMitigationRTO
Agent modelOutage or high latencyError rate, p95 latencyAll bot conversationsRoute new conversations to humans (HO-06); existing ones get a holding message5 min
Policy engineUnavailableHealth checkNo write actionsAgent continues with read-only help; actions queued as follow-up tasks15 min
Refund serviceTimeout after request sentTool timeoutPossible duplicate refund on retryIdempotency key; query status before retry15 min
Knowledge indexStale after policy changeVersion check against content storeWrong policy answersIndex version pinned per publish; block answers when index lags30 min
Handoff routerQueue fullQueue depthLong waitsCallback offer; overflow to partner team30 min
Channel adapterMessaging app outageDelivery failuresOne channelSuggest alternative channel; retry deliveryProvider SLO

9.2 Security

IDThreatOWASP 2026Control
SEC-01Customer text, an uploaded document, an inbound email, a help article or a tool result (for example, a free-text order note) instructs the agent to refund or reveal dataLLM01:2026 Prompt InjectionAll such content enters the prompt as untrusted data, never as instructions; policy engine decides; identity verified by tools, not by what the customer claims
SEC-02Agent reveals another customer's ordersLLM02:2026 Sensitive Information DisclosureTools scoped to the verified customer ID; no free-form database access
SEC-03Agent takes actions beyond its roleLLM03:2026 Excessive AgencyNarrow tool list, limits, approvals (7.2)
SEC-04Customers extract refund thresholds and fraud rules from the promptLLM08:2026 Hidden Context ExposureThresholds live in the policy engine, not in the prompt
SEC-05Token flooding or bot traffic raises costLLM06:2026 Unbounded ConsumptionRate limits per customer and channel; turn caps
SEC-06Agent states a policy that does not existLLM07:2026 MisinformationVersioned policy retrieval, citations, handoff when none applies
SEC-07Account takeover through the chat channelNot LLM-specificStep-up verification for write actions; same rules as human agents
[SEC-nn][Threat][OWASP ID][Control]

Payment card data never enters the model context: card fields in channels are masked by the adapter, and refunds return to the original payment method by reference.

9.3 Metrics

Define each metric so it cannot be improved by hiding problems.

MetricDefinitionTarget (Example)
Verified resolution rateConversations closed by the agent with no recontact on the same intent within 7 daysAt or above 45% at launch
Deflection (containment)Conversations closed without a human; reported only next to verified resolutionContext only
False resolution rateAgent-closed conversations followed by recontact or complaintAt or below 8%
CSATSurvey score for agent-handled and handed-off conversations, separatelyNo lower than human baseline minus 0.2 points
Handoff rate by intentHandoffs over conversations per intentTracked against forecast
Time to humanFrom handoff request to human first replyp90 at or below [minutes]
Policy accuracyShare of sampled answers matching the policy in forceAt or above 98%
Action accuracyRefunds reconciled against policy and ledger100% within policy

Observability follows LLM and Agent Observability Specification Template (ai-data/llm-observability-spec); evaluation follows Agent Evaluation Plan Template (ai-data/agent-evaluation-plan).

9.4 Audit

Each turn record holds the customer message ID, model and prompt version, retrieved policy IDs and versions, tool calls with arguments and results, policy engine rule and decision, approver for approved actions, and the reply sent. Records are write-once and retained for [period]. Weekly sampling by quality assurance uses the same scorecard as for human agents.

10. Trade-offs and alternatives

DecisionOptionsChosenWhyWhat we give up
Action authorityModel; policy engine; humans onlyPolicy engine within limits, humans aboveBounded and auditableRule maintenance
Policy knowledgePrompt; help-centre retrieval; versioned policy storeVersioned policy storeCorrect version and citationsContent operations
HandoffTranscript; summary; silent assistSummary now, silent assist laterBiggest customer pain firstHuman efficiency gains deferred
Success metricDeflection; verified resolutionVerified resolution with CSAT guardrailPrevents hiding failuresSlower to report (7-day window)
What changes at 10x (12 million conversations per month)Per-market cells; dedicated model capacity; automated QA scoring with human calibrationProvider quotas and manual QA do not scaleHigher fixed cost
What changes at 0.1x (120 000 per month)Vendor support platform's built-in agent with custom tools; no separate orchestratorBuilding the platform is not worth itLess control over policy engine and audit detail
[Decision][Options][Chosen][Why][Cost]

11. Delivery plan and risks

11.1 Milestones

MilestoneScopeExit criterionTarget date
M1Web chat, order status, policy answers, handoffPolicy accuracy at or above 98% on sample; handoff works on requestYYYY-MM-DD
M2Return labels and address changeAction accuracy 100% on 2 weeks of shadow modeYYYY-MM-DD
M3Refunds at USD 20 limit, approval queueLedger reconciliation clean for 4 weeksYYYY-MM-DD
M4Messaging apps and email; limit raised to USD 50Finance sign-off on loss rateYYYY-MM-DD
M5Silent assist for human agentsHandle time reduction measuredYYYY-MM-DD

11.2 Rollout and rollback

[Example: Shadow mode first: the agent drafts replies and actions that humans send or discard. Then a share of traffic by intent, starting with order status. Any increase in false resolution or complaints above threshold switches that intent back to humans by configuration.]

11.3 Risks

IDRiskLikelihoodImpactMitigationOwner
R-01Example: Refund abuse by customers who learn the limitsMediumMediumPer-customer limits, fraud scoring, thresholds not in prompt[@name]
R-02Example: Wrong policy answer creates liabilityMediumHighVersioned policy retrieval, citations, handoff (7.4)[@name]
R-03Example: Customers cannot reach a person and complain publiclyMediumHighHandoff on request in one turn; visible option[@name]
R-04Example: Human team loses skills on simple intentsLowMediumRotation and training plan[@name]
[R-nn][Risk][L / M / H][L / M / H][Mitigation][@name]

12. Appendices

12.1 Traceability

RequirementDesign elementVerification
FR-04, NFR-027.4 versioned policy retrievalWeekly policy accuracy sample
FR-05, NFR-037.2 policy engine, idempotencyLedger reconciliation
FR-06, NFR-047.3 handoff triggers and summaryTranscript review
FR-077.5 disclosureChannel test per locale
NFR-079.4 audit recordAudit sample
[ID][Element][Test]

12.2 Open questions

IDQuestionOwnerDue
OQ-01Example: Different refund limits per market?[@name]YYYY-MM-DD
OQ-02Example: May the agent offer goodwill vouchers, and within what budget?[@name]YYYY-MM-DD
[OQ-nn][Question][@name]YYYY-MM-DD

12.3 Glossary

TermMeaning
Containment (deflection)Conversation ended without a human agent
Verified resolutionContained conversation with no recontact on the same intent within the window
HandoffTransfer of a conversation to a human with context
Policy engineDeterministic service that applies business rules and limits to proposed actions
CSATCustomer satisfaction score from a post-conversation survey
Idempotency keyIdentifier that makes a repeated request take effect once

12.4 References

ReferenceUse
IMDA, Model AI Governance Framework for Agentic AI, launched 22 January 2026; current Version 1.5 (20 May 2026, updated 5 June 2026), https://www.imda.gov.sg/ (announcement: https://www.mddi.gov.sg/newsroom/singapore-launches-new-model-ai-governance-framework-for-agentic-ai--/)Oversight mapping in 7.5
Regulation (EU) 2024/1689 (AI Act), Article 50, https://eur-lex.europa.eu/eli/reg/2024/1689/ojAI disclosure in 7.5
OWASP Top 10 for LLM Applications 2026, OWASP GenAI Security Project, https://genai.owasp.org/Threat mapping in 9.2
Moffatt v. Air Canada, 2024 BCCRT 149 (British Columbia Civil Resolution Tribunal, 14 February 2024)Box in 7.6
AI Agent Specification Template (ai-data/ai-agent-spec)Agent behaviour specification
Payment Ledger System Design (system-design/design-payment-ledger)Idempotent refunds and reconciliation

Standard and licence note

Based on the Model AI Governance Framework for Agentic AI published by Singapore's Infocomm Media Development Authority (launched 22 January 2026), Article 50 of Regulation (EU) 2024/1689, and the OWASP Top 10 for LLM Applications 2026 by the OWASP GenAI Security Project (https://genai.owasp.org/), licensed under Creative Commons Attribution-ShareAlike 4.0 (https://creativecommons.org/licenses/by-sa/4.0/). The framework's dimensions and the tribunal decision are paraphrased in original words. The OWASP IDs and short names are used for the mapping in 9.2; all descriptions and controls are original text. Because that mapping adapts the OWASP structure, the adapted structure is shared under CC BY-SA 4.0 and any further adaptation must carry the same licence. This is a documentation format, not legal advice. Check the current official version of each framework, law and list before use. Apart from the adapted OWASP structure, the original text is under the template licence. Template licence: MIT.

相关模板