Agent Mentor Learn
Fundamentos de prompt engineering: como escrever instruções eficazes · Lição 6 de 6

Lição 6: Estratégias de prompt para tarefas diferentes

Objetivos de aprendizado:

  • Dominar as boas práticas de prompt para tarefas de geração de código
  • Aprender estratégias eficazes para escrever e resumir documentos
  • Entender técnicas de prompt para análise e extração de dados

Pré-requisitos: << 05 Depuração e melhoria de prompts

Tarefas diferentes exigem estratégias de prompt diferentes

Você já aprendeu a estrutura básica de um prompt, few-shot, CoT e como depurar — essas são habilidades gerais. Mas tipos diferentes de tarefa têm suas próprias manias e armadilhas, e pedem estratégias direcionadas.

Geração de código precisa de entradas, saídas e casos-limite claros; escrita de documentos precisa de um público e um tom definidos; extração de dados precisa lidar com valores ausentes e manter o formato consistente. Esta lição percorre técnicas concretas para três tipos comuns de tarefa.1

Tipo de tarefa 1: geração de código

Geração de código é uma das formas mais comuns de usar IA. O ponto é simples: explicite os requisitos com clareza e a IA consegue escrever código que você realmente aproveita.1

Os seis elementos de um prompt de geração de código

Um bom prompt de geração de código deveria incluir:1

  1. Linguagem e versão: Python 3.10, TypeScript 5.0
  2. Assinatura da função: tipos dos parâmetros de entrada, tipo de retorno
  3. Lógica central: o que a função deve fazer
  4. Casos-limite: como tratar entrada vazia e condições de erro — isto é programação defensiva: parta do princípio de que a entrada pode ser inválida e decida de antemão como responder
  5. Estilo de código: comentários, type hints, tratamento de erros
  6. Limites de dependências: apenas a biblioteca padrão, ou quais bibliotecas de terceiros são permitidas

Comparação: prompts de código vagos vs. claros

Prompt vago:

Escreva uma função Python para processar dados de usuário

A IA só pode adivinhar: que dados? Processar como?

Prompt claro:

Escreva uma função Python 3.10 com estes requisitos:
Comportamento:- Entrada: uma lista de dicts, cada um com name (str), age (int), email (str)- Saída: descarte usuários com age < 18, devolva os emails dos usuários restantes (sem duplicatas)
Requisitos:- Inclua type hints- Trate campos ausentes (se um dict não tiver age ou email, pule esse usuário)- Use apenas a biblioteca padrão do Python- Inclua uma docstring descrevendo o uso
Exemplo:Entrada: [{"name": "Alice", "age": 20, "email": "a@example.com"},        {"name": "Bob", "age": 15, "email": "b@example.com"},        {"name": "Charlie", "age": 25, "email": "a@example.com"}]Saída: ["a@example.com"]

Esse prompt amarra a entrada, a saída, os casos-limite e o estilo de código, então a IA consegue escrever código aproveitável já na primeira tentativa.

Há pesquisa por trás disso: "prompts with explicit specifications reduced the need for back-and-forth refinements by 68%" (prompts com especificações explícitas reduziram em 68% a necessidade de refinamentos de ida e volta)1 — detalhe as coisas e a chance de receber código pronto para usar aumenta muito.

Boas práticas de geração de código

Prática 1: explicite as estruturas de dados de entrada e saída

Não diga “processe os dados”. Diga “a entrada é List[Dict[str, Any]], a saída é Dict[str, int]”.

Prática 2: use exemplos para esclarecer casos-limite

Trate estes casos especiais:- Lista vazia na entrada → devolva uma lista vazia- Valor None → pule- Valor duplicado → mantenha a primeira ocorrência

Prática 3: especifique o estilo de código

Requisitos de estilo de código:- Use type hints- Inclua uma docstring (estilo Google)- Não comente demais (não explique código óbvio)- Priorize legibilidade primeiro, desempenho depois

Prática 4: diga o que você não quer

Não faça:- Não use variáveis globais- Não puxe dependências externas (apenas a biblioteca padrão)- Não escreva código de teste (apenas a função principal)

Prompts de code review

Quando você pede uma revisão de código à IA, nomeie explicitamente as dimensões da revisão:

Revise o código Python abaixo, focando em:
1. Correção: erros de lógica, tratamento de casos-limite2. Desempenho: análise de complexidade de tempo, possíveis gargalos3. Segurança: SQL injection, XSS, validação de entrada
Não comente sobre estilo de código nem nomenclatura (esses já passam nas checagens de lint).
Para cada problema encontrado, informe:- Localização (número da linha ou trecho de código)- Tipo do problema (bug / desempenho / segurança)- Impacto concreto (em que condições ele quebra)- Correção sugerida
Código:[cole o código]

Nomeie as dimensões da revisão e a IA não desperdiça tempo com detalhes que não importam.

Tipo de tarefa 2: escrita e resumo de documentos

Trabalho com documentos abrange bastante coisa: documentação técnica, anotações de reunião, resumos de artigos, geração de relatórios.

Os elementos-chave da escrita de documentos

  1. Público-alvo: leitores técnicos vs. não técnicos
  2. Objetivo: explicar como usar algo vs. convencer quem decide
  3. Tom e estilo: formal vs. informal, detalhado vs. conciso
  4. Modelo de estrutura: quais seções organizam o conteúdo

Comparação: prompts de resumo de documento

Prompt vago:

Resuma este documento técnico

Prompt claro:

Você é um technical writer, bom em transformar documentação técnicacomplexa em resumos que qualquer pessoa acompanha.
Tarefa: resuma a documentação de API abaixo como um guia de início rápidopara pessoas desenvolvedoras frontend.
Público: pessoas de engenharia frontend que conhecem JavaScript, mas nunca usaram esta API.
Formato de saída:1. Uma frase sobre o que esta API faz2. Os três recursos mais usados (para cada um: objetivo + exemplo de código)3. Um exemplo completo de cenário de uso4. Erros comuns e como corrigi-los (2-3)
Tom: direto e prático, sem discurso de marketing.
Tamanho: no máximo 800 palavras.
Documento original:[cole o documento]

Esse prompt amarra o público (pessoas de engenharia frontend), o objetivo (início rápido), a estrutura (quatro partes) e o tom (prático).

Boas práticas de escrita de documentos

Prática 1: explicite o repertório do público

Público:- Papel: pessoa de product management- Nível técnico: não programa, mas entende conceitos básicos de arquitetura de software- Objetivo de leitura: decidir se adota esta abordagem

Prática 2: forneça um modelo de estrutura

Organize assim:
## ContextoPor que esta abordagem é necessária (1 parágrafo)
## Opções comparadas| Opção | Prós | Contras | Custo ||--------|------|------|------|| ...    | ...  | ...  | ...  |
## RecomendaçãoQual opção escolher, e por quê (2-3 parágrafos)
## RiscosOs principais riscos desta abordagem e como lidar com eles (lista)

Prática 3: controle o nível de detalhe

Nível de detalhe:- Explique cada ponto em 1-2 frases, sem se estender- Pule detalhes de implementação, cubra só o impacto no negócio- Não cite código específico nem jargão técnico

Prompts de anotações de reunião

Você é uma pessoa assistente de projeto, boa em extrair os pontosprincipais de gravações ou transcrições de reunião.
Tarefa: escreva as anotações da reunião a partir da transcrição abaixo.
Estrutura de saída:1. Informações da reunião   - Data: AAAA-MM-DD   - Participantes: [lista]   - Tema: [uma frase]
2. Discussão (ordenada por prioridade)   Para cada item:   - Enunciado do problema (1 frase)   - Pontos discutidos (2-3)   - Decisão (uma conclusão clara; se nenhuma foi alcançada, escreva "pendente")
3. Itens de ação   Para cada um:   - Descrição da tarefa (comece com um verbo, acionável)   - Responsável   - Prazo
Restrições:- Registre apenas discussões com conclusão clara, pule as conversas paralelas- Todo item de ação precisa ser verificável (tem uma entrega clara)- Tamanho total de no máximo 500 palavras
Transcrição:[cole a transcrição]

Tipo de tarefa 3: análise e extração de dados

Análise de dados abrange extrair informação estruturada de texto, classificar, filtrar e contar.

Os elementos-chave da extração de dados

Um prompt confiável de extração de dados explicita quatro coisas de antemão:

  1. Definições dos campos: o que cada campo significa e qual a faixa de valores permitida
  2. Tratamento de valores ausentes: o que fazer quando um campo não é encontrado
  3. Formato de saída: JSON, CSV, tabela
  4. Validação de dados: se os dados extraídos precisam de checagem

Comparação: prompts de extração de dados

Prompt vago:

Extraia as informações principais desta vaga de emprego

Prompt claro:

Extraia os campos a seguir da vaga de emprego e devolva JSON.
Definições dos campos:- position (string): título da vaga- location (string): local de trabalho (cidade + bairro, se houver)- experience (string): experiência exigida (mantenha a redação original, ex.: "3-5 anos", "indiferente")- salary (string): faixa salarial (mantenha as unidades, ex.: "R$ 20-30 mil/mês", "a combinar")- company (string): nome da empresa
Tratamento de valores ausentes:- Se um campo não estiver no texto de origem, devolva null- Não chute nem infira informação ausente
Exemplo 1:Entrada: Contrata-se com urgência engenheiro Java, Vila Olímpia São Paulo, 3+ anos de experiência, R$ 25-35 mil/mês, XX TechSaída:{  "position": "Engenheiro Java",  "location": "Vila Olímpia, São Paulo",  "experience": "3+ anos",  "salary": "R$ 25-35 mil/mês",  "company": "XX Tech"}
Exemplo 2:Entrada: Desenvolvedor frontend, remoto, salário a combinarSaída:{  "position": "Desenvolvedor frontend",  "location": "remoto",  "experience": null,  "salary": "a combinar",  "company": null}
Agora processe:[cole a vaga de emprego]

Os exemplos cobrem tanto o caso completo quanto o caso com campos ausentes, então a IA sabe devolver null quando não encontra algo, em vez de inventar — esse hábito de fabricar fatos com confiança se chama alucinação (hallucination).

Boas práticas de extração de dados

Prática 1: explicite os valores permitidos de cada campo

Campo: sentimentValores permitidos: exatamente um entre "positivo" / "negativo" / "neutro"Não devolva: coisas como bom, animado, favorável, ou qualquer outra palavra

Prática 2: use few-shot para padronizar o formato

Ao extrair dados estruturados, 2-3 exemplos funcionam melhor do que uma descrição escrita (a técnica de few-shot da Lição 3).

Prática 3: diga como tratar casos-limite

Casos especiais:- Se um trecho carregar sentimento misto (“produto bom, mas caro demais”) → classifique como "neutro"- Se for uma pergunta pura (“como isso funciona?”) → classifique como "neutro"- Se o texto for curto demais (menos de 3 palavras) → devolva null

Prática 4: acrescente validação de dados

Regras de validação:- O campo salary precisa conter um número- Se experience não for null, precisa conter "ano" ou "indiferente"- location não pode ser string vazia — ou tem um valor, ou é null
Se os dados extraídos violarem uma regra de validação, devolva uma mensagem de erroem vez dos dados inválidos.

Aplicando os princípios gerais

Seja qual for a tarefa, os princípios gerais das lições anteriores continuam valendo:

  • Os quatro elementos (Lição 2): papel, tarefa, formato, restrições
  • Few-shot (Lição 3): dê 2-3 exemplos para tarefas complexas
  • CoT (Lição 4): acrescente “vamos pensar passo a passo” em tarefas que exigem raciocínio
  • Depuração (Lição 5): mude uma coisa de cada vez, verifique com casos de teste

As estratégias específicas por tarefa desta lição são otimizações direcionadas aplicadas em cima desses princípios gerais:

  • Geração de código → enfatize tipos de entrada/saída, casos-limite, o que não fazer
  • Escrita de documentos → enfatize o repertório do público, modelos de estrutura, tom
  • Extração de dados → enfatize definições de campo, tratamento de valores ausentes, exemplos few-shot

Recapitulação

Tarefas diferentes exigem estratégias de prompt diferentes:

  • Geração de código: amarre tipos de entrada/saída, casos-limite, estilo de código, limites de dependências; use exemplos para esclarecer casos especiais
  • Escrita de documentos: defina o repertório e o nível técnico do público, forneça um modelo de estrutura, controle o nível de detalhe e o tom
  • Extração de dados: defina os valores permitidos de cada campo, diga como tratar valores ausentes, use few-shot para padronizar o formato, acrescente validação de dados

Essas estratégias se apoiam nas habilidades gerais das lições anteriores (os quatro elementos, few-shot, CoT, depuração) — são otimizações para tipos específicos de tarefa. Na prática, escolha a combinação que serve à tarefa que está na sua frente.

Encerramento do curso

Você concluiu as seis lições de Fundamentos de Engenharia de Prompt:

  1. Entendeu o que um prompt realmente é e por que ele importa
  2. Dominou os quatro elementos centrais de um prompt
  3. Aprendeu a guiar a IA com exemplos usando few-shot
  4. Aplicou chain-of-thought para fazer a IA mostrar o raciocínio dela
  5. Construiu uma rotina sistemática para depurar e melhorar prompts
  6. Aprendeu as estratégias específicas para tipos diferentes de tarefa

Agora você tem a caixa de ferramentas completa. O próximo passo é praticar: pegue uma tarefa real do seu próprio trabalho, aplique estas técnicas, observe o que acontece e siga refinando. Engenharia de prompt é uma habilidade que se afia fazendo — o curso termina aqui, mas o aprendizado de verdade começa quando você põe isso em uso.

Footnotes

  1. Prompt Engineering for Code Generation — https://graphite.com/guides/better-prompts-ai-code 2 3 4

Exercícios

01

Dadas três tarefas, escolha os pontos de estratégia mais importantes para cada uma e explique por quê.

Nível 1: Escolher a estratégia certa para a tarefa

Tarefa A: fazer a IA gerar uma função Python que implementa busca binária Tarefa B: fazer a IA resumir um white paper técnico em um relatório de 2 páginas para a diretoria Tarefa C: fazer a IA extrair nome do cliente, tipo do problema e urgência de um lote de e-mails de clientes

Para cada tarefa, responda:

  1. De que tipo de tarefa se trata? (geração de código / escrita de documentos / extração de dados)
  2. Quais são os 3 pontos de estratégia mais importantes?
  3. Por que esses 3 pontos são os mais importantes para essa tarefa?
Critérios de conclusão · marcado localmente
02

Escolha um dos cenários abaixo e projete um prompt completo que reúna tudo o que o curso ensinou.

Nível 2: Projetar um prompt completo de tarefa

Opções de cenário:

Cenário 1: assistente de code review

  • Fazer a IA revisar um trecho de código Python em busca de possíveis problemas de desempenho e falhas de segurança
  • Devolver um relatório de revisão estruturado, ordenado por severidade
  • Cada problema inclui: localização, descrição, correção sugerida, prioridade

Cenário 2: gerador de anotações de estudo

  • Dar à IA a transcrição de uma aula técnica
  • Gerar anotações de estudo estruturadas: conceitos centrais, pontos-chave, dicas de prática, leitura complementar
  • Voltadas a iniciantes, em linguagem simples

Cenário 3: analisador de feedback de clientes

  • Extrair problemas comuns de 10-20 feedbacks de clientes
  • Saída: categorias de problema, a frequência de cada categoria, exemplos concretos, direções de melhoria sugeridas
  • Usado para decisões de iteração do produto

Requisitos: Seu prompt precisa:

  1. Incluir os quatro elementos (papel, tarefa, formato, restrições)
  2. Fornecer 2-3 exemplos few-shot, se exemplos forem necessários
  3. Acrescentar orientação de CoT, se houver raciocínio ou análise envolvidos
  4. Contemplar casos-limite e tratamento de valores ausentes
  5. Ter um formato de saída claro e fácil de usar mais adiante
Critérios de conclusão · marcado localmente