← Últimos artigos
💻 computer science

When Prompt Under-Specification Improves Code Correctness: An Exploratory Study of Prompt Wording and Structure Effects on LLM-Based Code Generation

Este estudo exploratório revela que, embora a subespecificação de prompts tipicamente degrade a geração de código em benchmarks estruturalmente mínimos, ela pode surpreendentemente melhorar a correção em tarefas mais complexas como o LiveCodeBench ao interromper pistas enganosas, demonstrando que a robustez dos prompts depende altamente da estrutura da tarefa, e não de uma propriedade fixa do modelo.

Autores originais: Amal AKLI, Mike PAPADAKIS, Maxime CORDY, Yves Le TRAON

Publicado 2026-04-28
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Amal AKLI, Mike PAPADAKIS, Maxime CORDY, Yves Le TRAON

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á contratando um assistente brilhante, mas um pouco literal, para escrever um programa de computador para você. Você lhe dá um conjunto de instruções (um "prompt"). Por muito tempo, especialistas acreditaram que quanto mais precisas, detalhadas e rigorosas fossem suas instruções, melhor o assistente se sairia. Se você omitisse um detalhe, o assistente ficaria confuso e falharia.

Este artigo desafia essa antiga crença. Os pesquisadores descobriram que, às vezes, dar ao seu assistente menos detalhes realmente o ajuda a escrever um código melhor.

Veja como eles descobriram isso, explicado através de analogias simples:

1. Os Dois Tipos de "Provas"

Os pesquisadores testaram essa ideia em dois tipos diferentes de "provas" (benchmarks) para modelos de IA:

  • A Prova de "Flashcard" (HumanEval): São como flashcards curtos de uma única frase. As instruções são muito breves, sem contexto extra. É como perguntar: "Escreva uma função para ordenar esta lista."
  • A Prova de "Livro Didático" (LiveCodeBench): São como capítulos completos de livros didáticos. Incluem uma história longa, uma lista de regras, exemplos de entradas e saídas e restrições específicas. É como dizer: "Aqui está uma história sobre ordenar uma lista de nomes. Aqui estão as regras: os nomes não podem ter mais de 10 letras, e aqui está um exemplo de como a entrada se parece..."

2. O Experimento: "Quebrando" as Instruções

Os pesquisadores pegaram essas instruções e intencionalmente as "mutaram" de três maneiras para ver o que aconteceria:

  • Vagueza (LV): Eles trocaram palavras específicas por palavras vagas (por exemplo, mudar "ordenar" para "arranjar").
  • Subespecificação (US): Eles apagaram uma regra ou restrição específica (por exemplo, remover uma regra sobre o tamanho que os números podem ter).
  • Formatação Bagunçada (SF): Eles adicionaram erros de digitação ou alteraram o espaçamento.

3. Os Resultados Surpreendentes

Os resultados foram muito diferentes dependendo de qual "prova" a IA fez:

  • Na Prova de "Flashcard": Quando os pesquisadores removeram detalhes ou tornaram as palavras vagas, o desempenho da IA desabou. Assim como um aluno que entra em pânico quando um professor remove uma dica de um teste curto, a IA ficou confusa e escreveu código quebrado.
  • Na Prova de "Livro Didático": Quando fizeram a mesma coisa, o desempenho da IA permaneceu o mesmo ou, surpreendentemente, melhorou.

A Ilusão do "Zero Líquido":
No início, os pesquisadores pensaram que a IA na prova de "Livro Didático" simplesmente não se importava com as mudanças. Mas, ao olhar mais de perto, descobriram um cabo de guerra.

  • Algumas mudanças fizeram a IA falhar (degradação).
  • Mas quase o mesmo número de mudanças fez a IA ter sucesso onde antes havia falhado (melhoria).
  • Essas duas forças se cancelaram mutuamente, fazendo parecer que nada aconteceu.

4. Por Que "Menos" às Vezes Significa "Mais"?

O artigo encontrou uma razão fascinante para por que remover uma regra às vezes conserta o código. Trata-se de maus hábitos e "pistas".

Imagine que a IA é como um aluno que memorizou respostas de um livro didático específico.

  • A Armadilha: Às vezes, uma palavra específica ou um número específico no prompt atua como um "gatilho". Isso lembra à IA uma solução memorizada que parece correta, mas na verdade está errada para este problema específico.
    • Exemplo do artigo: Um problema mencionava "Moeda". Essa palavra fez a IA pensar em taxas de câmbio financeiras, levando-a a usar um algoritmo de pensamento reverso.
  • A Correção: Quando os pesquisadores removeram a palavra "Moeda" e a substituíram por uma palavra vaga como "Recurso", a IA parou de ativar sua "memória financeira". Em vez disso, foi forçada a realmente pensar na estrutura do problema do zero. Isso levou a uma solução correta.

Em outras palavras, os detalhes extras no prompt às vezes acidentalmente deram à IA uma "dica" que a levou pelo caminho errado. Remover essa dica forçou a IA a fazer o trabalho corretamente.

5. A Conclusão Principal

O artigo conclui que a robustez não depende do tamanho da IA (se é um modelo pequeno ou gigante); trata-se de como as instruções são construídas.

  • Se você der à IA um prompt curto de uma única frase, ele é muito frágil. Se você estragar a redação, ela falha.
  • Se você der à IA um prompt rico e multicamadas (com exemplos, restrições e formatos), ele é muito mais robusto. Ela tem "sinais de backup" para confiar se uma parte da instrução estiver confusa.
  • Crucialmente: Às vezes, ser muito específico é uma armadilha. Palavras ou números específicos podem acidentalmente "preparar" a IA para usar um atalho memorizado, mas incorreto. Remover essas pistas específicas pode, às vezes, forçar a IA a resolver o problema corretamente.

Em resumo: Não assuma que um prompt perfeito e detalhado é sempre o melhor. Às vezes, um prompt ligeiramente mais vago força a IA a pensar por si mesma, evitando as armadilhas de seus próprios hábitos memorizados.

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 →