AI 物料清单:追踪实际运行的内容
Tech
AI
AI Engineering
Supply Chain Security
MLOps

AI 物料清单:追踪实际运行的内容

一份实用的构建时与运行时清单,用于记录模型、数据集、API、代理工具和未解决的依赖项。

Uygar DuzgunUUygar Duzgun
Jul 28, 2026
更新於 2026年8月13日
18 min read

AI 物料清单只有在能够回答两个问题时才有用:部署前声明了什么,以及在某次决策、事故或审计发生时,实际上运行了什么。一个无法同时回答这两个问题的有效 JSON 文件,只是在进行库存表演。

实用的设计是配对清单。在构建或采购期间生成基于标准的记录,在运行时观察实时系统,为每个字段保留证据,并对两者进行差异比较。当关键模型、数据集、运行时、API、代理工具或许可证未解决时,阻止发布。

读者级别: 高级。本指南面向运营基于模型的系统的工程师、安全团队、平台负责人和技术治理负责人。

目录

AI 物料清单应回答什么问题

AI 物料清单通常简称为 AIBOMAI BOM,是 AI 系统组件及其背后证据的机器可读清单。它将传统软件物料清单从软件包和库扩展到了更多内容。

清单应让审查人员能够回答:

哪个模型及其不可变修订版本处理了该请求?
涉及哪些分词器、适配器、量化方法、运行时和容器?
声明了哪些训练、微调、评估和检索数据集?
哪些外部 API、代理工具、向量存储和模型网关可能影响行为?
适用哪些许可证、使用限制、已知局限和评估条件?
哪些值来自签名来源,哪些由团队声明,哪些由扫描器推断,哪些仍然未知?
已批准的构建与实时部署之间发生了什么变化?

CycloneDX 介绍了其 AI/ML-BOM 能力,用于表示模型、数据集、配置、来源和依赖项。SPDX 3.0.1 也定义了 AI 配置文件,用于 AI 专属元数据。这些是可互操作的数据模型,但不能替代缺失的证据本身。

模型卡回答的是一个更窄的问题:这个模型 intended 做什么、如何评估,以及可能在哪些地方失败。最初的 Model Cards 论文提出了涵盖预期用途、评估条件以及相关群体表现的文档。数据卡记录数据集的来源、收集和标注、预期用途,以及影响下游性能的决策;Data Cards 论文总结了 20 多次部署中的经验。

两者都应保留。模型卡或数据卡提供人工上下文。AIBOM 则将这些文档连接到版本化的系统清单。

为什么有效的 AIBOM 文件仍可能包含薄弱证据

一项发表于 2026 年 7 月的研究大规模测试了这种区别。作者收集了 2,942,466 条公开 Hugging Face 模型记录的快照,保留了下载量超过 100 次的 97,940 个模型,并使用 OWASP AIBOM Generator 生成 CycloneDX AIBOM。他们根据生成器的报告检查了 100 个工件的样本,然后测量了完整数据集中的字段存在情况。

报告的平均完整度得分为 54.31(满分 100)。生成工件中必需的结构字段存在率为 100%。模型卡文档的平均存在率为 19.51%。

这个差距才是重要结果。文件在结构上可以有效,但决策所需的信息可能缺失。

字段级结果更加明显:

生成的 AIBOM 中的字段存在率
------:
许可证73.14%
数据集39.35%
超参数25.40%
技术限制16.74%
安全风险评估9.76%
有意义的描述0.22%
能耗0.02%

描述字段几乎出现在每个工件中,但 97,940 条描述中只有 211 条包含超出占位文本的信息。模式存在性检查会将其余描述也计为完整。

作者测量了什么: 从经过筛选的公开 Hugging Face 快照生成的 AIBOM 中,字段和类别的覆盖率。

作者推断了什么: 模型卡和外部引用文档在很大程度上造成了薄弱工件与更强工件之间的差异。

作者没有确立什么: 任何模型是否安全、公平、性能良好、法律上可用,或适合特定部署。

作者还警告说,他们的结果取决于 Hugging Face API、生成器提取逻辑,以及排除下载量不超过 100 次模型的快照。私有注册表、受限模型、其他托管平台以及之后的仓库变化可能呈现不同结果。他们的结果支持语义验证,但并未设定通用的分数阈值。

构建时清单和运行时清单解决的是不同问题

构建时 AIBOM 记录意图。运行时清单记录观察结果。

问题构建时证据运行时证据
---------
应该发布哪个模型?锁定文件、清单、采购记录、模型摘要已加载的模型 ID、端点、镜像摘要、服务配置
应该提供哪些数据?训练和评估声明、已批准的检索来源已连接的向量存储、挂载的数据集、实时数据服务
代理可以调用哪些工具?工具注册表、策略、已声明的 MCP 服务器和 API已发现的端点、活动集成、观测到的配置
哪些软件支持推理?软件包和容器 SBOM正在运行的镜像、运行时、驱动、加速器
哪些限制适用?许可证、模型卡、数据卡、合同引用当前提供商、区域、路由、策略版本
已批准的系统是否发生漂移?用于比较的基线与基线进行差异比较的证据

仅有构建时证据会遗漏紧急变更、影子部署、可变标签、提供商重新路由和配置漂移。仅有运行时观察则可能只能看到进程名称或端点,却不知道其已批准用途、许可证、训练来源或评估边界。

Google 于 2026 年 7 月 14 日开源了 k8s-aibom,用于探索运行时侧。该控制器监视 Kubernetes 工作负载和 Pod 状态,应用检测规则,并生成 CycloneDX 1.6 ML-BOM 文档。其文档化覆盖范围包括推理运行时、代理框架、向量数据库、训练任务和评估工具链。它无需特权 DaemonSet 或内核访问权限即可运行。

该项目提出了一个有用的架构观点:构建时和运行时 AIBOM 是互补的。它也仍属于早期软件。仓库将 v1.0 标记为 alpha,适用于非关键的观察场景。它没有提供托管镜像或 Helm 仓库,其当前的 `NoopVerifier` 也无法将身份标记为经过加密验证。

一位 NVIDIA AICR 维护者提出了 k8s-aibom 与 AICR 的集成方案,希望将 k8s-aibom 的运行时观察结果与 AICR 的部署意图和签名证明连接起来。作者将目标描述为证明团队部署的内容就是系统正在运行的内容。该 issue 没有关联的实现、负责人或里程碑。应将其视为实践者提案,而不是官方路线图或已完成的设计。

不要将一个新控制器变成通用的产品推荐。应采用这一模式:将声明状态与观察状态配对,保留证据,并让不确定性可见。

从构建意图到运行时观察、语义验证、版本化差异比较和发布决策的 AI 物料清单工作流
从构建意图到运行时观察、语义验证、版本化差异比较和发布决策的 AI 物料清单工作流

_实用的 AI 物料清单将构建意图连接到运行时证据、语义检查和版本化决策。_

值得记录的七个层面

确切的 schema 取决于你的标准和部署方式。以下层面构成了生产清单的实用最低要求。

1. 模型身份

记录供应商、模型系列、不可变修订版本或摘要、格式、基础模型、适配器、量化方式、分词器和服务路由。诸如 `support-model` 这样的友好别名便于人们使用,但不足以支持可追溯性。

对于外部 API,记录提供商的稳定模型标识符,以及选择该模型的网关路由。如果提供商可以在别名背后静默更新模型,应将修订版本标记为未解决,而不是虚构精确性。

2. 数据和检索依赖项

在信息存在时,记录声明的训练、微调、评估和校准数据集。对于 RAG 系统,添加源集合、嵌入模型、分块版本、向量存储服务、访问策略和新鲜度边界。

存储数据集标识符、版本、哈希、合同或受控目录引用。不要将原始客户记录或私有训练示例复制到 AIBOM 中。

推薦閱讀

当团队使用 Next.js 和 AI agents 构建自定义数据系统时,即使 schema 版本、迁移边界和连接的服务不是模型工件,也应将它们纳入系统上下文。

3. 运行时和软件

将 AI 清单连接到普通 SBOM。记录容器摘要、推理引擎、框架、相关库、驱动和加速器类别,以及可能改变模型行为的配置。

推薦閱讀

这很重要,因为同一组权重在分词器、注意力后端、量化路径或服务引擎发生变化后,行为可能不同。为什么更多 AI tokens 会改变计算账单的分析说明,部署记录需要包含运行时预算和配置,而不仅仅是模型名称。

4. 工具、API 和代理权限

列出代理能够访问的工具,而不是公司某处安装的所有工具。包括模型网关、MCP 服务器、浏览器或代码执行工具、外部 API,以及管理每项操作的策略引用。

推薦閱讀

清单不会强制执行授权。应将其与确定性控制配对。AI agent 权限一文解释了为什么模型的自我约束不是访问控制边界。

5. 评估和运行限制

引用用于批准的确切评估集、评估器版本、阈值、日期和条件。记录已知失败模式、预期用途和排除用途、回退行为、监控负责人,以及该决策的到期日期。

不要只写“通过评估”而不提供测试身份。模型发生变化而结果字符串不变,是薄弱证据。

6. 权利、策略和来源

记录模型和数据集许可证、使用限制、再分发条款、源代码仓库、模型卡、数据卡、论文、批准和证明。来源受访问控制时,存储引用和哈希。

这一层支持审查,但不会决定法律问题。缺失或冲突的权利信息应转交给对该决策负责的人员。

7. 所有权和生命周期

每条记录都需要负责人、系统用途、环境、创建时间、观察时间、被取代版本和保留规则。没有所有权,清单就会变成一座被遗弃事实的档案库。

包括一个能够跨部署保持稳定的系统 ID。版本化 AIBOM 应展示发生了什么变化、谁接受了变化,以及哪些证据支持该决策。

将每条事实标记为已声明、已推断、已验证或未解决

AIBOM 应在字段级别携带证据状态。为整个文档设置一个标签会隐藏太多信息。

已声明: 团队或供应商在清单、模型卡、合同或配置中提供了该值。
已推断: 工具根据名称、镜像、参数、导入模式或其他启发式方法推导出该值。
已验证: 该值与摘要、签名、证明或可信注册表记录等证据绑定,并且验证检查已通过。
未解决: 系统无法以所需置信度确定该值。

前三个标签描述了不同强度的证据。“已声明”不是“已验证”的较弱写法。供应商声明可能是训练数据唯一可用的来源,而镜像摘要则可以通过机械方式验证。

k8s-aibom 项目目前实现了 `declared`、`inferred` 和 `unresolved`,并为属性提供证据定位信息。其 README 将加密的 `verified` 状态列为未来路线图,而不是声称当前已经支持。在你自己的系统中也应保持这种诚实。

概念记录可以如下所示:

{ "system_id": "customer-support-prod", "component": { "type": "machine-learning-model", "name": "provider/model-family", "version": "immutable-revision", "hashes": ["sha256:..."] }, "evidence": { "status": "verified", "source": "signed-build-attestation", "observed_at": "2026-07-29T08:00:00Z" }, "depends_on": [ "runtime:inference-engine@version", "dataset:retrieval-corpus@revision", "api:model-gateway@policy-version" ] }

这是设计草图,不是符合 CycloneDX 或 SPDX 的文档。实际工件应使用所选标准的 schema 和验证器。

可复现的 AIBOM 工作流

第 1 步:定义系统边界

命名范围内的应用、环境、负责人和面向用户的决策。确定清单覆盖的是单个模型端点、代理工作流,还是完整产品。

“所有 AI”这样的边界无法测试。“生产支持代理,以及所有能够改变其回答或操作的服务”则可以。

第 2 步:收集构建和采购证据

生成普通 SBOM,解析模型和数据集标识符,捕获不可变摘要,并关联模型卡、数据卡、许可证、评估和批准记录。

OWASP AIBOM Generator 可以将 Hugging Face 元数据提取到 CycloneDX 1.6,并报告缺失字段。将其输出视为初始清单。大规模研究说明了为什么自动填充的字段仍需要内容检查。

第 3 步:生成标准文档

选择消费者能够解析的格式。CycloneDX 提供 AI/ML-BOM 能力和实现指南。SPDX 3 提供 AI数据集配置文件。

格式选择应遵循接收系统、策略引擎、证明流水线和客户要求。除非确实有消费者需要两种格式,否则避免维护两种格式。

第 4 步:补充自动化无法知道的信息

指定负责人填写预期用途、限制、数据集来源、评估条件、权利和风险决策。当字段对决策至关重要时,拒绝“N/A”“标准模型”或复制的营销文本等占位内容。

要求对未知值给出明确原因。“供应商不披露训练数据”比空数组更好的证据,因为它区分了工作缺失和信息不可用。

第 5 步:观察实时部署

通过可用的最小权限机制收集运行时模型 ID、镜像摘要、端点、连接的存储、代理工具和配置。在 Kubernetes 中,这可能是一个监听 API 的控制器。在托管 API 技术栈中,这可能是网关配置、部署清单、提供商响应和审计日志。

当扫描器只是匹配了一个字符串时,不要声称完成了运行时验证。应将其标记为已推断,并保留匹配证据。

第 6 步:验证语法、语义和漂移

运行三项独立检查:

Schema 验证: 工件是否符合所选标准?
语义验证: 关键字段是否具体、最新、内部一致,并有证据支持?
漂移验证: 运行时状态是否不同于已批准的构建或上一次观察结果?

第一项检查可以自动化。第二项需要领域规则,某些字段还需要人工审查。第三项需要版本化记录和稳定的比较边界。

第 7 步:签名、存储、比较差异并设置到期时间

对工件进行哈希,将其绑定到构建或部署,存储在追加式或受控的证据系统中,并生成可供人阅读的差异报告。AIBoMGen 是一个研究原型,在训练期间结合模型和环境捕获、哈希、签名以及 in-toto 证明。

签名可以保护创建后的完整性,但不会让不完整或虚假的声明变成真实。

设置到期或审查日期。上季度完美的清单并不能描述今天可变的生产系统。

将清单转化为发布门禁

当清单能够改变决策时,它才真正有用。应在发布窗口之前定义策略。

条件默认操作原因
---------
关键模型或运行时身份未解决阻止无法追踪已部署组件
运行时包含未声明的模型、API、工具或数据存储阻止并调查已批准边界发生漂移
模型修订版本发生变化,但评估引用未变阻止批准证据不覆盖候选版本
缺少必需许可证或使用限制转交负责人审查;策略要求时阻止不能根据可用性推断权利
启发式推断与声明冲突阻止或隔离证据至少有一个来源错误或过时
非关键描述缺乏细节创建有时限的修复任务该缺口可能不足以成为停止服务的理由
AIBOM 仅因观察时间变化而改变允许没有发生实质性系统漂移

根据系统调整严重性。写作助手和医疗决策工具不应共享一个通用阈值。

跟踪四项运营指标:

具有已验证或已接受声明身份的关键组件比例;
按负责人和存在时长统计的关键未解决字段;
每次部署中未声明运行时组件的数量;
从组件变更到评估和批准更新所需的时间。

不要优化已填充字段的数量。这会重现完整度研究揭示的确切失败模式。

推薦閱讀

代码代理活动和基础设施的分析也体现了同一系统原则:模型能力只是已部署系统的一部分。运行时、工具、路由和运营控制决定了用户实际获得的内容。

排除机密和个人数据

AIBOM 很可能会在工程、安全、审计人员、客户和自动化系统之间流转。应将其视为清单,而不是机密存储。

不要包含:

API 密钥、令牌、密码、连接字符串或私有签名材料;
包含个人数据的原始提示词、客户对话、检索文档或训练示例;
会扩大攻击面的不受限制内部 URL 或网络细节;
当受控文档 ID 和哈希足够时,不要包含私有合同正文;
与其背后的证据相比信息更少的模糊保证标签。

通过 secret-manager 路径或逻辑标识符引用机密,但不要包含其值。通过受治理的目录 ID、版本、分类、负责人和完整性哈希引用敏感数据集。当完整工件的元数据本身也敏感时,应对其应用访问控制。

AIBOM 无法证明什么

AI 物料清单可以改善可追溯性,但无法证明:

模型安全、公平、准确或适用;
声明的训练数据完整;
许可证解释正确;
运行时扫描器检测到了每个隐藏依赖项;
评估能够代表未来的生产流量;
签名声明在签署时为真;
系统符合某项法律或标准。

7 月份的完整度研究测量的是文档覆盖率,而不是模型质量。k8s-aibom 仓库明确表示其输出不认证合规性。这两项限制都很重要。

将 AIBOM 用作从某项决策通往可检查证据的地图。将其与评估、授权、监控、事故响应、隐私控制和负责人的审查配合使用。地图能够告诉每位审查人员正在评估哪个系统,从而让这些流程更快。

常见问题

什么是 AI 物料清单?

AI 物料清单是 AI 系统背后模型、数据集、软件、运行时、工具、来源、限制和证据的机器可读清单。实用的 AIBOM 会标识不可变版本、负责人、未解决事实,以及已批准状态与实时状态之间的变化。

AI BOM 与 SBOM 相同吗?

不相同。SBOM 清点软件组件和依赖项。AI BOM 将该软件清单与模型、数据集、适配器、评估、预期用途、限制和运行时路由等 AI 专属组件连接起来。生产 AI 系统通常需要两者。

AIBOM 应该使用 CycloneDX 还是 SPDX?

使用下游工具和证据消费者支持的格式。CycloneDX 具有文档化的 AI/ML-BOM 能力;SPDX 3 具有 AI 和数据集配置文件。首先验证一种规范格式。只有在策略、客户或集成要求时,才添加第二种格式。

声明核查

已测量: 2026 年 7 月的研究从下载量超过 100 次的公开 Hugging Face 模型中生成并分析了 97,940 个 AIBOM 工件。
已测量: 必需结构字段达到 100% 覆盖率,而模型卡文档平均覆盖率为 19.51%。
已测量: 只有 211 个工件,即 0.22%,包含超出占位内容的有意义描述。
已测量: 技术限制出现在 16.74% 的生成工件中,安全风险评估出现在 9.76% 的工件中。
官方项目声明: k8s-aibom 观察 Kubernetes 工作负载,并生成带有字段级证据状态的 CycloneDX 1.6 ML-BOM 记录。
官方项目限制: k8s-aibom v1.0 处于 alpha 阶段,面向非关键观察场景,目前不会将身份标记为经过加密验证。
标准核查: CycloneDX 记录了 AI/ML-BOM 支持;SPDX 3.0.1 定义了 AI 专属类和属性。
实践解释: 将构建时声明与运行时观察结果配对,然后验证语义和漂移。审查的来源支持该工作流的各个组成部分,但不能证明存在一种通用的发布策略。
尚未确立: AIBOM、完整度得分、签名或运行时扫描本身都不能证明安全性、合法性、性能或合规性。

来源

Securing the AI supply chain on GKE: Introducing k8s-aibom for automated AI BOMs — Google Cloud 官方发布说明,2026 年 7 月 14 日。
GoogleCloudPlatform/k8s-aibom — 官方源代码仓库及当前限制。
Authoritative Guide to AI/ML-BOM — CycloneDX 官方实现指南,2026 年。
SPDX 3.0.1 AI profile — 官方标准文档。
OWASP AIBOM Generator — 官方开源生成器及文档。
Model Cards for Model Reporting — 主要研究,修订于 2019 年 1 月 14 日。
k8s-aibom and AICR integration — 用户提交的实践者提案,创建于 2026 年 7 月 15 日。
SPDX 3.0.1 Dataset profile — 官方标准文档。