Como construímos um BI que responde em linguagem natural
Dashboards são bons. Pergunta em linguagem natural sobre os mesmos dados é melhor. Como saímos de protótipo pra produção em 4 meses.
O cliente abre o BI e digita: quanto faturei na filial Lapa em março, comparado com o ano passado? Em menos de 2 segundos, o gráfico aparece. Não é mágica — é uma arquitetura de 3 camadas que aprendemos a construir errando bonito.
Por que dashboards não bastam
Dashboards são ótimos pra perguntas previsíveis. Mas a pergunta real que o diretor tem às 22h num domingo nunca está no dashboard pronto. E construir um dashboard pra cada pergunta é o que matou tantos projetos de BI.
A arquitetura, sem segredos
- Semantic layer — uma camada que descreve métricas e dimensões em linguagem de negócio (não SQL).
- LLM com tool calls — o modelo escolhe quais métricas usar e qual visualização gerar, mas não escreve SQL livre.
- Cache agressivo de queries — perguntas similares retornam de memória.
O que deu errado primeiro
A primeira versão deixava o LLM escrever SQL direto. Funcionava na demo e quebrava na produção — alucinação em coluna, JOIN errado, performance impossível. A reescrita pra tool calls em semantic layer custou um trimestre — e foi a melhor decisão do ano.
O que ainda erramos
Ambiguidade de período ("últimos 3 meses" é abr-jun ou março-maio?), nomes próprios mal grafados, pedidos com pressuposição falsa. Cada um vira um exemplo na suíte de avaliação — hoje com 850+ casos.
Continue lendo.
Ver todos os textos →Fraude de ponto não desapareceu — mudou de bolso
App de ponto resolve totem caro mas abre vetor novo. O que aprendemos sobre geofence, biometria de viva e padrões anômalos.
Roteirização que respeita a cidade
Otimização de rota é fácil de errar em centro urbano. Como modelamos restrição de horário, peso, zona azul e ZMRC sem virar quebra-cabeça.
O que acontece quando ronda vira evidência digital
Postos auditáveis em tempo real, laudo pronto pra cliente e supervisor que enxerga o campo. Três meses depois da troca, os números falaram.