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

NIST GenAI Profile (NIST AI 600-1)

Day 151(OCC 2026-13,内部模型验证)+ Day 152(EU AI Act,对外披露义务)给了我们「流程」与「合规义务」两套框,但都没有给出一份具体的 GenAI 风险清单——幻觉、信息完整性、危险内容这些 LLM 专属风险该挂到哪里。NIST AI 600-1(GenAI Profile)补的就是这一块。今天在 B16 曲线上的动作是:把本仓已建的 failureTaxonom

阶段: B16 · 治理一页纸 + AI 原型 + 可用性(Day 151-160) 标签: #nist-ai-600-1 #genai-risk #failure-taxonomy #risk-coverage

今日导引(由浅入深)

Day 151(OCC 2026-13,内部模型验证)+ Day 152(EU AI Act,对外披露义务)给了我们「流程」与「合规义务」两套框,但都没有给出一份具体的 GenAI 风险清单——幻觉、信息完整性、危险内容这些 LLM 专属风险该挂到哪里。NIST AI 600-1(GenAI Profile)补的就是这一块。今天在 B16 曲线上的动作是:把本仓已建的 failureTaxonomy.ts(B14 产物)逐条挂到 600-1 的 12 类风险,统计覆盖率,看哪些风险没有对应控制。这是从「我有评测」到「我能证明评测覆盖了权威风险清单」的一步。今天的最小可判定产出:风险覆盖表 + X/12 覆盖率数字写入 GOVERNANCE_MAP。

1. 机理精读

NIST AI 600-1 把通用 RMF 落到 GenAI。 NIST AI RMF 1.0(2023)是通用框架,四大功能 Govern / Map / Measure / Manage。但通用框架对「LLM 会幻觉、会泄密、会生成危险内容」这些 GenAI 专属风险讲得不够具体。NIST AI 600-1(Generative AI Profile,2024-07) 就是 GenAI 专用 profile:它列出 12 类 GenAI 风险,并把每一类挂到 Govern / Map / Measure / Manage 四功能下的具体控制建议。

12 类风险的清单。 NIST AI 600-1 列的 12 类 GenAI 风险(编号便于映射):

  1. CBRN 信息或能力
  2. Confabulation(即幻觉/编造)
  3. 危险、暴力或仇恨内容
  4. 数据隐私
  5. 环境影响
  6. 有害偏见与同质化
  7. 人机配置 / automation bias(过度信任)
  8. 信息完整性(information integrity)
  9. 信息安全
  10. 知识产权
  11. 淫秽 / 虐待 / 非自愿内容(CSAM 等)
  12. 价值链与组件集成

AML LLM 场景里命中最狠的是 #2 confabulation(SAR 引用了不存在的交易=凭空捏造证据)与 #4 数据隐私(PII 泄露),其次是 #8 信息完整性(误判类型学)、#7 automation bias(调查员过度信任 AI 结论)、#12 价值链(依赖第三方 GPAI)。#1/#5/#10/#11 在 AML 场景天然不相关,做 gap 分析时不应硬算「待补」。

为什么必须用 600-1 而不是只引 RMF 1.0 核心。 RMF 1.0 核心是「方法论骨架」,但它不告诉你「LLM 会幻觉」该归到哪。600-1 把抽象的「Measure」具体化成「针对 confabulation 你要做什么测量」。对 AML SAR 这种高敏 GenAI 场景,只引 RMF 1.0 而不引 600-1,等于有了治理框架却漏掉了 GenAI 专属风险清单——审查人一眼能看出。

四功能 Govern / Map / Measure / Manage 在本仓的落点。 600-1 把每类风险挂到四功能下,本仓对应:

  • Govern(治理职责/政策)→ docs/AML_GOVERNANCE_MAP.md 的 RACI + ADR(Day 154)。
  • Map(识别上下文与风险)→ failureTaxonomy.ts 的 6 类失败定义本身就是「识别」产物。
  • Measure(测量风险)→ evalChecks.ts(确定性检查)+ cohensKappa.ts(裁判校准)+ groundTruthEval.ts(recall/precision/FPR)。
  • Manage(处置/缓解)→ hitl.ts(人审兜底)+ gate.ts(fail-closed 拦截退化)+ 对抗 eval 的红队。

四功能里本仓最强的是 Measure(已有多套确定性 + 统计检查),最弱、最依赖外部数据的是 Measure 的「真值」(金标待下载、κ 待手标)——这正是诚实 gap。

覆盖率分析是核心动作。 把本仓的失败分类法(failureTaxonomy.ts 的 6 类)逐条映射到 600-1 的 12 类,能回答两个问题:(1) 本仓 taxonomy 覆盖了 12 类中的哪几类(X/12);(2) 哪些 600-1 风险没有对应控制(gap)。后者比前者更有价值——它是「下一步该补什么控制」的输入。例如本仓 taxonomy 强在 confabulation(hallucination 类)、信息完整性(typology_misjudge)、格式/契约,但对「环境影响」「CBRN」「知识产权」等类目天然不命中(AML 场景不相关),而「automation bias」(人机配置)则由 hitl.ts 的 HITL 闸门覆盖——需逐条勾对后给出准确的 X/12。

边界:600-1 是风险清单 + 控制映射,它不规定生效日期(那是 AI Act 的事,Day 152),也不规定验证流程独立性(那是 MRM 的事,Day 151)。三者各管一段,Day 154 收敛。

资源出处:NIST AI 600-1 Generative AI Profile(2024-07)。

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

本日的覆盖率统计依赖真实的 src/aml/failureTaxonomy.ts。逐条走读其真实符号与归类(用于映射 600-1):

  • FAILURE_TAXONOMY 是只读 6 类常量,每类有稳定 id(进 CI/看板的 key):tool_failurehallucinationcontext_pollutionretrieval_missformat_violationtypology_misjudge
  • 映射到 600-1 的对应关系(逐条勾对)
    • hallucination(「SAR 引用本案不存在的交易 id/金额」,severity=critical)→ confabulation / 信息完整性
    • typology_misjudgeassessCase().topTypology ≠ case.label,severity=high)→ 信息完整性(误报/漏报)。
    • context_pollution(把良性噪声当证据,severity=high)→ 信息完整性 / 人机配置(automation bias 抬高误报)。
    • retrieval_miss(核心证据交易未召回,severity=high)→ 信息完整性 / 价值链(检索组件局限)。
    • tool_failure(下游工具抛错/超时/结构非法,severity=critical)→ 价值链与组件集成 / 信息安全
    • format_violation(段落不足、金额非两位、缺诚实标注,severity=medium)→ 信息完整性 / 人机配置
  • isBenignNoise(memo, channel) 是确定性谓词(channel==='card' 或 memo 属「工资代发/账单代扣/日常消费」即良性噪声),它让 context_pollution 的判定可代码化——对应 600-1 的 Measure 功能:风险要能被确定性测量。
  • suggestFailureClasses(c, assessment, sar) 把上述 decisionRule 串起来给标注者建议命中类(hallucination/context_pollution/format_violation/typology_misjudge)——它是「建议非自动判定」,真正 critical 判定走 evalChecks 的确定性检查。
  • gap 识别:600-1 的「数据隐私(PII 泄露)」并不在这 6 类失败里(它由对抗 eval 的 PII masking 任务覆盖,见 src/agent/eval/tasks.ts),所以做覆盖率时要把「跨文件控制」也算进来,避免低估 X/12。
  • FailureLabel 接口failureTaxonomy.ts 还定义了开放编码标注记录 {caseId, classId, note, annotator: 'human' | 'llm-judge'}——它区分人工与 LLM 标注,呼应「关键评分保留人工」(2026-01)。这正是把 600-1 的 Measure 落到「谁来测、用人还是 LLM」的具体契约。

6 类 taxonomy → 12 类 600-1 的映射表(落 GOVERNANCE_MAP 用)。

本仓失败类(severity)600-1 风险类证据/检查
hallucination(critical)#2 confabulation / #8 信息完整性evalChecks: cited_tx_exist
typology_misjudge(high)#8 信息完整性evalChecks: top_typology_consistent + 金标
context_pollution(high)#8 信息完整性 / #7 automation biasisBenignNoise() 谓词
retrieval_miss(high)#8 信息完整性 / #12 价值链citedTxIds 非空下界守卫
tool_failure(critical)#12 价值链 / #9 信息安全error 字段/契约字段检查
format_violation(medium)#8 信息完整性evalChecks 确定性检查
(跨文件)PII masking#4 数据隐私src/agent/eval/tasks.ts
(跨文件)HITL 闸门#7 automation biassrc/aml/hitl.ts canAutoFile()===false

X/12 的最终数字按上表 + 跨文件控制逐条勾对后写入 GOVERNANCE_MAP(不臆造具体数);天然不相关的 #1/#5/#10/#11 不计入待补 gap。

3. 今日实战

  1. 打开 src/aml/failureTaxonomy.ts,把现有 6 类失败逐条挂到 NIST AI 600-1 的 12 类风险(按上节映射)。
  2. 把「跨文件控制」一并计入:PII 隐私 ← src/agent/eval/tasks.ts 的 PII masking;automation bias ← src/aml/hitl.ts HITL 闸门。
  3. 统计覆盖率 X/12(有几类被本仓控制覆盖),并列出未覆盖且相关的 gap。
  4. 把映射表 + X/12 覆盖率数字写入 docs/AML_GOVERNANCE_MAP.md(已含 NIST-AI-600-1 行,本日补具体映射)。

4. 今日实测 / 产出

  • 风险覆盖表 + 覆盖率数字(X/12 类)——failureTaxonomy.ts 已存在,映射为文档对齐工作 ✅ 可落地;具体 X/12 数字按 taxonomy 实际类目逐条勾对后写入。
  • 不臆造具体覆盖率数;X/12 以实际勾对结果为准,跨文件控制(PII/automation bias)一并计入避免低估。
  • GOVERNANCE_MAP 已含「NIST AI RMF — GenAI Profile (NIST-AI-600-1, 2024-07)」行(Govern/Map/Measure/Manage across the 12 GenAI risks)。

本日自检清单(可勾对)。

  • 6 类 taxonomy 全部映射到 ≥1 个 600-1 风险类。
  • 跨文件控制(PII #4、automation bias #7)已计入,避免低估 X/12。
  • 天然不相关类目(#1/#5/#10/#11)排除出待补 gap。
  • X/12 精确数字——按实际类目勾对后填,不臆造。

5. 常见误区 / 陷阱

  • 只引 AI RMF 1.0 核心而忽略 600-1 的 GenAI 专属 12 类——AML LLM 场景必须用 GenAI Profile,否则漏掉 confabulation/PII 等关键风险。
  • 做覆盖率时只数本文件 6 类,漏算跨文件控制——PII、automation bias 由别的模块覆盖,只看 failureTaxonomy.ts 会低估 X/12。
  • 把不相关类目(CBRN/环境影响)硬算「未覆盖 gap」——AML 场景天然不命中的风险不应计入待补 gap,否则虚增工作量。
  • suggestFailureClasses 当自动判定器——它只给标注建议,真正 critical 判定走 evalChecks 确定性检查。
  • 覆盖率高就以为「风险已控」——映射只证明「我考虑了这类风险」,不证明「控制有效」;有效性要靠 Measure 的真值(金标 + κ),而这部分仍 gated。

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

  • NIST AI 600-1 Generative AI Profile(2024-07)——本日 12 类 GenAI 风险与控制映射来源。
  • NIST AI RMF 1.0(2023-01)——通用框架底座,600-1 在其上落 GenAI。
  • Hamel Husain + Shreya Shankar evals 工作流(开放编码→轴向编码→LLM-as-judge,Lenny's Newsletter / hamel.dev,2025-09)——本仓 failureTaxonomy.ts 方法论出处。
  • 「LLM 模拟用户是不可靠代理,关键评分保留人工」(2026-01)——FailureLabel.annotator 区分人工/LLM 的依据。
  • OCC Bulletin 2026-13(2026-04)+ EU AI Act Omnibus(2026-04~06)——Day 151-152 互补框。
  • 本仓 src/aml/failureTaxonomy.ts + docs/AML_GOVERNANCE_MAP.md(2026-06)——代码与文档交叉引用。

SOTA检查 (2026-06 更新)

  • 当前主流方案:NIST AI 600-1(2024-07)仍是当前 GenAI 风险权威 profile,未被取代,current;12 类风险 + Govern/Map/Measure/Manage 映射为行业事实标准。
  • 是否仍 SOTA:是。2026-06 无替代版本发布。
  • 过时黑名单(AVOID):只引 AI RMF 1.0 核心而忽略 600-1 的 GenAI 专属 12 类——AML LLM 场景必须用 GenAI Profile;把「映射覆盖率」当「控制有效性」。
  • 下次复查点:复查 NIST 是否发布 600-1 更新版或配套 measurement 指南(NIST 近年节奏快);2026-08-02 与 AI Act Art.50 一并复查披露相关风险类目(#8 信息完整性、#4 数据隐私)。

衔接

  • 昨天:Day 152 — EU AI Act Omnibus 时间线(建 governance_dates,锁定 Art.50 2026-08-02 披露义务)。
  • 今天:把本仓 6 类失败分类法挂到 NIST 600-1 的 12 类 GenAI 风险,统计 X/12 覆盖率,识别 gap。
  • 明天:Day 154 — 一页纸治理设计(把 OCC 2026-13 + AI Act Art.50 + NIST 600-1 三框收敛成单页 RACI + 8 控制点 + ADR)。