返回 Papers
AI 底层逻辑 / 经典论文

AI Segregation of Duties:双控职责分离架构

监管 nuance:

223ai-foundations/papers/115-ai-segregation-of-duties-dual-control-architecture.md

AI Segregation of Duties / Dual Control Architecture 解读

面向对象: AI Product Architect / AI PM / Senior BA / Solutions Architect / Risk Technology Lead / Internal Audit Partner。 核心问题: AI agent、copilot、analyst、reviewer 和 supervisor 不能因为效率而合并不相容职责。SoD 的重点不是“谁有权限”, 而是“哪些职责不能由同一主体完成”。 学习目标: 建立 maker-checker、four-eyes、dual authorization、independent challenge、conflict-of-interest、entitlement separation、approval-before-action、override ownership 和 audit evidence 的完整控制设计语言。


Source Anchors

SourceLink用途
FFIEC Management booklethttps://ithandbook.ffiec.gov/it-booklets/management.aspx用管理层治理、职责分配、风险管理和控制监督语言定义 AI workflow 的职责边界
NIST AI RMFhttps://www.nist.gov/itl/ai-risk-management-framework用 Govern / Map / Measure / Manage 组织 SoD 风险识别、控制度量和持续改进
ISO/IEC 42001https://www.iso.org/standard/42001用 AI management system 语言连接责任、运营控制、绩效评价和管理评审
Federal Reserve SR 26-2https://www.federalreserve.gov/supervisionreg/srletters/SR2602.htm用模型风险治理、验证、独立挑战和证据语言连接 AI 决策控制

监管 nuance:

  • SR 26-2 于 2026-06-24 发布, 并 superseded SR 11-7 / SR 21-8。
  • SR 26-2 附件说明 generative AI 和 agentic AI 不在该 guidance 的直接范围内。
  • 但金融零售 GenAI / agentic AI 的 SoD 设计仍应组合 model risk、operational risk、identity / authorization、consumer compliance 和 audit evidence。
  • 因此本文不是把 SR 26-2 机械套到 Agent, 而是借用治理、验证、独立挑战和证据思想, 再补上生产 workflow 控制。

一句话:

Segregation of duties prevents efficient automation from becoming concentrated, unchallenged authority.


1. Thesis

AI SoD 不是 generic authorization。

Generic authorization 问:

Can this user or agent perform this action?

Segregation of duties 问:

Should the same user, agent, team, model, reviewer or supervisor be allowed
to prepare, recommend, approve, execute, override and audit the same outcome?

这一区别在 agentic AI 中特别重要, 因为一个 workflow 可能把多个传统角色压缩进同一条自动化链:

AI extracts facts
  -> AI recommends decision
  -> AI drafts customer message
  -> AI requests tool execution
  -> AI self-checks
  -> supervisor agent approves
  -> workflow executes

如果这些步骤没有职责隔离, 系统会形成“自我制造、自我批准、自我证明”的闭环。


2. Why It Matters

金融零售 AI 的伤害往往不是单个回答错误, 而是控制链被压扁:

Collapse具体表现风险
Maker = CheckerAI 生成贷款例外建议, 同一 agent 自动复核错误建议缺少独立挑战
Recommender = ApproverAML assistant 推荐关闭 alert, 同一队列默认批准高风险 case 被低估
Executor = Auditor自动退款 agent 同时生成控制有效性报告证据失真和审计盲区
Operator = Override Owner一线员工既触发 AI 又覆盖审批责任不清和利益冲突
Model Owner = Validator模型团队验证自己的生产控制model risk independence 不足
Vendor = Failure Reviewer供应商自评自身 incident供应商风险和证据偏差

AI 产品追求 frictionless workflow, 但 SoD 的目标是 intentional friction。

好的摩擦会保护客户、机构和员工:

  • 防止未经独立复核的客户影响动作。
  • 防止 agent 自己扩大权限或绕过审批。
  • 防止人类 reviewer 成为形式按钮。
  • 防止 override 没有 owner、理由和证据。
  • 防止审计只能看到一段漂亮自然语言总结。

3. Core Concepts

ConceptDefinitionAI workflow design question
Maker-checker一个主体准备或发起, 另一个独立主体复核或批准AI 生成的建议是否由独立人或控制层审核
Four-eyes关键动作至少两人或两类控制共同确认高影响操作是否需要第二人或第二系统
Dual authorization两个授权主体共同批准执行资金、账户、拒绝、监管提交是否双授权
Independent challenge复核者能挑战假设、证据和结论reviewer 是否只看 AI 结论, 还是看原始证据
Conflict of interest审批者与结果存在经济、绩效或责任冲突sales owner 是否批准信贷例外
Entitlement separation读、草稿、提交、批准、覆盖、审计权限分离agent scope 是否把所有动作打包
Approval-before-action有副作用动作先审批后执行tool call 是否绑定 approval id 和 action hash
Override ownership覆盖 AI 或控制结果的人承担明确责任override 是否有 authority、reason 和 evidence
Audit evidence可复盘输入、输出、版本、审批、执行和结果证据能否证明职责未被合并

4. Reference Architecture

User / Event
  -> Workflow Orchestrator
  -> AI Maker Role: extract, summarize, draft, recommend
  -> SoD Policy Decision Point
  -> Checker Workbench or Control Service
  -> Dual Authorization Gate for high-impact actions
  -> Tool Gateway / Policy Enforcement Point
  -> System of Record
  -> Evidence Ledger
  -> Independent QA / Audit Replay

关键架构原则:

  • Maker 和 checker 是 workflow role, 不一定都是人。
  • Checker 不能只是同一个 prompt 的第二次调用。
  • Supervisor agent 可以辅助检查, 但不能替代高影响动作的人类或独立控制责任。
  • Tool gateway 必须验证 approval state、SoD rule、actor chain、entitlement 和 action hash。
  • Evidence ledger 要能证明谁准备、谁复核、谁批准、谁执行、谁覆盖、谁审计。

5. Financial Retail Case: Payment Dispute Agent

场景:

客户提交信用卡争议。AI assistant 读取交易、商户、客户陈述、规则摘要和历史 case, 推荐是否发放临时贷记并草拟客户通知。

职责拆分:

StepMakerChecker / approverSoD rule
Evidence summaryAI dispute assistantdispute specialist sample QAAI 可做 maker, 不可认证充分性
Eligibility recommendationAI + rules servicehuman dispute specialistAI 不可最终批准
Provisional credit proposalfrontline analystsupervisor or dual approval above threshold金钱动作需要独立批准
Customer denial draftAI draftscomplaint-trained reviewer客户可见负面结论需复核
Override AI recommendationspecialistreason code + supervisor review for material overrideoverride 需要 owner
Execute creditpayment tool gatewayapproval-bound executionexecutor 不得绕过 checker
Control testingoperations QAindependent QA / audit sampleoperator 不测试自身有效性

设计判断:

  • 低金额、低风险、证据充分的内部分类可自动化。
  • 客户资金动作、拒绝争议、投诉升级、欺诈信号和监管 deadline 不应由同一 AI chain 自我批准。
  • Agent 可以缩短准备时间, 但不能消除 independent challenge。

6. PM / BA / Architect Checklist

  • 是否列出了完整 duty inventory, 而不是只列 API permission。
  • 是否标出 maker、checker、approver、executor、override owner、auditor。
  • 是否定义 incompatible duty pairs。
  • 是否区分 human、agent、supervisor agent、service account、vendor reviewer。
  • 是否把 SoD rule 放进 policy engine 或 workflow gate, 而不是只写在培训材料。
  • 是否把 read、draft、submit、approve、execute、override、audit scope 分开。
  • 是否对高影响动作使用 approval-before-action 和 action hash。
  • 是否检测同一用户、同一 agent、同一团队、同一模型 owner、同一 vendor 的冲突。
  • 是否定义 override authority、reason taxonomy 和 second review。
  • 是否有 dashboard 监控 SoD violation、checker workload、override concentration 和 audit replay。

7. Code-Lite Experiment

目标: 用一个小规则引擎模拟 SoD gate。

def sod_decision(actor, action, case):
    if action["type"] == "approve" and actor["id"] == case["maker_id"]:
        return "deny: maker cannot approve own work"
    if action["type"] == "execute" and not case.get("approval_id"):
        return "deny: execution requires approval"
    if action["type"] == "override" and actor["role"] not in case["override_roles"]:
        return "deny: actor lacks override authority"
    if action["type"] == "approve" and actor["team"] == case["sales_team"] and case["domain"] == "credit_exception":
        return "escalate: conflict of interest"
    return "allow"

8. Interview Questions

Q1: SoD 和普通授权有什么区别?

30 秒:

普通授权问“这个主体能不能做某个动作”。SoD 问“这个主体是否应该同时承担准备、建议、批准、执行、覆盖和审计这些不相容职责”。AI 场景里, 最大风险是 agentic workflow 把 maker、checker、executor 和 auditor 压缩成一条自动化链。

Q2: 如何设计 AI maker-checker?

我会先做 duty inventory, 把 extract、recommend、draft、approve、execute、override、audit 拆开。AI 可以作为 maker 生成证据包和建议, checker 必须能看到原始证据、policy result、客户影响和不确定性。高影响动作进入 dual authorization, 执行工具只接受绑定 approval id 和 action hash 的请求。

Q3: Supervisor agent 能不能作为 checker?

可以作为低风险一致性检查、格式检查或策略预筛, 但不能默认替代独立人类或独立控制职能。对于资金、账户、信贷、AML、投诉和客户可见负面结论, supervisor agent 应被视为控制层的一部分, 但仍要有 SoD policy、人工权限、证据和审计。

Q4: 如何证明 SoD 控制有效?

要有 evidence ledger, 能重建 maker、checker、approver、executor、override owner、policy decision、approval packet、tool result 和 audit sample。Dashboard 要看 SoD violation attempts、same-actor block、override concentration、rubber-stamp approval、checker SLA、dual-control exception 和 audit replay success。


9. Common Pitfalls

PitfallWhy it failsBetter design
“Human approves” but no independence人可能是 maker 本人或同一绩效链route by role, team, case relationship and conflict rule
Second LLM checks first LLM同一模型和上下文可能共享盲点use independent evidence, rules, reviewer and audit sampling
Broad admin scoperead / write / approve 混在一起split entitlement by duty and workflow state
Approval not bound to action参数可在批准后变化action hash, single-use approval token
Override without reason看不出控制是修正还是绕过structured reason, authority, second review
Audit trail is narrative only无法重放事实、版本和审批event schema and immutable evidence ledger
Vendor self-certifies control独立挑战不足internal acceptance, contract evidence, audit sample