Inventário AI-BOM
Registre componentes, versões, proveniência e verificação de integridade de uma solução de IA.
Como usar
- Preencha uma linha por componente, modelo, API, base de treinamento ou dependência externa.
- Use quantas linhas forem necessárias para cobrir toda a solução. Atualize a linha quando mudar uma versão ou dependência.
Preencher com a IA da sua empresa
Copie o roteiro e use-o na ferramenta de IA que a sua empresa homologou para dados corporativos. A IA organiza a evidência campo a campo, e a decisão continua com você. Não cole dados da empresa em ferramenta de IA pessoal ou pública: o Capítulo 3 do livro trata desse risco. Este site não envia nem recebe o que você copia.
Você vai me ajudar a preencher o Inventário AI-BOM, do livro Decidir na Era da IA, de Alexandre Pereira. Seu papel é organizar, campo a campo, a evidência que eu fornecer. Quem decide sou eu. Regras: 1. Use somente o que eu colar ou anexar nesta conversa. Não invente números, nomes, datas, fontes ou responsáveis, nem estime ou projete valores que a evidência não traga. 2. Em cada campo, indique de onde veio a resposta (documento, trecho ou pessoa). 3. Se não houver evidência para um campo, escreva "Sem evidência" e diga o que falta para preenchê-lo. Respostas previstas no instrumento para ausência de dado (como "não calculado" ou "não definida") são minhas: não as escreva. 4. Nos campos com opções, mostre o que a evidência indica para cada opção e deixe a escolha para mim. 5. Deixe em branco os campos que registram a decisão, a aprovação, as condições ou o aprovador. Ao lado, cite apenas a evidência que se refere a eles, sem propor conteúdo. 6. Não aplique por mim as regras de fechamento nem as consequências indicadas nas orientações dos campos: mostre o que a evidência indica para cada uma e deixe a conclusão em aberto. 7. No fim, liste, campo a campo, as lacunas de evidência. Como usar o instrumento: - Preencha uma linha por componente, modelo, API, base de treinamento ou dependência externa. - Use quantas linhas forem necessárias para cobrir toda a solução. Atualize a linha quando mudar uma versão ou dependência. Campos: Identificação - Solução e responsável - Componente e tipo - Versão ou identificador verificável Origem e dependências - Fornecedor, repositório ou fonte de origem - Dados de treinamento ou ajuste: origem e versão conhecida - Dependências externas e versões - Licença e restrições verificadas Integridade e decisão - Verificação realizada e evidência - Pessoa responsável pela verificação - Data da verificação - Pendências, decisão de liberação e critério de bloqueio Regras para fechar a decisão (eu aplico): - Componente sem proveniência documentada e verificável não entra em produção. - Componentes sem validação de integridade devem ser bloqueados na integração contínua. - Registre o que é desconhecido e a ação necessária para fechar a lacuna. Não trate ausência de informação como verificação concluída. Responda na mesma estrutura, campo a campo. Minha evidência: [cole aqui o texto ou anexe os documentos]
Componentes
Uma linha por componente. Em cada linha, a última coluna lista os campos ainda vazios.
O que vai em cada coluna
- Solução e responsável
- Grupo: Identificação.
- Componente e tipo
- Grupo: Identificação.
- Versão ou identificador verificável
- Grupo: Identificação.
- Fornecedor, repositório ou fonte de origem
- Grupo: Origem e dependências.
- Dados de treinamento ou ajuste: origem e versão conhecida
- Grupo: Origem e dependências.
- Dependências externas e versões
- Grupo: Origem e dependências.
- Licença e restrições verificadas
- Grupo: Origem e dependências.
- Verificação realizada e evidência
- Grupo: Integridade e decisão.
- Pessoa responsável pela verificação
- Grupo: Integridade e decisão.
- Data da verificação
- Grupo: Integridade e decisão.
- Pendências, decisão de liberação e critério de bloqueio
- Grupo: Integridade e decisão.
| Nº | Solução e responsável | Componente e tipo | Versão ou identificador verificável | Fornecedor, repositório ou fonte de origem | Dados de treinamento ou ajuste: origem e versão conhecida | Dependências externas e versões | Licença e restrições verificadas | Verificação realizada e evidência | Pessoa responsável pela verificação | Data da verificação | Pendências, decisão de liberação e critério de bloqueio | Campos vazios | Ações |
|---|
Regras para fechar a decisão
- Componente sem proveniência documentada e verificável não entra em produção.
- Componentes sem validação de integridade devem ser bloqueados na integração contínua.
- Registre o que é desconhecido e a ação necessária para fechar a lacuna. Não trate ausência de informação como verificação concluída.
Correspondência com CycloneDX 1.7 e SPDX 3.0.1
CycloneDX e SPDX são padrões abertos para registrar, em formato legível por máquina, a lista de componentes de um software, o SBOM (Software Bill of Materials). Para cada coluna do inventário, a tabela indica o campo que cada padrão usa para a mesma informação, ou registra que o padrão não tem campo para ela. O livro não cita esses padrões. A correspondência é material deste site e serve para levar o inventário a uma ferramenta de SBOM. As colunas sem campo padrão seguem pelos mecanismos de anotação ou extensão que cada norma prevê, indicados na tabela.
| Coluna do AI-BOM | Situação | CycloneDX 1.7 | SPDX 3.0.1 |
|---|---|---|---|
| Solução e responsável | Parcial | Solução: metadata.component (o componente que o BOM descreve). Responsável: sem campo padrão. | Solução: rootElement do Sbom. Responsável: sem campo padrão. |
| Componente e tipo | Campo padrão | components[].name e components[].type (machine-learning-model para modelo, data para base de dados; library, application e outros para o restante). API de terceiro vai em services[], não em components[]. | name; o tipo vem da classe: AIPackage (perfil AI) para modelo, DatasetPackage (perfil Dataset) para base de dados e Package (perfil Software) para o restante, com primaryPurpose. |
| Versão ou identificador verificável | Campo padrão | version; identificadores purl, omniborId, swhid ou cpe. | packageVersion; packageUrl ou externalIdentifier. |
| Fornecedor, repositório ou fonte de origem | Campo padrão | supplier ou manufacturer (services[].provider para API); repositório em externalReferences com type vcs ou distribution. | suppliedBy e originatedBy; downloadLocation. |
| Dados de treinamento ou ajuste: origem e versão conhecida | Campo padrão | modelCard.modelParameters.datasets (dados descritos no próprio modelo ou referência a um componente do tipo data). | Relação trainedOn do AIPackage para o DatasetPackage; descrição em informationAboutTraining. |
| Dependências externas e versões | Campo padrão | dependencies[] (ref e dependsOn); a versão de cada dependência fica no próprio componente. | Relação dependsOn. |
| Licença e restrições verificadas | Parcial | licenses (license.id com identificador SPDX, license.name ou expression); license.acknowledgement separa licença declared de concluded. Restrições: sem campo próprio. | Relações hasDeclaredLicense e hasConcludedLicense. Restrições: sem campo próprio. |
| Verificação realizada e evidência | Campo padrão | hashes (alg e content) para a integridade; relatório da verificação em externalReferences com type evidence. | verifiedUsing (Hash, com algorithm e hashValue); evidência pela relação hasEvidence. |
| Pessoa responsável pela verificação | Sem campo padrão | Sem campo padrão no componente. A norma prevê annotations[] (subjects, annotator, timestamp e text) para notas sobre um objeto do BOM. | Sem campo padrão no elemento. A norma prevê Annotation (subject e statement), com autor e data em creationInfo (createdBy e created). |
| Data da verificação | Sem campo padrão | Sem campo padrão no componente. Na annotation da verificação, timestamp. | Sem campo padrão no elemento. Na Annotation da verificação, created em creationInfo. |
| Pendências, decisão de liberação e critério de bloqueio | Sem campo padrão | Sem campo padrão. A norma prevê properties (pares de nome e valor) para informação que ela não cobre. | Sem campo padrão. A norma prevê extension; a classe CdxPropertiesExtension (perfil Extension) segue o formato de properties do CycloneDX. |
No livro
Conhecer o livro →“Modelo de IA, API de terceiros ou base de dados de treinamento que não possua proveniência documentada e verificável não entra em produção.”
Decidir na Era da IA, de Alexandre Pereira
Aviso de nova versão
Quando este instrumento ganhar uma nova versão, você recebe um aviso por email. Os downloads e o preenchimento continuam livres, sem cadastro.
Pedido registrado. O aviso de nova versão chegará neste email.