← Últimos artigos
🤖 AI

ACTS-SQL: Agentic and Critic-Oriented Tree-Structured SQL Correctness with Large Language Models

O artigo apresenta o ACTS-SQL, uma estrutura de estrutura em árvore, livre de treinamento, que aproveita planejamento agêntico, retrocesso e verificação baseada em execução para melhorar significativamente a precisão da correção de SQL tanto em avaliações de benchmark quanto em implementações industriais do mundo real.

Autores originais: Xinmei Huang, Jie Song, Peng Li, Fuxin Jiang, Jing Zhang, Tieying Zhang, Jianjun Chen, Chenming Liu, Tao Yang, Maoyin Liu, Wenda Li, Hong Chen, Cuiping Li

Publicado 2026-08-18
📖 7 min de leitura🧠 Leitura aprofundada

Autores originais: Xinmei Huang, Jie Song, Peng Li, Fuxin Jiang, Jing Zhang, Tieying Zhang, Jianjun Chen, Chenming Liu, Tao Yang, Maoyin Liu, Wenda Li, Hong Chen, Cuiping Li

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

No mundo moderno, vastas quantidades de informações são armazenadas em armazéns digitais chamados bancos de dados. Para fazer uma pergunta a esses armazéns, as pessoas usam uma linguagem específica conhecida como SQL, que atua como a interface primária para recuperar dados estruturados. Embora escrever essa linguagem corretamente exija uma compreensão profunda de relações complexas e lógica, até mesmo humanos experientes cometem erros que levam a respostas erradas. Recentemente, poderosos sistemas de computador conhecidos como modelos de linguagem de grande escala foram ensinados a escrever essas consultas automaticamente, prometendo tornar os dados acessíveis a todos. No entanto, esses modelos frequentemente produzem consultas que parecem corretas, mas falham em responder à verdadeira pergunta do usuário, ou contêm erros sutis que fazem o computador travar ou retornar resultados enganosos. Corrigir esses erros é difícil porque uma pequena mudança em uma parte de uma consulta pode alterar completamente o significado de todo o pedido.

Uma equipe de pesquisadores da Universidade Renmin da China e da ByteDance desenvolveu uma nova maneira de ajudar esses sistemas de computador a corrigir seus próprios erros. Em vez de tentar corrigir uma consulta errada em uma única linha reta, seu sistema, chamado ACTS-SQL, trata o processo como um caminho ramificado onde o computador pode explorar múltiplas possibilidades ao mesmo tempo. Se o computador tomar um caminho errado, ele pode dar um passo atrás e tentar uma rota diferente em vez de ficar preso em uma suposição falha. Essa abordagem foi testada em benchmarks padrão e em um sistema industrial do mundo real, onde melhorou significamente a precisão das perguntas que o computador gerou. Os pesquisadores descobriram que, ao permitir que o sistema faça uma pausa, verifique seu trabalho e reconsidere suas escolhas, ele poderia resolver problemas que métodos anteriores não conseguiam, tornando a tecnologia muito mais confiável para o uso cotidiano.

O problema central que os pesquisadores abordaram é que os sistemas de computador atuais frequentemente ficam presos em um loop de erros. Quando um modelo gera uma consulta errada, os métodos de correção antigos geralmente tentam corrigi-la passo a passo em um único raciocínio linear. Se o modelo comete um erro no início, como entender erroneamente o que um usuário quis dizer com uma palavra específica, cada correção subsequente é construída sobre esse erro inicial. Isso é como tentar navegar em um labirinto movendo-se apenas para frente; se você pegar um caminho errado no início, poderá continuar caminhando para dentro de um beco sem saída, convencido de que está no caminho certo, até que suas opções se esgotem. Os pesquisadores observaram que esses métodos lineares são frágeis porque não conseguem facilmente voltar para reconsiderar sua primeira escolha. Uma vez que o computador se compromete com uma interpretação específica do pedido de um usuário, ele raramente muda de ideia, mesmo quando os resultados provam que ele está errado.

Para resolver isso, a equipe projetou um sistema que organiza o processo de correção em uma estrutura de árvore. Imagine uma árvore de decisão onde o computador começa no topo e, sempre que uma ferramenta introduz um novo ponto de decisão — como quando a ferramenta 'Detect Ambiguities' identifica frases ambíguas específicas no pedido do usuário — ele se divide em diferentes ramos, cada um representando um significado possível diferente. Um ramo pode assumir que o usuário quer ver todas as vendas de um ano, enquanto outro assume que eles querem ver as vendas de um mês específico. O sistema então testa cada ramo independentemente. Se um ramo leva a um resultado que não corresponde ao que o usuário provavelmente pretendia, o sistema pode cortar esse ramo e retornar à divisão para tentar um caminho diferente. Essa capacidade de retroceder e explorar alternativas evita que o computador fique preso em uma única ideia incorreta.

O sistema funciona usando um "cérebro" central que cria um plano de como corrigir a consulta. Esse plano não é uma simples lista de etapas, mas um mapa de ações potenciais. O computador usa ferramentas especiais para ajudá-lo a navegar nesse mapa. Uma ferramenta ajuda o sistema a detectar palavras ambíguas na pergunta do usuário e gerar diferentes formas de entendê-las. Outra ferramenta permite que o computador execute pequenas partes da consulta contra o banco de dados real para ver quais dados retornam, agindo como um teste rápido para ver se uma ideia funciona. Se o computador encontrar um erro de sintaxe, que é um erro na gramática da consulta, uma ferramenta especializada quebra a consulta em pedaços menores para encontrar exatamente onde a gramática falhou sem ter que reescrever toda a coisa do zero.

Os pesquisadores testaram seu sistema em um benchmark chamado BIRD-Critic, que contém muitos exemplos de consultas SQL difíceis com vários tipos de erros. Eles compararam seu método com diversas outras abordagens, incluindo modelos poderosos que foram treinados especificamente para corrigir SQL e outros sistemas que tentavam corrigir erros usando um método linear e passo a passo. Os resultados mostraram que sua abordagem estruturada em árvore era significativamente mais precisa. No benchmark, o novo sistema melhorou a taxa de sucesso em 9,42 pontos percentuais em comparação com o melhor método anterior. Essa melhoria manteve-se constante em diferentes tipos de linguagens de banco de dados, sugerindo que o método é robusto e não depende de um estilo específico de escrita de consultas.

Para provar que o sistema funciona no mundo real, os pesquisadores o implementaram em um ambiente de produção na ByteDance, especificamente dentro de um serviço de análise de logs chamado Torch Log Service. Nesse cenário, o sistema foi usado para corrigir consultas geradas por um modelo de linguagem forte antes de serem enviadas aos usuários. Os resultados foram impressionantes: a precisão das consultas que foram executadas com sucesso saltou de 36,77% para 53,61%. Isso significa que, em um cenário do mundo real com dados complexos e customizados, o sistema foi capaz de transformar a maioria das tentativas falhas em sucessos. Os pesquisadores observaram que essa melhoria ocorreu sem a necessidade de retreinar o modelo de computador subjacente com novos dados, tornando a solução prática e fácil de integrar em sistemas existentes.

O estudo também destacou a importância de ser capaz de retroceder. Em um estudo de caso detalhado, os pesquisadores mostraram como um método linear falharia ao corrigir uma consulta sobre "vendas mensais" porque ficou preso na ideia de que o usuário se referia a vendas anuais. Não importava quantas vezes o sistema linear tentasse ajustar a consulta, ele não conseguia escapar dessa suposição errada inicial. Em contraste, o sistema estruturado em árvore reconheceu a ambiguidade, tentou a ideia de vendas anuais, viu que falhou e, em seguida, mudou imediatamente para um ramo que interpretou corretamente o pedido como dados mensais. Essa capacidade de mudar de direção com base em evidências foi a chave para o seu sucesso.

Embora o novo sistema seja mais eficaz, ele leva um pouco mais de tempo para rodar porque explora múltiplos camros e executa mais testes. Os pesquisadores mediram o tempo que levou para corrigir uma consulta e descobriram que ele adicionava alguns minutos ao processo, o que é uma troca razoável pelo ganho significativo em precisão. Eles também descobriram que o sistema funcionou bem com diferentes tipos de modelos de computador, não apenas com o que usaram para os testes, indicando que a abordagem é flexível e pode ser aplicada amplamente.

O trabalho demonstra que, para tarefas complexas como escrever consultas de banco de dados, uma abordagem estruturada e baseada em planos é superior a uma simples e linear. Ao dar ao computador a capacidade de fazer uma pausa, considerar múltiplas opções e dar um passo atrás quando comete um erro, o sistema torna-se muito mais confiável. Essa descoberta sugere que as melhorias futuras na inteligência artificial para análise de dados dependerão menos de tornar os modelos mais inteligentes isoladamente e mais de dar a eles melhores ferramentas e processos para verificar seu próprio trabalho. Os pesquisadores disponibilizaram seu código e dados, permitindo que outros construam sobre este método para melhorar ainda mais como os computadores interagem com os dados humanos.

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 →