Mitigating Errors in LLM-Generated Web API Invocations via Retrieval-Augmented Generation and Constrained Decoding
Este artigo propõe e avalia a Geração Aumentada por Recuperação (RAG) e a Decodificação Restrita (CD) como estratégias complementares para melhorar a correção das invocações de APIs web geradas por LLMs, constatando que, embora a RAG reduza efetivamente as alucinações na geração de invocações completas, a CD proporciona uma prevenção mais confiável de parâmetros ilegais e aumenta significativamente a correção geral em diferentes cenários.
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ê está tentando construir uma casa, mas em vez de contratar um arquiteto mestre, você pede a um assistente muito inteligente, bem informado, mas um pouco distraído (o Large Language Model, ou LLM) para escrever as plantas para você.
O problema é que as "regras" para construir esta casa não estão dentro da cabeça do assistente. Elas estão escritas em um manual massivo e complexo chamado Especificação OpenAPI (um documento que diz exatamente quais portas abrir, quais chaves usar e qual o tamanho dos tijolos para encomendar).
Se você apenas pedir ao assistente para "construir uma porta", ele pode adivinhar o tamanho errado, usar a chave errada ou inventar uma porta que não existe no manual. Isso é chamado de alucinação.
Este artigo trata de dar a esse assistente duas ferramentas específicas para impedir que ele invente regras e comece a seguir o manual perfeitamente.
O Problema: O "Jogo de Adivinhação"
Os pesquisadores descobriram que, quando pediam aos modelos de IA para escrever código para conectar-se a serviços web (como enviar uma mensagem para o Slack ou verificar um Google Calendar), a IA cometia erros constantemente.
- Ela escolheria a "porta" errada (endpoint).
- Tentaria usar uma chave que não existia.
- Inventaria recursos que não estavam no manual.
A Solução: Duas Novas Ferramentas
O artigo testa duas maneiras diferentes de corrigir isso, usando um conjunto de dados de tarefas de codificação do mundo real.
Ferramenta 1: A "Folha de Cola" (Geração Aumentada de Recuperação - RAG)
A Analogia: Imagine que você está fazendo uma prova, mas tem permissão para levar uma página específica do livro didático para a sala. Antes de a IA escrever sua resposta, um robô bibliotecário (o Recuperador) olha para o manual massivo, encontra a página exata sobre a "Porta" que você precisa e a entrega à IA.
- Como funcionou: Os pesquisadores construíram um sistema que captura a parte relevante do manual da API e a cola no prompt da IA.
- O Resultado: Foi um mix de resultados.
- Bom: Quando a IA não sabia qual porta escolher, a folha de cola ajudou-a a encontrar a certa. Isso impediu a IA de inventar portas falsas.
- Ruim: Quando a IA já sabia qual porta escolher, a folha de cola às vezes a confundia. A IA via uma lista de 20 chaves possíveis na folha de cola e pensava: "Eu provavelmente deveria usar todas elas!", mesmo que a tarefa só precisasse de uma. Isso tornava o código bagunçado e incorreto.
- Veredito: Ajuda a encontrar o caminho certo, mas pode tornar a IA "ansiosa demais" para usar opções extras que ela não precisa.
Ferramenta 2: Os "Trilhos do Trem" (Decodificação Restrita - CD)
A Analogia: Imagine que a IA é um trem. Normalmente, o trem pode ir para qualquer lugar no mapa, inclusive para fora dos trilhos, em um pântano (alucinações). A Decodificação Restrita é como colocar trilhos de aço que só vão para destinos válidos. O trem fisicamente não consegue sair dos trilhos.
- Como funcionou: Os pesquisadores pegaram o manual e o transformaram em um conjunto de regras estritas (como um labirinto). Enquanto a IA tentava digitar a próxima palavra de código, o sistema verificava: "Esta palavra é permitida pelas regras?". Se a IA tentasse digitar uma porta falsa ou uma chave errada, o sistema a bloqueava e a forçava a escolher uma opção válida.
- O Resultado: Esta foi a clara vencedora.
- Zero Alucinações: A IA não conseguiu inventar uma única URL, método ou argumento falso. Era matematicamente impossível para ela quebrar as regras.
- Melhor Precisão: Como ela não podia inventar coisas, o código que ela escrevia tinha muito mais probabilidade de estar correto.
- Veredito: Esta é a ferramenta mais confiável. Ela força a IA a ser obediente ao manual.
A Combinação: "Folha de Cola" + "Trilhos do Trem"
Os pesquisadores tentaram usar as duas ferramentas ao mesmo tempo.
- O Resultado: Funcionou muito bem para alguns modelos, dando as pontuações mais altas. No entanto, não foi consistente. Às vezes, a "Folha de Cola" fazia a IA tentar usar muitas opções e, embora os "Trilhos do Trem" a impedissem de fazer movimentos ilegais, ela ainda fazia movimentos desnecessários.
- Veredito: É poderoso, mas os "Trilhos do Trem" sozinhos são mais seguros e consistentes.
A Conclusão
O artigo conclui que, embora a IA seja ótima para escrever código, ela é péssima em seguir livros de regras externos e complexos por conta própria.
- RAG (A Folha de Cola) é como dar um livro de referência à IA. Ajuda, mas a IA pode se distrair com excesso de informação.
- CD (Os Trilhos do Trem) é como construir uma gaiola ao redor da IA que só permite movimentos válidos. É a maneira mais eficaz de impedir que a IA invente regras.
Os pesquisadores dizem que, se você quer que uma IA escreva código que se conecte a serviços web sem quebrar, você não deve confiar apenas na memória da IA. Você precisa ou dar a ela o manual certo (RAG) ou, melhor ainda, forçá-la a seguir as regras estritamente (CD). A abordagem dos "Trilhos do Trem" é a maneira mais confiável de garantir que o código realmente funcione.
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.