Kaique Mitsuo Silva Yamamoto
Ia

Prompt Engineering

Prompt Engineering e a arte de criar instrucoes eficazes para modelos de linguagem. Um bom prompt pode fazer a diferenca entre uma resposta util e uma irrelevante.

Principios Fundamentais

1. Seja Especifico

# Ruim
"Escreva sobre Python"

# Bom
"Escreva um guia de 500 palavras sobre list comprehensions em Python,
incluindo 3 exemplos praticos de uso no dia a dia."

2. Forneca Contexto

# Ruim
"Como resolver esse erro?"

# Bom
"Sou um desenvolvedor Python trabalhando com FastAPI.
Estou recebendo o erro 'TypeError: Object of type datetime is not JSON serializable'
ao retornar uma resposta com um campo de data. Como resolver?"

3. Defina o Formato de Saida

"Liste 5 frameworks Python para APIs REST.
Formato:
- Nome: [nome do framework]
- Vantagem: [principal vantagem]
- Caso de Uso: [quando usar]"

Tecnicas Avancadas

Role Prompting

Defina uma persona para o modelo:

"Voce e um arquiteto de software senior com 15 anos de experiencia
em sistemas distribuidos. Responda de forma tecnica mas acessivel."

Few-Shot Learning

Forneca exemplos do que voce espera:

"Classifique o sentimento dos textos como POSITIVO, NEGATIVO ou NEUTRO.

Exemplos:
Texto: 'Adorei o produto, superou minhas expectativas!'
Sentimento: POSITIVO

Texto: 'Chegou quebrado e o suporte nao ajudou.'
Sentimento: NEGATIVO

Texto: 'O produto e ok, faz o que promete.'
Sentimento: NEUTRO

Agora classifique:
Texto: 'Entrega rapida mas a embalagem estava amassada.'
Sentimento:"

Chain of Thought (CoT)

Peca para o modelo mostrar o raciocinio:

"Resolva o problema passo a passo, explicando cada etapa do raciocinio
antes de dar a resposta final.

Problema: Uma loja tem 3 funcionarios. Cada um atende 8 clientes por hora.
Se a loja funciona 10 horas por dia, quantos clientes sao atendidos por semana
(6 dias)?"

Self-Consistency

Peca multiplas respostas e compare:

"Gere 3 solucoes diferentes para este problema.
Para cada solucao, liste pros e contras.
Ao final, recomende a melhor opcao justificando."

Estrutura de System Prompts

Template Completo

# IDENTIDADE
Voce e [papel/persona].

# CONTEXTO
[Informacoes relevantes sobre o dominio/situacao]

# OBJETIVO
[O que o modelo deve fazer]

# RESTRICOES
- [Restricao 1]
- [Restricao 2]

# FORMATO DE SAIDA
[Como a resposta deve ser estruturada]

# EXEMPLOS (opcional)
[Exemplos de entrada/saida esperada]

Exemplo Pratico

# IDENTIDADE
Voce e um revisor de codigo especializado em seguranca.

# CONTEXTO
Estou desenvolvendo uma API REST em Node.js com Express.
A API lida com dados sensiveis de usuarios.

# OBJETIVO
Revise o codigo fornecido identificando vulnerabilidades de seguranca.

# RESTRICOES
- Foque apenas em problemas de seguranca
- Nao sugira refatoracoes de estilo
- Priorize por severidade (CRITICA, ALTA, MEDIA, BAIXA)

# FORMATO DE SAIDA
Para cada vulnerabilidade:
1. Linha do codigo
2. Tipo de vulnerabilidade
3. Severidade
4. Descricao do risco
5. Correcao sugerida

Prompts para Codigo

Geracao de Codigo

"Implemente uma funcao em Python que:
- Nome: validate_email
- Entrada: string com email
- Saida: booleano indicando se e valido
- Requisitos:
  - Use regex
  - Valide formato basico (usuario@dominio.extensao)
  - Retorne False para strings vazias ou None
- Inclua docstring e type hints"

Debugging

"Analise o codigo abaixo e identifique o bug.

[codigo]

Contexto:
- Erro observado: [descricao do erro]
- Comportamento esperado: [o que deveria acontecer]
- Ambiente: Python 3.11, FastAPI 0.104

Forneca:
1. Causa do bug
2. Correcao
3. Explicacao de por que funciona"

Code Review

"Faca uma revisao deste codigo considerando:
1. Boas praticas
2. Performance
3. Legibilidade
4. Tratamento de erros
5. Seguranca

Para cada ponto, indique:
- Status: OK / ATENCAO / PROBLEMA
- Linha(s) afetada(s)
- Sugestao de melhoria (se aplicavel)

[codigo]"

Prompts para Documentacao

Geracao de README

"Gere um README.md para este projeto:
- Nome: [nome]
- Linguagem: [linguagem]
- Descricao: [breve descricao]

Inclua secoes:
1. Descricao do projeto
2. Pre-requisitos
3. Instalacao
4. Uso basico (com exemplos)
5. Configuracao
6. Contribuicao
7. Licenca"

Documentacao de API

"Documente este endpoint de API no formato OpenAPI/Swagger:

[codigo do endpoint]

Inclua:
- Descricao
- Parametros (path, query, body)
- Respostas possiveis (200, 400, 401, 500)
- Exemplos de request/response"

Anti-Patterns a Evitar

1. Prompts Vagos

# Evite
"Me ajude com codigo"

# Prefira
"Preciso de ajuda para implementar autenticacao JWT em FastAPI.
Quero uma funcao que valide tokens e extraia o user_id."

2. Muitas Instrucoes de Uma Vez

# Evite
"Crie um sistema completo de e-commerce com usuarios, produtos,
carrinho, checkout, pagamentos, notificacoes..."

# Prefira
Divida em tarefas menores e sequenciais.

3. Assumir Conhecimento Implicito

# Evite
"Use aquele padrao que conversamos"

# Prefira
"Use o padrao Repository para a camada de dados"

Tecnicas de Otimizacao

1. Iteracao

Comece simples e refine:

Iteracao 1: "Explique Docker"
Iteracao 2: "Explique Docker para iniciantes"
Iteracao 3: "Explique Docker para iniciantes usando analogias do dia a dia"

2. Delimitadores

Use delimitadores claros:

"Traduza o texto entre <texto> e </texto> para ingles.

<texto>
Seu texto aqui
</texto>"

3. Output Estruturado

"Responda APENAS em JSON valido com a estrutura:
{
  \"resposta\": \"string\",
  \"confianca\": \"alta|media|baixa\",
  \"fontes\": [\"string\"]
}"

Recursos