Provena: a biblioteca open source que governa o que seus agentes de IA realmente sabem antes de agir

Provena governa o que seus agentes de IA realmente sabem: trilhas de auditoria à prova de adulteração em poucas linhas de Python.

Pipeline de dados fluindo para um agente de IA com ícones de cadeia de auditoria e hashes criptográficos ao redor

O elo perdido na cadeia de segurança dos agentes de IA

Ferramentas para controlar o comportamento de agentes de inteligência artificial proliferaram nos últimos anos. Há soluções para limitar o que um agente pode fazer e soluções para filtrar o que ele pode dizer. Mas existe uma lacuna crítica que praticamente ninguém havia endereçado até agora: governar o que o agente conhece no momento em que toma uma decisão.

É exatamente esse espaço em branco que o Provena pretende ocupar. Trata-se de uma biblioteca Python de código aberto, licenciada sob Apache 2.0, que adiciona trilhas de auditoria à prova de adulteração em qualquer pipeline de contexto de agentes de IA, com latência abaixo de 1 milissegundo e zero dependências externas no núcleo.

O problema que ninguém estava resolvendo

Imagine um agente de IA empresarial que, para responder a uma pergunta sobre preços, consulta seis fontes diferentes: um banco de dados vetorial via RAG, uma API de precificação, o histórico de conversas, um documento PDF indexado, uma ferramenta de busca web e uma memória de longo prazo. Quando esse agente chega a uma conclusão, você consegue responder com segurança às seguintes perguntas?

  • Quais fontes exatamente alimentaram aquela resposta?
  • Algum dado foi alterado entre a recuperação e o uso?
  • As informações ainda eram válidas no momento do consumo?
  • Existe um registro auditável e verificável de toda essa cadeia?

Na esmagadora maioria dos sistemas atuais, a resposta honesta a todas essas perguntas é: não. O contexto que chega à janela do LLM é uma caixa-preta. Ele pode ter sido corrompido, pode estar desatualizado, pode carecer de metadados de proveniência e ninguém saberá.

Esse cenário não é apenas um problema de engenharia. É um risco de conformidade regulatória crescente, especialmente com o EU AI Act entrando em vigor de forma plena em 2026.

Como o Provena funciona na prática

A proposta central do Provena é elegante: interceptar cada função que produz contexto para o agente, registrar o conteúdo com um hash SHA-256, encadear esses registros em uma estrutura similar a uma Merkle tree e armazenar tudo em um banco SQLite local. O resultado é uma trilha de auditoria que detecta qualquer adulteração posterior.

A integração básica cabe em poucas linhas de Python. Basta importar o ContextTrail, instanciá-lo e decorar as funções que produzem contexto com o método track. A partir desse momento, cada chamada gera automaticamente um registro com hash do conteúdo retornado, validação de proveniência e integração na cadeia encadeada. Não há modelo de machine learning envolvido, nenhum download de artefatos pesados.

Verificação de integridade e freshness

Além do hash-chaining, o Provena oferece dois mecanismos adicionais de grande valor prático. O primeiro é a validação de proveniência: cada entrada de contexto pode carregar metadados estruturados indicando sua origem como URL, timestamp de criação e autor, e a biblioteca classifica automaticamente o status como VALID, MISSING ou INCOMPLETE.

O segundo é o freshness checking: o Provena detecta contexto potencialmente desatualizado tanto via timestamps nos metadados quanto via detecção por expressões regulares de marcadores temporais no próprio texto. O resultado é classificado como FRESH, STALE ou UNKNOWN.

Para cenários de alta segurança, é possível adicionar assinatura HMAC ao trail, garantindo que nem mesmo o operador do sistema consiga falsificar registros retroativamente sem deixar rastros detectáveis.

Integrações com os principais frameworks de agentes

Um ponto forte do projeto é o cuidado com o ecossistema existente. O Provena já oferece adaptadores prontos para uso com LangChain e LlamaIndex, os dois frameworks mais populares para construção de aplicações com LLMs.

No LangChain, a integração se dá via callback handler, um padrão nativo do framework. Basta instanciar o ProvenaCallback e passá-lo na criação da chain. No LlamaIndex, a integração acontece como um node postprocessor, encaixando-se naturalmente no pipeline de query.

Além disso, há suporte a OpenTelemetry, permitindo que cada chamada de log emita um span OTel com atributos de governança, o que facilita a integração com stacks de observabilidade como Grafana, Jaeger ou Datadog.

Conformidade com o EU AI Act e OWASP

Um dos argumentos mais concretos a favor do Provena em ambientes corporativos é o mapeamento direto para artigos específicos do Regulamento Europeu de Inteligência Artificial:

  • Artigo 10 sobre linhagem de dados: a validação de proveniência registra a origem de cada entrada de contexto.
  • Artigo 12 sobre logging à prova de adulteração: a cadeia SHA-256 com assinatura HMAC garante a integridade dos registros.
  • Artigo 13 sobre transparência: o método trail.summary() gera relatórios legíveis sobre as fontes utilizadas.
  • Artigo 14 sobre supervisão humana: o método trail.annotate() permite que revisores humanos adicionem decisões e observações ao trail.

O projeto também endereça diretamente o OWASP ASI06, que trata de envenenamento de memória e contexto em sistemas de IA, uma das vulnerabilidades mais preocupantes em arquiteturas RAG e agentes autônomos.

Arquitetura e instalação modular

O design do Provena é modular por princípio. O pacote central não tem dependências externas e pode ser instalado com um simples pip install provena. Funcionalidades adicionais são ativadas sob demanda com extras opcionais:

  • provena[cli] adiciona interface de linha de comando com rich formatting
  • provena[otel] habilita o exportador OpenTelemetry
  • provena[langchain] instala o adaptador para LangChain
  • provena[llamaindex] instala o adaptador para LlamaIndex
  • provena[all] instala tudo de uma vez

O backend de armazenamento padrão é SQLite, mas o roadmap do projeto inclui suporte a PostgreSQL para cenários de produção em escala. A CLI permite verificar a integridade da cadeia, consultar o log de auditoria por fonte, gerar relatórios de governança e obter resumos rápidos, tudo via terminal.

Estado atual do projeto e como contribuir

O Provena está em versão inicial e se autodescreve como um MVP em evolução ativa. O repositório no GitHub está ativamente buscando colaboradores, com diversas issues marcadas como good first issue e help wanted, todas com escopo bem definido e exemplos de código, o que reduz consideravelmente a barreira de entrada para quem quer começar a contribuir com projetos de IA open source.

Para quem trabalha com desenvolvimento de agentes de IA, arquiteturas RAG ou simplesmente se preocupa com a rastreabilidade e auditabilidade de sistemas baseados em LLMs, o Provena representa uma adição relevante ao arsenal de ferramentas. O problema que ele resolve, a ausência de governança na camada de entrada de contexto, é real, crescente e cada vez mais relevante do ponto de vista regulatório e de segurança.