๐ป Prompts para Geracao de Codigo
Gerar codigo com LLMs exige especificidade tecnica. Quanto mais contexto voce fornecer sobre linguagem, framework, estilo e requisitos, melhor sera o resultado. Um prompt vago gera codigo generico; um prompt preciso gera codigo pronto para uso.
๐ Anatomia do Prompt de Codigo
Linguagem: Python 3.11+
Framework: FastAPI com Pydantic v2
Estilo: Type hints, docstrings Google style, PEP 8
Tarefa: Criar endpoint POST /users que valida email, salva no DB e retorna 201
Requisitos: Validacao de email, tratamento de duplicatas (409), logging
Testes: Incluir 3 testes com pytest (sucesso, duplicata, email invalido)
๐ก Dica: Contexto Tecnico
Sempre mencione a versao da linguagem e do framework. Codigo que funciona em Python 3.8 pode nao usar features de 3.11 como match/case. Codigo para React 18 pode usar hooks que nao existiam no React 16. O contexto tecnico evita codigo desatualizado.
๐ Code Review com IA
LLMs sao excelentes revisores de codigo quando voce fornece criterios claros de revisao. Em vez de "revise este codigo", especifique o que procurar: seguranca, performance, legibilidade, bugs potenciais.
๐ Checklist de Review
- โขSeguranca: SQL injection, XSS, credenciais hardcoded, validacao de input, autorizacao
- โขPerformance: Queries N+1, loops desnecessarios, memory leaks, operacoes bloqueantes
- โขLegibilidade: Nomes de variaveis, funcoes muito longas, complexidade ciclomatica, comentarios
- โขBugs: Off-by-one, null pointer, race conditions, edge cases nao tratados
- โขArquitetura: Principio de responsabilidade unica, acoplamento, dependencias circulares
๐ท๏ธ Formato de Feedback
"Para cada problema encontrado, informe:
- [CRITICO] / [MEDIO] / [BAIXO] โ severidade
- Linha(s) afetada(s)
- Descricao do problema
- Sugestao de correcao com codigo"
๐ Debug Assistido
Quando algo nao funciona, a qualidade do prompt de debug determina se voce recebe uma solucao rapida ou sugestoes genericas. Forneca contexto estruturado sobre o bug: o que era esperado, o que aconteceu, o que ja tentou.
๐ Template de Bug Report para IA
Comportamento esperado: [O que deveria acontecer]
Comportamento real: [O que esta acontecendo]
Ambiente: [Python 3.11, Ubuntu 22.04, PostgreSQL 15]
Stack trace: [Colar o erro completo]
Codigo relevante: [Trecho minimo que reproduz o bug]
Ja tentei: [Solucoes que nao funcionaram e por que]
๐ก Hipoteses e Solucoes
Peca ao modelo para gerar hipoteses rankeadas: "Liste as 3 causas mais provaveis deste bug, em ordem de probabilidade, com um teste simples para confirmar cada uma." Isso e mais eficiente do que pedir uma unica solucao que pode estar errada.
๐ Manipulacao de Dados
LLMs podem atuar como ferramentas de ETL (Extract, Transform, Load) para pequenos e medios volumes de dados. Eles entendem CSV, JSON, XML e podem transformar entre formatos com instrucoes em linguagem natural.
๐ Prompt para Transformacao de Dados
Entrada: CSV com colunas [nome, email, data_nascimento, cidade]
Transformacoes:
1. Padronizar nomes para Title Case
2. Validar formato de email (marcar invalidos)
3. Converter data para formato ISO 8601
4. Normalizar nomes de cidades (acentuacao, abreviacoes)
Saida: JSON com campos validados + campo "erros" para linhas problematicas
โ Validacao e Formatos de Saida
- Sempre valide: Peca ao modelo para reportar dados inconsistentes em vez de silenciosamente ignora-los ou inventa-los.
- Especifique o schema: "Saida em JSON com campos: nome (string), valido (boolean), erros (array de strings)."
- Limites de volume: LLMs funcionam bem para 100-500 linhas. Para volumes maiores, peca ao modelo para gerar o script de transformacao em vez de transformar os dados diretamente.
๐๏ธ SQL e Queries com IA
Gerar SQL a partir de linguagem natural e uma das aplicacoes mais praticas de LLMs. A chave e descrever o schema do banco antes de pedir a query โ sem schema, o modelo inventa nomes de tabelas e colunas.
๐ Prompt de SQL Eficaz
Schema:
- usuarios (id, nome, email, created_at, plano_id)
- pedidos (id, usuario_id, valor, status, created_at)
- planos (id, nome, preco_mensal)
Banco: PostgreSQL 15
Pergunta: Quais usuarios do plano Premium fizeram mais de 5 pedidos no ultimo mes, ordenados por valor total?
Requisitos: Query otimizada, com indices sugeridos se necessario
โ ๏ธ Seguranca em SQL Gerado por IA
Nunca execute SQL gerado por IA diretamente em producao sem revisao. Sempre verifique: a query pode alterar dados (UPDATE/DELETE sem WHERE)? Ha risco de SQL injection se parametros vierem do usuario? A query pode causar full table scan em tabelas grandes? Teste primeiro em ambiente de staging.
๐งช Exercicio: Pipeline de Dados
Crie uma sequencia de prompts para construir um pipeline completo: extrair dados de texto nao estruturado, transformar em JSON e gerar um relatorio.
๐ Tarefa do Exercicio
Input: Um email de reclamacao de cliente (texto livre)
Pipeline de 3 etapas:
Etapa 1 โ Extracao: Extrair do email: nome do cliente, produto, problema, sentimento (1-5), urgencia (baixa/media/alta)
Etapa 2 โ Transformacao: Converter para JSON estruturado com os campos extraidos + timestamp + ID unico
Etapa 3 โ Relatorio: Gerar um resumo executivo para o gerente de atendimento com acao recomendada
Dica: cada etapa pode ser um prompt separado, onde a saida de uma alimenta a entrada da proxima. Isso e um padrao de "prompt chaining" aplicado a dados.
๐ Resumo do Modulo
Proximo Modulo:
2.8 โ Otimizacao e Performance: reduza tokens, melhore latencia e maximize qualidade por custo