Benchmarking Web API Integration Code Generation
Este artigo apresenta o WAPIIBench, um conjunto de dados e um pipeline de avaliação que revelam que os atuais modelos de linguagem de grande escala de código aberto têm dificuldades significativas em gerar código de integração de API web correto, alcançando menos de 40% de sucesso devido a problemas como endpoints alucinados e uso incorreto de argumentos.
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 ensinar um robô muito inteligente e culto a pedir uma refeição específica em um cardápio de restaurante enorme e complexo. O cardápio não é apenas uma lista de pratos; é um conjunto rigoroso de regras sobre como escrever seu pedido, quais botões pressionar e exatamente quais ingredientes listar. Se você errar um único detalhe, a cozinha rejeita o pedido.
Este artigo trata de testar o quão bem esses "robôs" (que são, na verdade, Grandes Modelos de Linguagem, ou LLMs — a mesma tecnologia por trás dos chatbots de IA) conseguem escrever o código necessário para enviar esses pedidos para serviços web do mundo real (como Google Calendar, Slack ou Asana).
Aqui está uma análise do que os pesquisadores fizeram e do que descobriram, usando analogias simples:
O Problema: A "Magia" Ainda Não é Magia
Os desenvolvedores usam "Web APIs" para fazer com que diferentes softwares conversem entre si. É como conectar blocos de Lego. Normalmente, os humanos precisam escrever as instruções para encaixar esses blocos. A esperança era que a IA pudesse fazer isso automaticamente.
Os pesquisadores perguntaram: Será que uma IA consegue olhar para um pedido simples como "Adicionar um novo evento ao meu calendário" e escrever o código perfeito e livre de erros para fazer isso acontecer?
O Experimento: Construindo um "Teste de Direção" para a IA
Para descobrir, a equipe construiu um teste especial chamado WAPIIBench. Pense nisso como um teste de direção para a IA.
- O Percurso: Eles criaram 395 "cenários de direção" específicos usando quatro serviços populares do mundo real (Asana, Google Calendar, Google Sheets e Slack).
- As Regras: Eles usaram os "manuais do motorista" oficiais (especificações OpenAPI) para esses serviços para saber exatamente como um pedido correto se parece.
- O Teste: Eles deram à IA um comando (ex: "Criar um novo calendário") e pediram que ela escrevesse o código.
- A Verificação: Em vez de apenas ler o código para ver se ele parece correto, eles realmente tentaram executá-lo em um ambiente controlado e seguro (sandbox). Se o código tentasse enviar um pedido para um endereço inexistente ou usasse os "ingredientes" errados, o teste falhava.
Os Resultados: A IA se Perde Frequentemente
Os resultados foram um pouco decepcionantes para aqueles que esperavam uma automação instantânea.
- A Pontuação: Mesmo os melhores modelos de IA de código aberto conseguiram completar apenas cerca de 30% a 40% das tarefas corretamente. O melhor modelo comercial (GPT-4o) foi melhor, atingindo cerca de 60-77%, mas isso ainda significa que ele falhou em quase um terço das vezes.
- As "Alucinações": Este é o maior problema. A IA frequentemente inventava coisas.
- Endereços Falsos: A IA inventava endereços de URL que não existiam (como dizer a um taxista para ir para a "Rua 123 Falsa" quando o restaurante está na verdade na "Rua Principal 456"). Isso aconteceu em até 39% dos casos.
- Ingredientes Errados: A IA incluía parâmetros (ingredientes) que o serviço não aceitava, ou omitia os que eram obrigatórios.
- Sucesso Parcial: A IA era boa em lembrar a forma geral do código (como saber que precisa usar o método
POST, o que é como saber que você precisa "fazer um pedido" em vez de "cancelar um"). Mas, quando se tratava dos detalhes específicos de para onde enviá-lo e exatamente o que dizer, ela tinha dificuldade em montar as peças corretamente.
Algumas Reviravoltas Surpreendentes
- Maior nem sempre é Melhor: Às vezes, um modelo de IA de tamanho médio teve um desempenho pior do que um modelo minúsculo e um gigante. É como um aluno que estudou demais para a prova errada e ficou confuso.
- Memória vs. Compreensão: A IA parecia ter "memorizado" partes dos manuais de seus dados de treinamento. Ela conhecia alguns URLs e nomes de argumentos, mas não conseguia combiná-los de forma confiável para resolver um problema novo e específico. Era como um aluno que memorizou as respostas do teste de matemática do ano passado, mas não conseguiu resolver os problemas deste ano.
- O Truque do "Preencha a Lacuna": Quando os pesquisadores deram à IA o endereço (URL) correto e apenas pediram que ela preenchesse o resto, a IA teve um desempenho muito melhor. Isso sugere que a IA sabe como seguir instruções se ela não tiver que adivinhar o destino primeiro.
A Conclusão
O artigo conclui que, embora a IA esteja ficando boa em escrever código, ela ainda não é confiável o suficiente para conectar sistemas de software automaticamente sem supervisão humana. Se você deixar uma IA escrever o código para conectar seus aplicativos de negócios à internet agora, ela provavelmente enviará seus dados para o lugar errado ou quebrará a conexão cerca de 60% a 70% das vezes.
Os pesquisadores dizem que precisamos de melhores verificações de segurança e novas maneiras de ajudar a IA a "consultar" as regras em tempo real (em vez de depender da memória) antes de podermos confiar nela para construir essas conexões por conta própria.
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.