返回 AICAP-180
B16 · Day 157治理一页纸 + AI 原型 + 可用性

AML 面板信息架构

昨天(Day 156)确立了方法——真人 think-aloud 5 人法 + AI 原型工具,并把它用在 harness 面板上。今天把同一套方法搬到本项目的金融旗舰作品 AML Copilot 上:先解决「信息架构」——调查员的任务流是怎样线性流动的、AI 结论的证据链在哪个环节必须可见、SAR 草稿哪里必须可编辑可追溯。在 B1→B18 曲线上,这是把 B15 已经建好的硬约束(hitl.t

阶段: B16 · 治理一页纸 + AI 原型 + 可用性(Day 151-160) 标签: #information-architecture #aml #hitl #usability

今日导引(由浅入深)

昨天(Day 156)确立了方法——真人 think-aloud 5 人法 + AI 原型工具,并把它用在 harness 面板上。今天把同一套方法搬到本项目的金融旗舰作品 AML Copilot 上:先解决「信息架构」——调查员的任务流是怎样线性流动的、AI 结论的证据链在哪个环节必须可见、SAR 草稿哪里必须可编辑可追溯。在 B1→B18 曲线上,这是把 B15 已经建好的硬约束(hitl.tscanAutoFile()=false)第一次「显式呈现到 UI 层」——让不可自动报送这条法律红线变成被试肉眼可见的设计。今天的最小可判定产出:AML 面板原型 v1 链接 + 5 个覆盖四段流程的 think-aloud 任务脚本。

1. 机理精读

AML 调查员的任务流是线性四段:证据汇集 → 类型学比对 → SAR 草稿 → HITL 复核。 信息架构(IA)的任务,就是让界面的空间结构精确映射这条时间流程,让调查员永远知道「我在第几段、上一段的结论凭什么、下一段需要我做什么」。这套四段流来自 FIS×Anthropic AML Copilot 参考模式(2026-05)——证据汇集→类型学比对→SAR 草稿→HITL→审计轨迹。

两个可用性高危点。 经验上,IA 最容易出问题的不是首尾,而是中段的两个「凭据可见性」节点:

  1. 类型学比对凭据是否可见。 AI 说「这是 structuring(结构化拆分)」,调查员必须能立刻看到「凭哪几笔交易、命中哪条规则、贡献分多少」。如果结论是个黑箱标签,调查员既无法采信也无法反驳——这违反治理一页纸(Day 154)要求的「可被有效挑战」。
  2. SAR 草稿可编辑 / 可追溯。 草稿不是终稿。调查员要能改字、要能看到每段引用了哪几笔交易(citedTxIds),改动要进审计轨迹。一个只读、不可追溯的草稿,等于逼调查员在 Word 里重写,AI 价值归零。

为什么 IA 决定可用性的天花板。 交互细节(按钮颜色、间距)可以后调,但信息架构错了——比如把审计轨迹藏在三层菜单下、把证据链和结论分屏放——是结构性缺陷,think-aloud 时被试会在这里集体卡壳。这也是为什么今天先定 IA、再做交互。一个量化直觉:交互细节问题在 NN/g 严重度量表上多落 1-2 级(小问题),而 IA 结构问题常落 3-4 级(大/灾难)——结构错了,再精致的交互也救不回来。

线性流 vs 自由探索的取舍。 AML 调查员任务是强线性的(证据→比对→草稿→复核),所以 IA 用「四段进度引导」而非「仪表盘式自由跳转」。但线性不等于锁死:调查员随时要能回看上一段证据(如写草稿时回查某笔交易),所以四段之间要可双向回溯,只是「报送」这一步被状态机锁在 approved 之后。这是「引导式线性流 + 局部自由回看」的混合 IA,比纯线性向导或纯自由仪表盘都更贴合真实调查工作。

与硬约束的关系(本日内核)。 整个面板必须忠实呈现 hitl.ts 已经 built 的硬约束:canAutoFile() 是 typed falsefile() 只能在 approved 状态后调用。UI 上绝不能出现「一键自动报送」按钮——SAR 是法律文书,必须经人审。原型的 IA 必须让「人审 approve → 才能 file」这条状态流在视觉上不可绕过。

IA 的三个评判维度(用于 think-aloud 编码)。 信息架构好不好,可拆成三个可观察维度:

  • 可发现性(findability):调查员能否在不被告知路径的情况下找到目标信息(如审计轨迹)。
  • 可理解性(comprehension):找到后能否正确解读(如「pending_review」是不是「已报送」的误读)。
  • 可信任性(trust):AI 结论旁有没有可追溯的证据,让调查员敢采信或敢反驳。

这三维度恰好对应今天的两个高危点:类型学比对凭据可见 = 可信任性;SAR 草稿可追溯 = 可理解性 + 可信任性。

与「上下文工程」叙事的边界。 值得强调:AML Copilot 的证据呈现不是「RAG 检索片段拼给用户看」。证据必须可追溯到具体交易 ID(citedTxIds),而不是「相关度 0.82 的某段文本」。RAG-centric 的「检索即结论」在合规场景是反模式——审计要的是「凭哪笔交易」,不是「凭哪段相似文本」。这条边界呼应了 B16-B18 一贯的 context-engineering 取代 RAG-centric 叙事。

资源主线:FIS×Anthropic AML Copilot 模式(2026-05),当前 AML GenAI 参考叙事。

2. 推导 / 手算 / 代码走读

今天有两个真实代码载体需要走读:src/aml/hitl.ts(SAR 状态机,硬约束源)与 src/aml/sarDraft.ts(草稿生成器,证据链源)。

src/aml/hitl.ts 走读(SAR 人审状态机,纯函数、时间注入、无 key 可测):

  • SarState 五态:'draft' | 'pending_review' | 'approved' | 'returned' | 'filed'——IA 必须把这五态做成可见的进度指示。
  • newSar(now) 起始于 draft,并写第一条审计 draft_created
  • submitForReview(r, now) 只允许从 draftreturned 进入 pending_review,否则 throw——「提交复核」按钮在其它状态下应禁用。
  • approve(r, officer, now) 严格要求当前态为 pending_review,否则报错「needs human review first」——这是 HITL 闸门的前半。
  • file(r, now) 是闸门后半:注释明写「File to FinCEN — ONLY allowed after a human approval」,若状态非 approved 直接 throw 'SAR can only be filed after human approval (HITL gate)'
  • canAutoFile(): false 返回字面量类型 false——「Typed false so no caller can flip it on」,调用方在类型层面就无法把它翻成 true。UI 上不存在合法的自动报送路径。

hitl.ts 状态转移表(IA 顶部进度条按此渲染,非法跳转一律 throw):

起始态动作目标态守卫
draftsubmitForReviewpending_review仅 draft / returned 可入
returnedsubmitForReviewpending_review同上
pending_reviewapprove(officer)approved仅 pending_review
pending_reviewreturnToDraft(officer, reason)returned仅 pending_review
approvedfilefiled仅 approved(HITL 闸门)
任意非法throw Error

读这张表,UI 设计自然落地:进度条五格,当前态高亮;「提交复核」「批准」「退回」「报送」四个动作按钮,按当前态启用/禁用——file 按钮只在 approved 态亮起。returned → submitForReview 这条回环说明退回不是死路,可重新提交,UI 要画出这条回边。

src/aml/sarDraft.ts 走读(草稿生成器,IA 里证据卡 + SAR 草稿区的数据来源):

  • 文件头诚实标注:W1 原型为「规则模板生成(非 LLM)」,按 FinCEN SAR 叙述 5W1H 结构拼装段落;LLM 版在 P3 接入。原型 UI 必须照搬这条标注。
  • draftSar(c, assessment) 输出 SarDraft,其 generatedBy: 'rule-template' 字段——IA 的「来源标签」直接读它,不能假装是 LLM。
  • 草稿分六段:引言/告警概述、主体身份 (Who)、可疑活动描述 (What/When/Where)、可疑原因 (Why)、作案手法 (How)、总结建议——SAR 草稿区按这六段排版即是天然 IA。
  • citedTxIds = dedupe(assessment.hits.flatMap(h => h.evidenceTxIds)):每段引用的证据交易 ID 去重后挂在草稿上——这是「类型学比对凭据可见」的数据钩子,证据卡按 citedTxIds 渲染。
  • 引言段固定写入「基于合成数据,由规则模板引擎自动生成(非 LLM 输出),仅作产品原型示意,最终内容须经调查员人工复核」——原型不得删这句。

sarDraft.ts 六段草稿与 5W1H 的映射(IA 的中央区天然结构):

草稿段对应 5W1H数据来源
一、引言与告警概述— + 诚实标注c.alertReason + assessment.topTypology
二、主体身份Whoc.parties / c.accounts + riskFlags
三、可疑活动描述What/When/WherecitedTxs(按 dayOffset 排序、渠道汇总)
四、可疑原因Whyassessment.hits + scores + threshold
五、作案手法分析HowTYPOLOGY_METHOD[topTypology] 模板
六、总结与后续建议topScore + 复核建议

注意第三段对 citedTxs 只展示前 6 笔(citedTxs.slice(0, 6)),其余写「详见证据交易清单」——IA 上左栏证据卡要承接这「其余 N 笔」的下钻入口,否则被试会以为只有 6 笔证据。

结论:面板 IA = hitl.ts 五态进度条(顶层导航)+ sarDraft.ts 六段草稿(中央可编辑区)+ citedTxIds 驱动的证据卡(左侧凭据栏)+ audit 时间线(右栏)。

3. 今日实战

  1. 用 v0 给 AML Copilot 做真原型 v1,三栏布局:左=证据卡(按 sarDraft.ts 的 citedTxIds 渲染交易凭据)、中=SAR 草稿区(六段、可编辑)、右=审计轨迹(按 hitl.tsaudit: AuditEvent[] 时间线渲染)。
  2. 顶部放 hitl.ts 五态进度条;「报送 FinCEN」按钮在状态非 approved 时禁用并提示「需先经人工 approve」——把 canAutoFile()=false 显式做进 UI。
  3. 草稿区每段旁挂「引用 N 笔交易」徽标,点击高亮左栏对应证据卡——实现「类型学比对凭据可见」。
  4. 写 5 个 think-aloud 任务脚本,逐一覆盖四段流程:证据汇集(找出告警依据的交易)→ 类型学比对(说出 AI 判定了哪种类型学、凭什么)→ SAR 草稿(修改一段并看它进不进审计)→ HITL(尝试在未 approve 时报送,观察是否被拦)→ 审计追溯(找出谁在何时做了什么)。
  5. 原型链接 + 5 脚本登记入 docs/AML_GOVERNANCE_MAP.md 可用性章节,待 Day 158-159 跑真人。

5 个 think-aloud 任务脚本(覆盖四段流程 + HITL 闸门):

  1. 证据汇集:「找出触发这条告警的可疑交易,告诉我它们为什么可疑。」
  2. 类型学比对:「AI 把这案判成了哪种类型学?它凭哪几笔交易?」(测凭据可见性)
  3. SAR 草稿:「把『可疑原因』那段改一个字,然后确认这次改动有没有进审计。」(测可追溯)
  4. HITL 闸门:「在调查员还没批准前,试着把这份 SAR 报送出去——看看会发生什么。」(应被拦)
  5. 审计追溯:「告诉我这份 SAR 现在是什么状态,以及谁在什么时候对它做了什么。」

4. 今日实测 / 产出

  • AML 面板原型 v1 链接 + 5 任务 think-aloud 脚本 — 待 UI 工具产出(UI-tooling-gated)
  • 底层真实约束已 builthitl.ts SAR 状态机(canAutoFile()=falsefile() 必须人审 approve)✅。
  • 原型须如实展示此「不可自动报送」硬约束,并保留 sarDraft.ts 的「规则模板生成 / 非 LLM / 须人工复核」标注。

5. 常见误区 / 陷阱

  • 把 SAR 草稿设计成「一键自动报送」。 违反 HITL 与 hitl.tscanAutoFile()=false 硬约束;SAR 是法律文书,状态机强制 approved → file
  • 类型学结论给标签不给凭据。 调查员无法采信也无法挑战;必须把 citedTxIds 证据链摆在结论旁。
  • 草稿区做成只读。 等于逼调查员去别处重写,AI 价值蒸发;草稿必须可编辑且改动入审计。
  • 删掉 sarDraft.ts 的「非 LLM / 须人工复核」诚实标注。 让原型看起来比实际更智能,是这套笔记的诚信红线。
  • 把审计轨迹藏进三级菜单。 审计是合规面板的一等公民(hitl.ts 每个动作都写 audit),藏深了等于没有;右栏常驻可见。
  • 「pending_review」文案让人误以为已报送。 状态文案要无歧义区分「待人审」与「已报送 FinCEN」,否则被试在 think-aloud 会读错状态。

6. 学习资源(每条带 YYYY-MM)

  • FIS × Anthropic, AML Copilot 参考模式公开材料(2026-05)— 四段任务流主线。
  • NN/g, "Information Architecture: Study Guide"(2024 复核版)— IA 与任务流映射。
  • FinCEN SAR 叙述编写指引(Form 111 / 5W1H 结构,FinCEN 官方,长期有效)— 六段草稿结构来源。
  • NN/g, "Information Architecture: Study Guide"(2024 复核版)— 可发现性/可理解性/可信任性三维。
  • 本仓代码:src/aml/hitl.tssrc/aml/sarDraft.ts(2026 当前实现)— 硬约束与证据链数据源。

SOTA检查 (2026-06 更新)

  • 当前主流:FIS×Anthropic(2026-05)是当前 AML GenAI 的参考模式,证据汇集→类型学→SAR→HITL→审计五环节 current。
  • 是否仍 SOTA:是。HITL + 审计轨迹 + 证据链可见是合规型 GenAI 的硬性 IA 要求,未被取代。
  • 过时黑名单
    • AVOID 把 SAR 设计成「一键自动报送」——违反 HITL 与 hitl.tscanAutoFile()=false
    • AVOID RAG-centric 的「检索即结论」叙事——证据必须可追溯到具体交易 ID 而非检索片段。
    • AVOID 删掉 sarDraft.ts 的「非 LLM / 须人工复核」诚实标注——让原型显得比实际智能。
  • 下次复查点:2026-08-02 EU AI Act Art.50 透明度义务生效,复查面板是否需补「AI 生成内容」披露标识;P3 接入 LLM 版 SAR 后,复查 generatedBy 标签是否如实从 rule-template 改为 LLM 来源。

衔接

  • 昨天:Day 156 — 原型工具与可用性测试法(NN/g),用 5 人法 + AI 原型工具测 harness 面板。
  • 今天:把方法用到 AML Copilot 四段任务流,IA 忠实呈现 hitl.ts 的不可自动报送硬约束。
  • 明天:Day 158 — 跑 think-aloud 第 1 批,招 3 人对 harness 与 AML 两块原型做真人测试。