Inteligência Artificial

1 abr, 2026

Engenharia de prompt 101: como estruturar prompts para ter o resultado desejado

Publicidade

Os grandes modelos de linguagem, conhecidos como LLMs, estão cada vez mais presentes na rotina das pessoas desenvolvedoras, analistas, estudantes e profissionais de tecnologia. Ferramentas com IA, como o GitHub Copilot, aumentam a produtividade, mas a qualidade do resultado depende diretamente de como as pessoas se comunicam com esses modelos.

Entender como os LLMs funcionam, quais são suas limitações e como escrever prompts claros e bem estruturados é essencial para aproveitar todo o potencial dessas tecnologias. Mais do que simplesmente “pedir algo à IA”, trata-se de aprender a orientar corretamente o modelo para obter resultados precisos, confiáveis e alinhados ao contexto do projeto.

image.png

O que são LLMs e como funcionam?

LLMs são modelos de inteligência artificial treinados com grandes volumes de dados textuais para compreender e gerar linguagem de forma semelhante à humana. Em outras palavras, funcionam prevendo a próxima palavra em uma frase com base no contexto anterior, quase como um sistema de autocompletar extremamente avançado.

Apesar do seu poder, esses modelos não entendem o conteúdo como os humanos. Eles operam com base em padrões estatísticos, o que torna três conceitos fundamentais para seu uso:

  • Contexto: quanto mais informações relevantes você fornece, maior a chance de o modelo produzir uma resposta coerente. Assim como em uma conversa humana, mensagens vagas tendem a gerar interpretações equivocadas.

image.png

  • Tokens: unidades de texto processadas pelo modelo. Uma palavra pode ser um único token ou ser dividida em partes menores. Cada modelo tem um limite de tokens, e tanto poucos quanto muitos deles podem impactar negativamente o resultado.

image.png

  • Limitações: LLMs podem cometer erros, “alucinar” informações ou fornecer respostas incompletas. Diferentemente dos humanos, eles se baseiam em probabilidades derivadas dos dados de treinamento, o que torna a supervisão humana essencial, especialmente na validação das saídas geradas.

image.png

O que é um prompt?

Um prompt é uma solicitação em linguagem natural que orienta o modelo a gerar uma resposta específica. Ele fornece o contexto necessário para que o LLM saiba o que abordar, como estruturar a resposta e dentro de quais restrições.

image.png

Por exemplo, ao pedir que um modelo escreva um trecho de código, o resultado pode variar bastante dependendo da clareza da instrução. Isso ocorre porque o modelo se baseia nos dados e contexto com os quais foi treinado para gerar a solução. Modelos diferentes, ou até o mesmo modelo em momentos distintos, podem produzir resultados diferentes para o mesmo prompt, já que são sistemas não determinísticos.

É justamente por causa dessa “lacuna” que existe a engenharia de prompt.

O que é engenharia de prompt?

Engenharia de prompt é a prática de elaborar instruções claras, específicas e bem estruturadas para orientar modelos de linguagem. Na prática, quanto mais preciso for o prompt, melhores e mais exatos tendem a ser os resultados.

Um prompt eficaz geralmente reúne alguns elementos essenciais: clareza sobre a tarefa ou pergunta, contexto suficiente para orientar o modelo, restrições bem definidas e, quando necessário, iteração. Ajustar e refinar um prompt faz parte do processo, e a primeira versão nem sempre é a melhor.

Por isso, escrever o prompt certo é tão importante. Quando bem feita, a engenharia de prompt pode melhorar significativamente a qualidade e a relevância dos resultados obtidos com um LLM.

image.png

Refinando prompts na prática

Vamos testar.

Imagine que você esteja usando o GitHub Copilot e diga: “Escreva uma função que eleve ao quadrado os números de uma lista”, em um novo arquivo sem código anterior para fornecer contexto ao Copilot. À primeira vista, parece um prompt simples e eficaz. Mas há vários pontos que não estão claros:

  • Em qual linguagem a função deve ser escrita?

  • Você quer incluir números negativos?

  • A entrada pode conter valores que não sejam números?

  • A função deve modificar a lista original ou retornar uma nova?

Embora pareça direto, muitos detalhes permanecem indefinidos. Qual linguagem de programação deve ser usada? A lista pode conter números negativos? A função deve alterar a lista original ou retornar uma nova?

Agora vamos reformular: “Escreva uma função em Python que receba uma lista de números inteiros e retorne uma nova lista em que cada número seja elevado ao quadrado, excluindo quaisquer números negativos.”

Com esse prompt, é muito mais provável que o resultado atenda às expectativas, porque o modelo recebe contexto, restrições e objetivos claros.

Como lidar com resultados inesperados

Mesmo com prompts bem escritos, os resultados nem sempre serão exatamente como esperado. Muitas vezes isso acontece porque o prompt inicial não foi específico o suficiente. A seguir, alguns cenários comuns que as pessoas desenvolvedoras podem encontrar ao trabalhar com modelos de linguagem.

Confusão no prompt

Misturar múltiplas solicitações ou escrever instruções pouco claras pode confundir o modelo. Por exemplo, pedir ao Copilot para “corrigir os erros neste código e otimizá-lo” levanta várias questões: ele deve corrigir os erros primeiro ou otimizar o código? E que tipo de otimização é esperada, desempenho, uso de memória ou legibilidade?

Mixing multiple requests or writing unclear instructions can easily confuse the model. For example, asking Copilot to “fix the errors in this code and optimize it” raises several questions: should it fix the errors first or optimize the code? And what kind of optimization is expected, performance, memory usage, or readability?

image.png

Para evitar isso, divida o prompt em etapas claras e sequenciais. Em vez de combinar tarefas, oriente o modelo explicitamente, por exemplo: primeiro corrija os erros no trecho de código; depois, otimize o código corrigido para melhor desempenho. Construir prompts de forma iterativa torna as etapas necessárias mais claras e aumenta a probabilidade de alcançar o resultado desejado.

Limitações de tokens

Tokens são unidades de palavras ou partes de palavras que um modelo pode processar, e todo LLM possui um limite máximo de tokens tanto para entrada quanto para saída. Se um prompt for muito longo ou a resposta esperada for extensa demais, o modelo pode retornar resultados incompletos, alucinar informações ou até falhar.

image.png

Para mitigar isso, mantenha os prompts concisos e focados. Forneça apenas o contexto necessário e considere trabalhar em partes menores. Em vez de compartilhar toda uma base de código, pergunte sobre uma função ou funcionalidade específica. Da mesma forma, em vez de solicitar uma aplicação completa, peça que o modelo gere componentes passo a passo.

Erros de suposição

Outro problema comum surge quando os usuários assumem que o modelo já entende o projeto. Um prompt como “adicione autenticação ao meu aplicativo” carece de contexto essencial: o modelo não sabe o que o aplicativo faz, quais tecnologias estão sendo usadas ou que tipo de autenticação é necessária.

image.png

Nesses casos, é fundamental declarar claramente os requisitos. Descreva as necessidades específicas, mencione boas práticas que deseja seguir e itere adicionando casos extremos ou restrições. Instruções explícitas ajudam a garantir que o modelo não ignore aspectos importantes ao gerar a resposta.

Boas práticas ao trabalhar com LLMs

Ao usar ferramentas como o GitHub Copilot, é importante fornecer apenas o contexto necessário, ser específico sobre o resultado esperado e dividir tarefas complexas em partes menores. Comunicação clara é o fator mais decisivo para obter resultados úteis e confiáveis.

Próximos passos

Engenharia de prompt é uma habilidade que melhora com a prática. Quanto mais você experimentar, testar e refinar instruções, melhor se tornará a interação com modelos de linguagem.