Inteligência artificial, sem ruído.
Tutoriais5 min

Como construir um analista de dados de IA que pensa como um sênior

Tutorial mostra um pipeline de seis estágios que checa o tamanho da amostra antes de concluir qualquer coisa — a disciplina que separa sênior de chatbot.

Como construir um analista de dados de IA que pensa como um sênior

Pergunte a um chatbot “qual promoção devemos intensificar?” e ele responde em um fôlego: escolhe o número que parece melhor, afirma com confiança e para. Mas ele pode nunca verificar quantos dados sustentam aquele número. Uma promoção que parece ótima com 10 pedidos é muito menos convincente do que uma que se sai bem com 1.000 pedidos. Um analista sênior trabalha mais devagar de propósito: reformula a pergunta, forma hipótese, escreve a consulta e confere se há dados suficientes antes de falar com um executivo. Este tutorial mostra como colocar essa disciplina em código.

O que você vai construir

Um pequeno toolkit em Python que empurra uma pergunta por seis estágios em vez de um único prompt: entendimento de negócio, geração de hipóteses, planejamento de SQL, validação, resumo executivo e recomendações. O código funciona com a API da Anthropic ou da OpenAI — você traz a sua chave — e roda as mesmas seis etapas sobre qualquer tabela.

✅ O que você ganha

  • Um analista que checa o tamanho da amostra antes de concluir qualquer coisa.
  • Raciocínio rastreável: cada conclusão vem de uma consulta SQL que você pode inspecionar.
  • Independência de provedor: o mesmo código roda com Claude ou GPT trocando uma variável.
  • Um padrão reutilizável: os mesmos seis métodos valem para a próxima tabela que você apontar.

⚠️ O que você não ganha

  • Não substitui um analista humano — a validação é uma regra em código, não julgamento de negócio.
  • Não trata limpeza de dados nem modelagem estatística avançada.
  • Os prompts são específicos para o formato JSON; você precisará ajustá-los para domínios muito diferentes.

A armadilha central: o “número bonito”

O exemplo do tutorial usa uma tabela com 29 pedidos e quatro promoções. Um GROUP BY simples ordenado por média de unidades coloca a promoção 4 no topo com média 8,00 — mas ela tem exatamente 1 pedido por trás. Uma resposta “em um fôlego” recomendaria a promoção 4 pela força de um único pedido. É essa armadilha que o pipeline inteiro é construído para capturar.

Os seis estágios, em ordem

1. Entendimento de negócio

O primeiro estágio reformula a pergunta em termos que a tabela pode de fato responder, nomeia o “grão” dos dados (o que cada linha representa) e lista limitações — tamanho de amostra, cobertura de datas, dimensões ausentes. No exemplo, o modelo sinalizou a amostra pequena antes de rodar uma única consulta.

2. Geração de hipóteses

O segundo estágio propõe hipóteses específicas e testáveis usando apenas as colunas existentes. Repare que a hipótese testada não é uma média crua: pergunta se o líder de volume vence o segundo colocado por uma margem real.

3. Planejamento de SQL

O terceiro estágio transforma a hipótese em consulta DuckDB. O prompt pede explicitamente um COUNT(*) nomeado n_orders ao lado de qualquer métrica agrupada, porque o tamanho do grupo é o que a validação confere em seguida.

4. Validação

O quarto estágio executa a consulta e checa n_orders contra um limite mínimo de suporte (no exemplo, 3). É o único estágio que é código puro, sem chamada ao modelo — porque a checagem precisa ser imposta, não sugerida.

5. Resumo executivo

O quinto estágio escreve o resumo, instruído a deixar qualquer linha de baixa confiança fora da afirmação principal.

6. Recomendações

O sexto estágio propõe ações, com a mesma regra: nenhuma recomendação pode se apoiar em dados de baixa confiança ou fatos que o resumo não sustentou. Se a evidência é fraca, o correto é recomendar mais análise.

O porquê de cada decisão

Um detalhe importante é o wrapper de LLM: ele recebe o provedor explicitamente e chama o método correspondente, escondendo os formatos de resposta de cada API atrás de um único complete(). Um helper separado extrai o JSON da resposta — tirando crases de bloco de código e fazendo fallback para o primeiro objeto válido. Isso torna o pipeline tolerante a erros de formatação comuns dos modelos sem deixar um JSON inválido passar silenciosamente.

Comparativo: um prompt vs. o pipeline

AbordagemCheca amostraRastreávelImune a “número bonito”
Prompt únicoNãoNãoNão
Pipeline de 6 estágiosSim (validação)Sim (SQL explícito)Sim

FAQ

Preciso de uma chave de API? Sim — o pipeline se recusa a rodar se você esquecer de colar uma chave real. Ele funciona com Anthropic ou OpenAI.

Preciso de um banco de dados? Não. O exemplo usa DuckDB, que roda SQL real sobre um DataFrame do Pandas sem servidor.

Funciona com outras tabelas? Sim — basta apontar o pipeline para outra tabela; os mesmos seis estágios rodam.

Qual é a peça mais importante? O estágio de validação, entre a consulta e o resumo. É ele que transforma um “palpite confiante” em uma resposta verificada.

O valor do pipeline não está na complexidade de cada etapa — reformular pergunta, escrever SQL e resumir tabela são coisas que um único prompt já faz razoavelmente bem. O valor está na validação entre a consulta e o resumo, checando o tamanho da amostra antes que qualquer coisa seja chamada de resposta.


Descubra mais sobre noticiAI

Assine para receber nossas notícias mais recentes por e-mail.

R
Sobre o autorRedação Noticiai

Equipe editorial dedicada a explicar inteligência artificial com clareza, independência e contexto.