Natural Language Database Queries with OpenClaw

How OpenClaw enables natural language database queries, translating plain English business questions into accurate SQL without exposing database credentials or query complexity.

E
ECOSIRE Research and Development Team
|19 de março de 202613 min de leitura2.8k Palavras|

Consultas de banco de dados em linguagem natural com OpenClaw

Os usuários empresariais precisam de dados. Os administradores de banco de dados escrevem consultas. Essa lacuna — entre a pessoa que sabe que pergunta fazer e a pessoa que sabe como recuperar a resposta — custa muito tempo às organizações e concentra gargalos analíticos nas pessoas com conhecimento de SQL.

A consulta ao banco de dados em linguagem natural (também chamada de texto para SQL ou NL para SQL) preenche essa lacuna. O recurso de consulta NL do OpenClaw permite que usuários corporativos façam perguntas em inglês simples e recebam respostas precisas de seus bancos de dados sem conhecimento de SQL, credenciais de acesso ao banco de dados ou espera por um desenvolvedor.

Esta não é a experiência simples de chatbot sobre CSV que muitas ferramentas oferecem. Trata-se de texto para SQL de nível de produção, capaz de lidar com consultas complexas de várias tabelas, cálculos agregados, expressões de intervalo de datas e tradução de terminologia comercial.

Principais conclusões

  • Os usuários empresariais podem consultar bancos de dados de produção usando inglês simples, sem conhecimento de SQL
  • OpenClaw traduz linguagem natural para SQL parametrizado - nunca entrada bruta do usuário para SQL (seguro para injeção)
  • A compreensão do esquema por meio da camada semântica mapeia a terminologia de negócios para campos técnicos do banco de dados
  • São suportadas consultas complexas, incluindo junções, agregações, CTEs e funções de janela
  • Os resultados são retornados em formato amigável aos negócios, com contexto e visualizações
  • O controle de acesso garante que os usuários consultem apenas os dados que estão autorizados a ver
  • O cache de consultas reduz a carga do banco de dados e o tempo de resposta para perguntas comuns
  • A integração com Odoo, PostgreSQL, MySQL, SQL Server, BigQuery e Snowflake é nativa

O problema de tradução de linguagem natural para SQL

Traduzir a linguagem natural para SQL é extremamente difícil. A aparente simplicidade — "basta fazer uma pergunta e obter uma resposta" — esconde vários problemas difíceis que determinam se a implementação é utilizável em produção ou se é uma demonstração frustrante.

Problema 1: Mapeamento de terminologia. Os usuários empresariais dizem "receita" — mas esse é o campo invoice_total, o campo order_amount ou o campo payment_received? "Clientes" pode significar a tabela accounts, a tabela contacts ou uma visualização que une ambas. Sem uma camada semântica que mapeie a terminologia de negócios para o esquema técnico, o LLM tem que adivinhar – e frequentemente adivinha errado.

Problema 2: Complexidade do esquema. Os bancos de dados empresariais têm centenas ou milhares de tabelas. Uma pergunta sobre “desempenho de vendas por região neste trimestre” pode exigir a junção de 6 a 8 tabelas. O LLM precisa de contexto de esquema suficiente para gerar a junção correta, mas enviar o esquema inteiro em cada prompt é ineficiente e caro.

Problema 3: Resolução de ambiguidade. "Mostre-me os principais clientes" — principais por qual métrica? Qual período de tempo? Existe um limite para "topo"? Os sistemas de consulta em linguagem natural que não lidam com a ambiguidade ou adivinham (e muitas vezes estão errados) ou pedem esclarecimentos (o que os usuários consideram frustrante).

Problema 4: Verificação de correção. Você não pode simplesmente confiar que o SQL gerado está correto. Ele precisa de validação – validação sintática (será executado?), validação semântica (responde à pergunta pretendida?) e validação de resultados (os resultados parecem plausíveis?).

Problema 5: Segurança. A entrada de linguagem natural não pode ser transmitida diretamente ao banco de dados. O SQL gerado deve ser parametrizado, validado e com acesso controlado antes da execução. Caso contrário, um usuário perguntando "mostre-me vendas onde nome = '; DROP TABLE vendas;'" poderia causar danos reais.

A arquitetura de consulta NL do OpenClaw aborda todos os cinco problemas.


Arquitetura: como funcionam as consultas do OpenClaw NL

Camada Semântica

A camada semântica é a base das consultas NL com qualidade de produção. É uma definição estruturada dos conceitos de negócios que o agente usa para traduzir a linguagem do usuário em objetos de banco de dados.

Componentes da camada semântica:

Definições do conceito de negócio: "Receita" = SUM(invoice_lines.unit_price * invoice_lines.quantity) WHERE invoice.state = 'posted'. "Clientes ativos" = accounts WHERE account_type = 'customer' AND last_transaction_date > NOW() - INTERVAL '12 months'.

Alases de terminologia: Mapeie vários termos para o mesmo conceito. “Receita”, “vendas”, “faturamento”, “receita” são mapeados para o cálculo da receita. “Cliente”, “cliente”, “conta”, “comprador” são mapeados para a tabela de contas.

Definições de relacionamento: documente como as tabelas se relacionam e quais junções estão corretas para quais perguntas. “Produtos vendidos a um cliente” requer um caminho de junção específico através de pedidos e linhas de pedido – documente isso uma vez na camada semântica.

Definições de métricas: Pré-defina métricas calculadas (% de margem bruta, custo de aquisição de clientes, dias de vendas pendentes) com suas fórmulas precisas. Os usuários podem solicitar essas métricas pelo nome.

Definições de controle de acesso: defina quais funções de usuário podem acessar quais tabelas, colunas e subconjuntos de linhas. Um gerente regional de vendas pode consultar apenas os dados da sua região.

Pipeline de geração de consultas

Quando um usuário envia uma pergunta em linguagem natural, o OpenClaw a processa por meio de um pipeline de várias etapas:

Etapa 1 — Classificação de intenção: Classifique o tipo de pergunta (pesquisa, agregação, análise de tendências, comparação, classificação) e identifique as principais entidades envolvidas.

Etapa 2 — Extração de entidades: Identifique as entidades comerciais mencionadas na pergunta (produtos, clientes, períodos de tempo, geografias) e mapeie-as para conceitos da camada semântica.

Etapa 3 — Detecção de ambigüidade: Identifique termos ambíguos e resolva-os usando o contexto (turnos de conversa anteriores, perfil do usuário) ou gere uma pergunta esclarecedora.

Etapa 4 — Seleção do esquema: Selecione o subconjunto relevante do esquema do banco de dados necessário para responder à pergunta. Isso evita sobrecarregar o contexto do LLM com esquemas irrelevantes.

Etapa 5 — Geração de SQL: Gere SQL usando as entidades resolvidas, mapeamentos de camada semântica e esquema selecionado. A saída é SQL parametrizada, nunca interpolação de string.

Etapa 6 — Validação: Valide sintaticamente o SQL gerado. Valide semanticamente que ele aborda a questão. Verifique as estimativas de contagem de linhas para detectar consultas que retornariam resultados inesperados.

Etapa 7 — Aplicação do controle de acesso: Verifique se o usuário que faz a consulta tem acesso de leitura a todas as tabelas e colunas referenciadas. Adicione filtros de segurança em nível de linha automaticamente com base no perfil de acesso do usuário.

Etapa 8 — Execução e formatação do resultado: Execute a consulta validada. Formate os resultados para facilitar a leitura comercial: nomes de colunas legíveis por humanos, formatação de números apropriada, formatação de data e contexto sobre o significado dos números.

Etapa 9 — Resposta em linguagem natural: Gere um resumo dos resultados em linguagem natural. "Sua receita no primeiro trimestre foi de US$ 4,2 milhões, um aumento de 23% em relação ao primeiro trimestre do ano passado. O crescimento foi impulsionado principalmente pelo segmento empresarial (+41%)."


Complexidade de consulta suportada

A capacidade de consulta NL do OpenClaw lida com todo o espectro de complexidade SQL:

Pesquisas simples:

  • "Qual é o preço atual do Produto SKU-1234?"
  • "Mostre-me as informações de contato da Acme Corp"

Agregações:

  • "Qual foi a receita total por categoria de produto no último trimestre?"
  • “Quantos novos clientes conquistamos a cada mês deste ano?”

Junções de múltiplas mesas:

  • "Quais clientes compraram o Produto A, mas não o Produto B, nos últimos 6 meses?"
  • "Mostre-me todas as faturas em aberto onde o limite de crédito do cliente é menor que o valor da fatura"

Análise de série temporal:

  • "Mostre-me a receita mensal dos últimos 24 meses com uma média móvel de 3 meses"
  • "Compare o desempenho de vendas por representante de vendas entre o primeiro trimestre de 2024 e o primeiro trimestre de 2025"

Classificações e N principais consultas:

  • "Mostre-me os 20 principais clientes por valor vitalício"
  • "Quais são os 10 produtos que apresentam as maiores taxas de devolução?"

Análise de coorte:

  • “Para clientes adquiridos no 1º trimestre de 2024, qual percentual ainda está ativo hoje?”
  • "Qual é o valor médio da vida útil do cliente para clientes adquiridos através de diferentes canais?"

Questões comerciais complexas:

  • "Quais clientes correm risco de rotatividade com base na diminuição da frequência dos pedidos?"
  • "Quais combinações de produtos são frequentemente compradas juntas?"

Experiência do usuário empresarial

A experiência do usuário empresarial é deliberadamente simples. Os usuários interagem por meio de uma interface de chat ou de um widget de consulta incorporado em suas ferramentas existentes.

Interface de conversação:

Usuário: "Mostre-me a receita por vendedor neste trimestre em comparação com sua cota"

Agente: "Aqui está o alcance da cota pelo vendedor no primeiro trimestre de 2026:

VendedorReceitaCotaRealização
Sara ChenUS$ 847.200US$ 800.000105,9%
Tiago WilsonUS$ 721.500US$ 850.00084,9%
Maria GarciaUS$ 912.300US$ 900.000101,4%

Sarah e Maria estão no caminho certo. James está com US$ 128.500 atrasados ​​na cota, faltando 3 semanas para o final. Você gostaria de ver o pipeline de James para avaliar se ele pode preencher a lacuna?”

Perguntas de acompanhamento: os usuários podem fazer perguntas de acompanhamento no contexto. “Quais acordos James tem na fase final?” - o agente entende que "James" se refere a James Wilson da conversa anterior.

Explicação: Os usuários podem perguntar "por quê?" ou "como você calculou isso?" e o agente explica o cálculo e mostra os dados subjacentes.

Visualização: Para dados de tendência, o agente gera um gráfico ao lado da tabela. Os usuários podem solicitar tipos de gráficos específicos: “mostre-me como um gráfico de barras” ou “trace isso ao longo do tempo”.


Arquitetura de segurança

A segurança não é negociável para qualquer sistema que acesse bancos de dados de produção. Modelo de segurança de consulta NL do OpenClaw:

Conexões somente leitura: A conexão de consulta tem permissões de banco de dados somente leitura. É estruturalmente impossível para o agente modificar os dados através da interface de consulta NL.

Consultas parametrizadas: Todo o SQL gerado pelo agente é parametrizado — os valores fornecidos pelo usuário nunca são concatenados em strings SQL. Isso elimina o risco de injeção de SQL no nível da arquitetura.

Segurança em nível de linha: As políticas de acesso são aplicadas no momento da geração da consulta. Um gerente regional de vendas obtém automaticamente WHERE region = 'North' anexado a todas as consultas. Um agente de atendimento ao cliente só pode ver as contas atribuídas.

Controle de acesso em nível de coluna: Colunas confidenciais (informações de salário, SSNs, dados de cartão de pagamento) são excluídas do esquema consultável para funções sem acesso apropriado.

Validação de consulta: Antes da execução, cada consulta gerada passa por uma etapa de validação de segurança que verifica: referências de tabela não autorizadas, tentativas de acesso a colunas restritas, padrões de consulta suspeitos e limites de complexidade de consulta (evitando consultas acidentais ou intencionais de esgotamento de recursos).

Registro de auditoria: todas as consultas, quem fez a solicitação, quando e quais dados foram retornados são registrados. Isso oferece suporte a relatórios de conformidade e detecção de ameaças internas.


Integração com Sistemas Empresariais

Odoo ERP: OpenClaw tem profunda integração com o modelo de dados do Odoo. A terminologia de negócios é mapeada automaticamente para o esquema do Odoo – “pedidos de vendas”, “faturas de fornecedores”, “pedidos de fabricação”, “movimentos de estoque” todos são resolvidos corretamente nas tabelas Odoo apropriadas.

PostgreSQL e MySQL: Conexão direta com introspecção completa do esquema. A camada semântica é configurada durante a implementação para mapear a terminologia comercial para o esquema específico.

Bancos de dados analíticos: Snowflake, BigQuery, Redshift e Databricks são compatíveis com organizações que centralizam dados analíticos em um data warehouse. Esses ambientes lidam com consultas analíticas complexas (agregações em grande escala, análise de tendências históricas) que são inadequadas para bancos de dados de produção.

SQL Server e Oracle: compatível com organizações que executam plataformas de dados Microsoft ou Oracle.

Vários bancos de dados: O agente pode federar consultas em vários bancos de dados — responder perguntas que exigem a combinação de dados do CRM (Salesforce) e do ERP (Odoo) sem a necessidade de um data warehouse.


Implementação: Construindo a Camada Semântica

A camada semântica é o artefato de implementação mais importante para a qualidade da consulta NL. ECOSIRE constrói a camada semântica através de um processo estruturado:

Semana 1-2: Descoberta

  • Entreviste usuários empresariais para coletar perguntas comuns
  • Auditar o esquema do banco de dados com a equipe técnica
  • Identificar conflitos e ambiguidades terminológicas
  • Priorize as 50 questões comerciais mais comuns

Semana 2-4: Construção da camada semântica

  • Definir mapeamentos de conceito de negócio
  • Escreva definições métricas com fórmulas precisas
  • Documentar relacionamentos de junção
  • Configurar políticas de controle de acesso

Semana 4-6: Teste e calibração

  • Teste as 50 questões prioritárias em relação à camada semântica
  • Identifique incompatibilidades e refine a camada semântica
  • Expandir os testes para 200 perguntas cobrindo casos extremos
  • Ajuste os limites de confiança para perguntas de esclarecimento

Semana 6 a 8: Teste de aceitação do usuário

  • Implantar em um grupo de usuários piloto
  • Colete feedback sobre a precisão do tratamento das perguntas
  • Adicione terminologia de consultas reais de usuários à camada semântica
  • Medir a taxa de precisão das respostas às perguntas

Perguntas frequentes

Qual é a precisão da tradução da linguagem natural para SQL na prática?

Para questões dentro do escopo da camada semântica configurada, a precisão normalmente atinge 88-95% para questões comerciais padrão. A precisão é menor para questões analíticas de múltiplas etapas altamente complexas e para questões sobre áreas do esquema não cobertas pela camada semântica. A precisão melhora nos primeiros 2 a 3 meses, à medida que perguntas reais de usuários são usadas para refinar a camada semântica.

O agente pode gerar SQL que possa ser executado diretamente por um desenvolvedor?

Sim. Opcionalmente, o agente pode expor o SQL gerado aos usuários que desejam vê-lo, copiá-lo ou modificá-lo por conta própria. Isto é particularmente valioso para analistas de dados que desejam começar a partir de uma consulta gerada e personalizá-la ainda mais. A interface mostra a linguagem natural, o SQL gerado e os resultados juntos.

O que acontece quando o agente não entende uma pergunta ou a pergunta é ambígua?

O agente faz uma pergunta esclarecedora em vez de adivinhar. Por exemplo, "Quando você diz 'receita', você quer dizer receita faturada (incluindo faturas não pagas) ou receita cobrada (pagamentos recebidos)?" As perguntas de esclarecimento são reduzidas ao mínimo – o agente resolve casos inequívocos automaticamente e só pergunta quando a distinção afeta genuinamente a resposta.

Como lidamos com perguntas que exigiriam muitos recursos para serem respondidas em tempo real?

O agente estima o custo da consulta antes da execução. Perguntas que examinariam tabelas grandes ou executariam operações caras são redirecionadas para o banco de dados analítico (se disponível), agendadas como tarefas em segundo plano com resultados entregues de forma assíncrona ou apresentadas ao usuário com um aviso sobre o tempo de execução e confirmação necessária.

Os usuários empresariais não técnicos podem criar relatórios usando esse recurso?

Sim. A interface de consulta NL pode exportar resultados para Excel, gerar relatórios estáticos e criar consultas salvas que são atualizadas de acordo com uma programação. Os usuários empresariais podem criar relatórios pessoais a partir de consultas em linguagem natural sem assistência do desenvolvedor. As consultas salvas podem ser compartilhadas com outros usuários, construindo gradualmente uma biblioteca de consultas comuns que a equipe pode consultar.

Quais bancos de dados não são suportados?

Bancos de dados proprietários ou fechados sem interfaces SQL padrão (alguns bancos de dados NoSQL, armazenamentos de dados personalizados) podem exigir desenvolvimento adicional para integração. Os bancos de dados de documentos (MongoDB) e os armazenamentos de valores-chave (Redis) exigem abordagens diferentes dos bancos de dados relacionais. Para estes casos, a ECOSIRE projeta uma integração personalizada que traduz a linguagem de consulta apropriada em vez de SQL.


Próximas etapas

As consultas ao banco de dados em linguagem natural eliminam um dos gargalos mais persistentes na análise de negócios: a lacuna entre as pessoas que têm dúvidas e as pessoas que podem escrever consultas. A capacidade de consulta NL do OpenClaw, devidamente implementada com uma forte camada semântica, dá a cada usuário empresarial acesso direto aos seus dados.

Explore as habilidades personalizadas do OpenClaw para aprender sobre o recurso de consulta NL e outras opções de habilidades personalizadas ou agende uma avaliação do banco de dados para ver como o OpenClaw mapearia seu esquema de dados e questões de negócios específicos.

E

Escrito por

ECOSIRE Research and Development Team

Construindo produtos digitais de nível empresarial na ECOSIRE. Compartilhando insights sobre integrações Odoo, automação de e-commerce e soluções de negócios com IA.

Converse no WhatsApp