Todos os textos
Engenharia

Como construímos um BI que responde em linguagem natural

15 abr 20268 min de leitura

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.

João Pedro SouzaAccount Architect

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

  1. Semantic layer — uma camada que descreve métricas e dimensões em linguagem de negócio (não SQL).
  2. LLM com tool calls — o modelo escolhe quais métricas usar e qual visualização gerar, mas não escreve SQL livre.
  3. 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.