Pular para o conteúdo
AI Business Analyst

Projeto 5 · IA aplicada a dados

O gerente pergunta em português.
A IA consulta o banco e mostra a conta.

Um analista de dados com IA para uma rede de concessionárias (dados 100% fictícios). A IA escolhe ferramentas, consulta o PostgreSQL só para leitura e responde com números conferíveis: cada valor vem com o SQL que o gerou.

01

O problema

Numa concessionária, o gerente quer resposta rápida: quem está abaixo da meta, quanto o consórcio cresceu, qual vendedor puxou o mês. Hoje ele depende de alguém que saiba SQL ou de um painel que só responde ao que foi previsto.

Pergunta nova = fila

Cada pergunta fora do painel vira um pedido para quem sabe SQL.

IA que inventa é pior

Um chatbot que "chuta" um número com confiança é mais perigoso que nenhuma resposta.

O banco não pode correr risco

Dar acesso ao banco para um modelo de linguagem exige garantir que ele nunca altere nada.

O problema é real: é o trabalho do autor numa concessionária Honda em Recife, onde ele montou o painel de vendas do Projeto 1. Este projeto amplia aquele modelo de dados para 24 meses fictícios.

02

Como funciona

A IA não escreve SQL livremente por padrão: ela escolhe entre métricas oficiais, e a API monta o SQL com parâmetros. O SQL livre existe como reserva, atrás de travas.

Interface React + TypeScript pergunta em português
API Node 24 + TS Loop de ferramentas até 6 voltas · orçamento de tokens · resposta validada (zod)
Groq gpt-oss-120b tool calling, plano gratuito
PostgreSQL 16 Usuário analista_ia: só SELECT em 7 views transação somente leitura · 3 s por consulta · máx. 200 linhas

As 4 ferramentas da IA

consultar_metrica

Caminho principal. 9 métricas oficiais (faturamento, ticket médio, % da meta…) com SQL parametrizado: o número certo por construção.

executar_sql

Reserva para o que o catálogo não cobre. Um SELECT só, atrás de 4 camadas de defesa.

descrever_tabelas

Colunas e descrições das views, lidas dos comentários do próprio banco.

responder

Resposta final estruturada. Cada número citado é procurado nos resultados do banco: achou = "conferido".

03

Conversas reais, passo a passo

Gravadas da avaliação oficial (sem edição). Escolha uma pergunta e avance pelos passos: a ferramenta que a IA chamou, o SQL que rodou, o que o banco devolveu e a resposta.

04

Avaliação: 36 perguntas com resposta certa conhecida

"A IA responde bem" só vale com número medido. Cada pergunta tem um SQL de referência que gera a resposta certa; o avaliador (Python) faz a pergunta pela API e confere. Os padrões foram plantados nos dados fictícios de propósito: se a IA não os encontra, ela errou.

Acertos por tipo de pergunta

O que a avaliação pegou — e o que mudou

O valor de uma avaliação é achar erro. Cada falha virou uma correção no código ou no prompt, e foi medida de novo.

    Ver as 36 perguntas e o veredito de cada uma

    05

    Segurança: defesa em 4 camadas

    Uma checagem de texto na aplicação pode ser enganada por um SQL criativo; uma permissão do banco, não. Por isso cada camada tem teste hostil próprio, e a garantia final é o PostgreSQL.

    1. 1
      Aplicação

      Um comando só, começando com SELECT ou WITH, sem funções de sistema (pg_sleep, set_config, leitura de arquivo, catálogo), máx. 4.000 caracteres, embrulhado num LIMIT.

    2. 2
      Driver

      Protocolo estendido do PostgreSQL: aceita um comando só, mesmo com "; DROP …" no texto.

    3. 3
      Transação

      BEGIN READ ONLY e tempo máximo de 3 s por consulta.

    4. 4
      Banco (a garantia)

      O usuário da IA só tem SELECT em 7 views, nenhum acesso às tabelas de origem, sem CREATE nem TEMP, máx. 5 conexões. A API nem conhece a senha do dono do banco.

    Ataques testados e onde cada um parou

    06

    Custos, limites e o que ainda não é bom

    Custo

    Limitações (medidas, não escondidas)

      Stack