Explicabilidade em IA: por que a auditoria aceita uma árvore de decisão e trava num LLM

Explicabilidade em IA, numa auditoria, quer dizer mostrar o caminho que levou à decisão, e não um texto bonito escrito depois que ela saiu. Uma árvore de decisão entrega esse caminho: no scikit-learn, export_text, apply e decision_path mostram regra, folha e nós percorridos. Já a explicação de um LLM é gerada depois da resposta, e o estudo ‘Reasoning models don’t always say what they think’, da Anthropic, mostrou que o Claude 3.7 Sonnet admitiu usar a dica recebida em só 25% dos casos. A saída é tirar o veredito do LLM e logar cada evento
Fala aí, beleza? Uma árvore de decisão te mostra o caminho exato que levou à resposta, e um LLM escreve uma justificativa depois que a resposta já saiu 🙂
Parece detalhe
Até o dia em que chega um auditor pedindo pra ver por que o crédito de alguém foi negado…
Se tu é dev, ou faz parte de um time que precisa colocar IA em decisão que afeta pessoas (crédito, triagem de candidato e por aí vai), este post é pra você
Bora ver a diferença entre rastro e narrativa, por que a explicabilidade em IA passa tranquila numa auditoria quando vem de regra e trava quando vem de texto gerado, e como registrar o rastro quando a parte generativa não tem como sair do fluxo
O que a lei pede quando uma decisão automatizada afeta alguém
Antes do código, vale entender o PORQUÊ dessa cobrança toda
No Brasil, o artigo 20 da LGPD dá ao titular o direito de pedir revisão de decisões tomadas unicamente com base em tratamento automatizado de dados pessoais que afetem os interesses dele
Isso inclui decisões de perfil pessoal, profissional, de consumo e de crédito
E o controlador precisa dar informações claras e adequadas sobre os critérios e procedimentos usados na decisão, respeitados os segredos comercial e industrial
Se a explicação for negada por segredo, a ANPD pode fazer auditoria pra verificar aspectos discriminatórios
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
E na União Europeia?
No AI Act, três artigos conversam direto com esse tema:
- Art. 12: sistemas de IA de alto risco precisam permitir, tecnicamente, o registro automático de eventos (logs) durante toda a vida do sistema, pra identificar situações de risco, apoiar o monitoramento pós-mercado e monitorar a operação (texto oficial do art. 12)
- Art. 26: quem implanta o sistema (o deployer) guarda os logs gerados automaticamente que estejam sob seu controle por período adequado à finalidade, com mínimo de seis meses, salvo outra previsão legal
- Art. 86: a pessoa afetada por uma decisão baseada em sistema de alto risco do Anexo III (com efeitos jurídicos ou impacto significativo) tem direito a explicações claras e significativas sobre o papel da IA no processo e sobre os principais elementos da decisão
Quando isso começa a valer?
Aqui tem que prestar atenção nas datas, porque o calendário mudou
O Digital Omnibus on AI foi publicado no Jornal Oficial da UE em 24/07/2026 e entrou em vigor em 27/07/2026, adiando as obrigações de alto risco
O novo prazo pro Anexo III (biometria, emprego, score de crédito, educação, infraestrutura crítica) é 2 de dezembro de 2027, e pro Anexo I é 2 de agosto de 2028
Já as obrigações de transparência do artigo 50 valem desde 2 de agosto de 2026: avisar quando a pessoa interage com IA, sinalizar conteúdo gerado ou manipulado e marcar saídas generativas em formato legível por máquina
E o marco legal da IA no Brasil?
O PL 2338/2023 foi aprovado pelo Senado em 10/12/2024 e segue tramitando na Câmara dos Deputados, em Comissão Especial
Ou seja: ainda NÃO é lei
Agora repara numa coisa… as palavras que se repetem em todas essas normas são critério, procedimento e registro
Em nenhum lugar aparece "texto bem escrito" 😛
Caminho rastreável x justificativa gerada: a diferença na prática
Colocando lado a lado fica mais fácil de enxergar:
| Critério | Árvore de decisão ou regra explícita | Explicação gerada por LLM |
|---|---|---|
| De onde vem a justificativa | Da própria estrutura do modelo (nós, limiares, regras) | De um texto produzido depois que a resposta já saiu |
| Reproduzível com a mesma entrada | Sim, mesmo modelo e mesma entrada levam ao mesmo caminho | Não há garantia de que o texto saia igual |
| Dá pra conferir contra o processo real | Sim, o caminho É o processo | Não, nada garante que o texto reflita o processo |
| O que o auditor consegue checar | Regras, folha final e nós percorridos por cada caso | A coerência do texto, não a causa da decisão |
| O que serve como evidência | O caminho registrado junto com a versão do modelo | Só o registro de que aquele texto foi gerado |
Por que o auditor pede o primeiro tipo?
Porque ele precisa conferir, e não acreditar

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →Uma regra ou um nó da árvore pode ser reexecutado e checado, já um parágrafo gerado só pode ser lido
Como extrair o rastro de uma árvore de decisão no scikit-learn
Se você já usa scikit-learn, o rastro tá praticamente pronto, só falta guardar direito
São três APIs da documentação oficial do DecisionTreeClassifier e do export_text, bora ver na prática?
- Gere o relatório das regras com
export_text
Ele gera um relatório em texto com as regras da árvore (aceita DecisionTreeClassifier ou DecisionTreeRegressor), e isso vira a documentação dos critérios que a LGPD pede
from sklearn.tree import DecisionTreeClassifier, export_text
# X_treino e y_treino sao os seus dados de treino
modelo = DecisionTreeClassifier()
modelo.fit(X_treino, y_treino)
regras = export_text(
modelo,
feature_names=['renda_mensal', 'tempo_emprego', 'dividas_abertas'],
class_names=['negado', 'aprovado'],
)
print(regras)
Erro comum deste passo: rodar sem feature_names
Aí as regras saem com nome genérico de coluna e o auditor recebe um relatório ilegível, tipo uma planilha sem cabeçalho kkk
- Descubra a folha de cada caso com
apply
O apply(X) devolve o índice da folha em que cada amostra termina
folhas = modelo.apply(X_novos)
Erro comum deste passo: guardar só a folha e achar que tá tudo certo
A folha diz ONDE o caso terminou, mas não por onde ele passou, e é o caminho que explica a decisão
- Pegue o caminho completo com
decision_path
O decision_path(X) devolve o caminho de decisão como matriz esparsa no formato [n_samples, n_nodes], ou seja, cada linha é uma amostra e marca os nós por onde ela passou (o método existe desde a versão 0.18)
caminhos = modelo.decision_path(X_novos)
registro = {
'versao_modelo': 'credito-arvore-v3',
'folhas': folhas,
'caminhos': caminhos,
}
Erro comum deste passo: não persistir a saída junto com a versão do modelo que a gerou
Tome cuidado! Se tu retreina a árvore, os nós mudam, e um caminho salvo sem versão vira um monte de índices que não apontam pra nada
O problema da explicação do LLM: o que o estudo da Anthropic mostrou
Agora o outro lado da moeda
O time de Alignment Science da Anthropic publicou o paper Reasoning models don’t always say what they think, sobre a fidelidade da cadeia de raciocínio (o famoso chain-of-thought)
E o resultado foi negativo
Como o estudo foi feito?
Os pesquisadores colocaram uma dica sobre a resposta dentro da pergunta
Depois conferiram se o modelo admitia que usou a dica na hora de explicar o raciocínio
Simples e bem esperto 🙂
Quais foram os resultados?
- O Claude 3.7 Sonnet mencionou a dica em 25% dos casos
- O DeepSeek R1 mencionou em 39%
- Com a dica apresentada como "acesso não autorizado", foram 41% pro Claude 3.7 Sonnet e 19% pro DeepSeek R1
E se liga nisso: os raciocínios infiéis eram bem mais longos que os fiéis
Então não dá pra dizer que a dica sumiu por falta de espaço, o modelo escreveu MAIS e mesmo assim deixou de fora o que pesou na resposta
A própria Anthropic afirma na página do estudo que nada garante que a cadeia exibida reflita o processo real que levou à resposta
Um detalhe importante: o estudo cobre esses dois modelos, então não dá pra cravar nada sobre modelos mais novos com base nele
O que isso muda numa auditoria?
Muda tudo
A explicação gerada pelo LLM é um artefato a registrar, não uma prova do motivo da decisão
É como pedir pra alguém justificar uma escolha depois de feita: a história pode até ser boa, mas não é o caminho
Como registrar o rastro quando a parte generativa é inevitável
Beleza, mas e quando o LLM precisa estar no fluxo?
Dá pra conviver com ele, desde que o desenho seja pensado pra auditoria desde o começo
- Separe a decisão do texto
O veredito que afeta a pessoa sai de regra ou árvore rastreável, e o LLM fica com tarefas como extração de dados ou redação

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.É a mesma lógica de trocar o prompt por decisão tipada: quem decide é a parte que dá pra conferir
Erro comum deste passo: deixar o LLM dar o "sim" ou "não" e usar a árvore só como enfeite depois
- Logue cada evento
Pra cada decisão, registre a entrada, a versão do modelo e do prompt, a saída bruta e a decisão final
Isso conversa direto com o art. 12 do AI Act, que fala em registro automático de eventos durante toda a vida do sistema
Erro comum deste passo: salvar só a decisão final, sem a versão do prompt
Aí ninguém consegue saber qual instrução estava valendo naquele dia
- Guarde a explicação gerada marcada como texto gerado
Pode guardar, deve guardar, mas com um rótulo claro de que é saída do modelo, e nunca como justificativa causal
Erro comum deste passo (o principal de todos): anexar o chain-of-thought como evidência do motivo da decisão
Depois do estudo da Anthropic, isso é pedir pra ter dor de cabeça
- Registre os dados que o LLM entrega pra regra
Quando o LLM extrai dados que alimentam a regra (um valor de renda lido de um documento, por exemplo), salve esses dados exatamente como chegaram na regra
Assim a regra continua reproduzível: mesma entrada, mesmo caminho
Erro comum deste passo: registrar o documento original e não o que foi extraído dele
Se rodar a extração de novo, nada garante o mesmo resultado, e o rastro quebra
- Defina retenção e revisão humana
Quando o AI Act se aplicar, a política de retenção precisa respeitar o mínimo de seis meses do art. 26, salvo outra previsão legal
E no Brasil, tenha um caminho real pra revisão quando o titular pedir, como garante o art. 20 da LGPD
Pra ter uma ideia de como humanos e modelos podem dividir o trabalho de revisão, dá uma olhada na auditoria de segurança com IA que o Datasette fez
Erro comum deste passo: ter o log guardado, mas nenhum processo pra uma pessoa de verdade revisar o caso
Onde cada abordagem cabe: crédito, triagem e atendimento
Nem todo uso de LLM é problema, depende de quem decide o quê
Score de crédito
Decisão em modelo rastreável, LLM no máximo como apoio (extração de dados, por exemplo)
O que registrar: entrada, versão do modelo, caminho na árvore e decisão final
Triagem de candidato
Mesma ideia do crédito: emprego está entre as áreas do Anexo III, então o veredito fica com a lógica que dá pra conferir
O que registrar: os critérios usados, o caminho de cada candidato e os dados extraídos por LLM, se houver
Resumo de documento para análise humana
Aqui o LLM é bem aceitável, porque quem decide é a pessoa que lê o resumo
O que registrar: documento de entrada, versão do modelo e do prompt, resumo gerado (marcado como gerado) e a decisão da pessoa
Chatbot de atendimento
Quando o AI Act se aplicar, o art. 50 já vale: a pessoa precisa ser avisada de que está falando com uma IA
O que registrar: que o aviso foi exibido e as conversas que levaram a alguma ação sobre a pessoa
Explicabilidade em IA começa no desenho, não no texto
Resumindo: o auditor confere caminhos, não narrativas
Uma árvore de decisão entrega o caminho com export_text, apply e decision_path, e um LLM entrega um texto que nem a Anthropic garante que reflete o processo real
Então o próximo passo é bem concreto:
- Mapeie quais decisões do seu sistema afetam pessoas
- Mova o veredito pra lógica rastreável
- Ligue o log de eventos antes do prazo de 2/12/2027 pro Anexo III
- Fique de olho no PL 2338/2023, que segue na Câmara
Fazendo isso no desenho, a auditoria vira conferência, e não interrogatório haha
até o próximo post! 😀
Perguntas frequentes
LLM consegue ter o mesmo tipo de explicabilidade em IA que uma árvore de decisão?
Não da mesma forma. A árvore mostra o caminho real que levou à resposta (os nós percorridos), enquanto o LLM escreve um texto depois que a resposta já saiu. A própria Anthropic afirma, na página do estudo sobre fidelidade da cadeia de raciocínio, que nada garante que esse texto reflita o processo real do modelo
Por que a cadeia de raciocínio (chain-of-thought) de um LLM não garante explicabilidade em IA confiável?
Porque um estudo da Anthropic testou isso colocando uma dica na pergunta e verificando se o modelo admitia ter usado ela ao explicar o raciocínio. O Claude 3.7 Sonnet mencionou a dica em 25% dos casos e o DeepSeek R1 em 39%, e os raciocínios infiéis eram bem mais longos que os fiéis, o que descarta a desculpa de falta de espaço
O decision_path do scikit-learn serve como prova de explicabilidade em IA numa auditoria?
Serve, porque ele devolve o caminho de decisão como matriz esparsa no formato [n_samples, n_nodes], mostrando exatamente por quais nós cada amostra passou. Junto com o export_text (que gera as regras em texto) e o apply (que mostra a folha final), dá pra reconstruir e checar a decisão de cada caso, e não só acreditar nela
A LGPD exige explicabilidade em IA para decisão automatizada de crédito ou triagem de candidato?
Sim. O artigo 20 da LGPD dá ao titular o direito de pedir revisão de decisões tomadas unicamente com base em tratamento automatizado, incluindo decisões de crédito, consumo, perfil profissional e pessoal. O controlador precisa informar os critérios e procedimentos usados, e se negar isso por segredo comercial, a ANPD pode auditar pra checar discriminação
Sistemas que usam LLM em decisão de alto risco já precisam cumprir o AI Act hoje?
As obrigações de alto risco do Anexo III (biometria, emprego, crédito, educação) foram adiadas pelo Digital Omnibus on AI, publicado em 24/07/2026 e em vigor desde 27/07/2026, pro novo prazo de 2 de dezembro de 2027. Mas as obrigações de transparência do artigo 50, como avisar que a pessoa está interagindo com IA, já valem desde 2 de agosto de 2026
O marco legal da IA no Brasil já obriga explicabilidade em IA?
Ainda não. O PL 2338/2023 foi aprovado pelo Senado em 10/12/2024 e, em outubro de 2026, continua tramitando na Câmara dos Deputados, em Comissão Especial. Enquanto isso, quem decide com dados pessoais já responde pelo artigo 20 da LGPD, que está em vigor
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares

Como Recuperar Conversas Apagadas no ChatGPT: É Possível?
Conversas excluídas do ChatGPT não podem ser recuperadas pela interface ou pelo suporte. Se a conversa foi arquivada, você pode desarquivá-la. Se apenas sumiu da […]
ChatGPT não funciona: saiba como corrigir erros
ChatGPT não funciona? O ChatGPT pode deixar de funcionar por diversos motivos, e a maioria deles está relacionada a problemas de conexão, cache ou instabilidade […]

Como limpar histórico do ChatGPT e proteger sua privacidade
Veja como limpar o histórico do ChatGPT e proteger sua privacidade de forma simples e eficaz, mantendo seus dados seguros online. Para apagar uma conversa […]
