Prompt Engineering para Desenvolvedores

Guia completo para integrar IA em seus projetos existentes e novos

"O importante é saber pedir para a IA" - Todo mundo sabe disso, apenas não faz.

Conceitos Fundamentais

Domine as técnicas essenciais de prompt engineering

Input-Output (IO)

  • Método mais básico de interação
  • Entrada direta → Saída direta
  • Bom para tarefas simples
// Input básico
prompt = "Traduza para inglês:
O gato está no telhado"
// Output: "The cat is on the roof"

Chain of Thought (CoT)

  • Pede para IA "pensar passo a passo"
  • Melhora resultados complexos
  • Ideal para debugging e algoritmos
prompt = """Resolva este problema
passo a passo: Se João tem 5 maçãs
e dá 2 para Maria, quantas ele tem?"""

Self Consistency

  • Versão avançada do CoT
  • IA verifica sua própria consistência
  • Reduz erros em soluções complexas
prompt = """Resolva este problema
matemático. Mostre cada passo e
depois verifique se faz sentido."""

Tree of Thoughts

  • Explora múltiplos caminhos
  • Ótimo para arquitetura de software
  • Compara diferentes abordagens
prompt = """Para um sistema de [X],
explore 3 abordagens: 1. Microserviços
2. Monolito 3. Serverless"""

Para Projetos Existentes

Como integrar IA em projetos que já estão em produção

Para Novos Projetos

Como usar IA desde o início do desenvolvimento

Arquitetura Inicial

Use Tree of Thoughts para explorar opções arquiteturais antes de começar:

# Template para arquitetura
prompt = """
Para um sistema de [descrição], compare:
1. Microserviços
- Prós: Escalabilidade, deploy independente
- Contras: Complexidade operacional
2. Monolito
- Prós: Simplicidade inicial
- Contras: Escalabilidade limitada
Recomende a melhor opção para:
- Time pequeno (3 devs)
- Requisitos voláteis
- Escala prevista: 10k usuários/dia
"""

Boilerplate Inteligente

Gere código inicial com contexto específico do seu projeto:

# Template para boilerplate
prompt = """
Crie um boilerplate para:
TECNOLOGIAS:
- Frontend: Next.js 14 (App Router)
- Backend: NestJS
- DB: PostgreSQL
REQUISITOS:
- Autenticação JWT
- CRUD de produtos
- Paginação na API
ENTREGA:
1. Estrutura de pastas
2. Configurações iniciais
3. Exemplo de endpoint
"""

Templates Prontos

Templates testados e otimizados para diferentes cenários

Análise de Performance

Template para identificar gargalos e otimizar código existente.

// Template para análise de performance
"""
Analise este trecho crítico para otimização:
\`\`\`{language}
{code}
\`\`\`
Requisitos:
1. Identifique 3 gargalos principais
2. Sugira otimizações com:
- Código modificado
- Estimativa de ganho
3. Liste trade-offs
"""
// Substitua {language} e {code}

Geração de Testes

Template para criar testes unitários e de integração automaticamente.

// Template para geração de testes
"""
Para esta função:
\`\`\`{language}
{function_code}
\`\`\`
Gere:
1. 3 testes unitários cobrindo:
- Caso feliz
- Edge cases
- Tratamento de erros
2. 1 teste de integração
3. Mock de dependências se necessário
Formato: {test_framework}
"""

Documentação Automática

Template para gerar documentação técnica completa e atualizada.

// Template para documentação
"""
Gere documentação para este módulo:
\`\`\`{language}
{module_code}
\`\`\`
Inclua:
1. Descrição do propósito
2. Parâmetros e tipos
3. Exemplos de uso
4. Possíveis exceções
5. Dependências
Formato: Markdown com JSDoc
"""

Debug Inteligente

Template para identificar e corrigir bugs complexos com IA.

// Template para debug
"""
Analise este bug:
PROBLEMA:
{bug_description}
CÓDIGO:
\`\`\`{language}
{problematic_code}
\`\`\`
ERRO:
{error_message}
Forneça:
1. Causa raiz do problema
2. Solução com código corrigido
3. Prevenção de bugs similares
4. Testes para validar a correção
"""

Ferramentas Recomendadas

LangChain

Framework para construir aplicações com LLMs

Python JavaScript
from langchain.document_loaders import DirectoryLoader
from langchain.embeddings import OpenAIEmbeddings
loader = DirectoryLoader('./docs')
docs = loader.load()

LlamaIndex

Indexação e busca em seu codebase

Python
from llama_index import GPTVectorStoreIndex
from llama_index import SimpleDirectoryReader
documents = SimpleDirectoryReader('src').load_data()
index = GPTVectorStoreIndex.from_documents(documents)

CLI Utilities

Scripts para extrair contexto do projeto

Bash
# Extrai estrutura do projeto
tree -L 3 --dirsfirst > structure.txt
# Lista dependências
npm list --depth=0 > deps.txt

Pronto para Dominar Prompt Engineering?

Aplique essas técnicas em seus projetos e veja a produtividade disparar.