← Últimos artigos
💬 NLP

SQL Query Engine: A Self-Healing LLM Pipeline for Natural Language to PostgreSQL Translation

O artigo apresenta o SQL Query Engine, um serviço de código aberto que traduz perguntas em linguagem natural para consultas PostgreSQL validadas por meio de um pipeline de dois estágios com LLMs, incorporando um mecanismo de auto-cura iterativo que utiliza mensagens de erro do banco de dados para corrigir falhas e melhorar a precisão sem comprometer resultados anteriores.

Autores originais: Muhammad Adeel Ijaz

Publicado 2026-04-21
📖 4 min de leitura☕ Leitura rápida

Autores originais: Muhammad Adeel Ijaz

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você tem um garçom superinteligente (o modelo de IA) que trabalha em um restaurante muito complexo (o banco de dados PostgreSQL). O cliente (você) chega e faz um pedido em linguagem natural, como: "Quero ver todos os pedidos de pizza feitos ontem à noite que custaram mais de 50 reais."

O problema é que, às vezes, o garçom não conhece o cardápio perfeitamente, ou confunde "pizza" com "lasanha", ou esquece de checar se o prato existe. Se ele trouxer a comida errada, o restaurante tradicional apenas diria: "Erro, tente de novo" e pararia.

O SQL Query Engine descrito neste relatório técnico é como um sistema de auto-reparação para esse garçom. Ele não apenas tenta adivinhar o pedido, mas se o pedido der errado, ele conserta a si mesmo antes de entregar a resposta.

Aqui está como funciona, passo a passo, usando analogias do dia a dia:

1. O Garçom e o Cardápio (Introspecção do Esquema)

Antes de pedir qualquer coisa, o sistema olha para o cardápio (o banco de dados) e cria um resumo simples e claro das opções disponíveis.

  • A Mágica: Ele guarda esse resumo na memória (usando o Redis, que é como uma prancheta rápida). Se você fizer outra pergunta sobre o mesmo assunto, ele não precisa ler o cardápio inteiro de novo; ele já sabe o que tem na geladeira. Isso torna tudo muito mais rápido.

2. A Primeira Tentativa (Geração da Consulta)

Você faz sua pergunta. O garçom (a IA) tenta traduzir isso para a linguagem do restaurante (SQL).

  • O Truque: Não importa se o garçom escreve a resposta em um bilhete, em um código de computador ou apenas em texto solto. O sistema tem um "tradutor universal" que consegue pegar a receita do prato, não importa como ela foi escrita.

3. O Ciclo de Auto-Reparação (O Coração do Sistema)

Aqui está a parte mais genial. Quando o garçom tenta entregar o pedido na cozinha (executar a consulta no banco de dados), duas coisas podem acontecer:

  • Cenário A: Sucesso! O prato sai pronto e tem comida nele.
    • A Regra de Ouro (Early-Accept): Se o prato está bom e tem comida, o sistema para imediatamente. Ele não deixa o garçom tentar "melhorar" o prato e estragá-lo. Ele entrega o que funciona.
  • Cenário B: Erro ou Prato Vazio. A cozinha diz: "Não temos o ingrediente X" ou "O prato ficou vazio".
    • O Diagnóstico: Em vez de apenas dizer "erro", o sistema pega a nota técnica da cozinha (o código de erro exato do PostgreSQL) e mostra para o garçom: "Ei, você pediu 'data_de_nascimento', mas o cardápio chama isso de 'nascido_em'. Tente de novo."
    • A Correção: O garçom lê a nota, entende o erro, corrige a receita e tenta de novo. Ele pode fazer isso várias vezes (até 5 vezes) até conseguir.

4. O Guarda-Costas (Segurança)

Para garantir que ninguém estrague o restaurante, o sistema tem um guarda-costas rígido.

  • Mesmo que o garçom tente escrever um pedido para "apagar todos os pedidos" ou "mudar o preço da pizza", o guarda-costas (o driver do banco de dados) bloqueia imediatamente. O sistema só pode ler os dados, nunca apagar ou mudar nada. É como se o garçom pudesse apenas olhar na geladeira, mas nunca tirar nada ou jogar comida fora.

5. O Resultado Final (Avaliação)

O sistema testou essa ideia com dois tipos de "testes de culinária":

  1. Testes de Laboratório (Benchmarks Sintéticos): Perguntas simples e limpas. O sistema conseguiu acertar 9,3% a mais do que sem o conserto automático.
  2. Testes do Mundo Real (BIRD): Perguntas complexas, com dados bagunçados e reais. O sistema conseguiu acertar 4,6% a mais do que os métodos tradicionais.

O Grande Aprendizado:
Às vezes, tentar consertar algo que já está certo pode estragá-lo. Por isso, o sistema é muito cuidadoso: se a primeira tentativa funciona, ele não mexe mais. Mas se falhar, ele usa a inteligência da IA para ler o erro técnico e se corrigir, como um programador experiente que olha para uma mensagem de erro e sabe exatamente o que mudar.

Resumo em uma frase

O SQL Query Engine é um assistente que traduz suas perguntas em comandos de banco de dados, mas, ao contrário de assistentes comuns que desistem ao errar, ele lê o erro técnico, entende o que deu errado e tenta consertar a si mesmo até conseguir a resposta certa, tudo isso sem nunca permitir que você apague ou estrague seus dados.

É como ter um garçom que não só entende o que você quer, mas que, se a cozinha reclamar, ele vai até lá, pergunta o que houve, ajusta o pedido e traz a comida certa, garantindo que você nunca receba um prato vazio ou errado.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →