Skills: Fundamentos de Engenharia de Prompts
Última atualização: 2026-08-31
O prompt é a alma do Skill — escrito bem, a IA é um especialista; escrito mal, a IA é um papagaio.
1. Princípios de design de prompts
(1) O método SPECIFIC
| Letra | Significado | Exemplo |
|---|---|---|
| S | Específico (Specific) | "Verificar injeção SQL" em vez de "Verificar segurança" |
| P | Propósito (Purpose) | "Evitar vazamento de dados em produção" |
| E | Exemplo (Example) | Fornecer uma amostra da saída esperada |
| C | Restrição (Constraint) | "No máximo 500 palavras" |
| I | Interativo (Interactive) | "Faça perguntas complementares se a informação for insuficiente" |
| F | Formato (Format) | "Exiba a saída usando tabelas Markdown" |
| I | Iterativo (Iterative) | Otimize continuamente após os testes |
(2) Anti-padrões comuns
| Anti-padrão | Problema | Melhoria |
|---|---|---|
| Muito vago | "Revisar código" | "Revisar nas dimensões segurança/desempenho/legibilidade" |
| Sem formato | Sem restrição de saída | "Exiba em tabelas, ordenado por severidade" |
| Sem exemplos | Saída da IA incontrolável | Forneça 1-2 saídas de referência |
| Papel vago | A IA não sabe quem é | "Você é um especialista sênior em auditoria de segurança" |
| Muito complexo | Pedir muito de uma vez | Divida em etapas, uma tarefa clara por etapa |
2. Técnicas de definição de papel
(1) Papel básico
MARKDOWN
Você é um especialista em desenvolvimento backend Python.
(2) Papel aprimorado
MARKDOWN
Você é um especialista backend Python com 10 anos de experiência, especializado em FastAPI e Django.
Você tem domínio particular em:
- Otimização de banco de dados e ajuste de ORM
- Design de APIs RESTful
- Programação assíncrona e tratamento de concorrência
Seu estilo de código: conciso, com tipagem segura, bem comentado
(3) Alternância de múltiplos papéis
MARKDOWN
# Skill com múltiplos papéis
Quando o tipo de tarefa é "design de arquitetura", você é um arquiteto de sistemas focado em escalabilidade e desempenho.
Quando o tipo de tarefa é "implementação de código", você é um engenheiro sênior focado em qualidade e manutenibilidade.
Quando o tipo de tarefa é "depuração", você é um especialista em solução de problemas focado em análise de causa raiz e correções rápidas.
3. Técnicas de decomposição de tarefas
(1) Tarefa de etapa única
Tarefas simples podem ser descritas diretamente:
MARKDOWN
Leia o arquivo Python especificado e verifique se contém type hints.
Se não, adicione anotações de tipo a todas as funções.
(2) Fluxo de múltiplas etapas
Tarefas complexas devem ser divididas em etapas:
MARKDOWN
Siga estes passos para realizar a revisão de uma migração de banco de dados:
## Etapa 1: Entender o arquivo de migração
- Leia o conteúdo do arquivo de migração
- Identifique os tipos de operação (CREATE/ALTER/DROP)
## Etapa 2: Avaliação de riscos
- Verifique riscos de perda de dados (DROP COLUMN, DROP TABLE)
- Verifique riscos de bloqueio de tabela (ADD COLUMN sem valor padrão)
- Verifique riscos de desempenho (ADD INDEX em tabela grande)
## Etapa 3: Gerar sugestões
- Para operações de alto risco, sugira um plano de execução passo a passo
- Para operações de baixo risco, confirme que podem ser executadas diretamente
(3) Ramificação condicional
MARKDOWN
## Lógica condicional
- Se projeto Python → Execute `ruff check`
- Se projeto TypeScript → Execute `eslint`
- Se projeto Go → Execute `go vet`
- Se a stack tecnológica for incerta → Leia package.json / pyproject.toml / go.mod primeiro
4. Técnicas de restrição de saída
(1) Restrições de formato
MARKDOWN
## Formato de saída
Use estritamente o formato JSON a seguir:
```json
{
"summary": "Resumo em uma frase",
"issues": [
{
"severity": "high|medium|low",
"location": "arquivo:linha",
"description": "Descrição do problema",
"suggestion": "Sugestão de correção"
}
],
"score": 85
}
### (2) Restrições de comprimento
```markdown
## Restrições de saída
- Resumo com no máximo 3 frases
- Cada problema com no máximo 100 palavras
- Sugestões de correção devem incluir exemplos de código
- Saída total com no máximo 1000 palavras
(3) Restrições de qualidade
MARKDOWN
## Requisitos de qualidade
- Sugestões de correção devem ser código diretamente utilizável, não pseudocódigo
- Severidade deve ter critérios claros: alto=vulnerabilidade de segurança/crash, médio=degradação de desempenho/baixa manutenibilidade, baixo=estilo/sugestão
- Problemas incertos devem ser marcados como "requer confirmação humana", não adivinhe
5. Método baseado em exemplos
Exemplos few-shot são o meio mais eficaz de controlar a qualidade da saída:
MARKDOWN
## Exemplo
### Entrada
```python
def get_user(id):
db = connect()
result = db.execute(f"SELECT * FROM users WHERE id = {id}")
return result
Saída
📍 src/db.py:12 🔴 Crítico: Vulnerabilidade de injeção SQL 📝 Uso de f-string para concatenar SQL, a entrada do usuário pode injetar SQL malicioso diretamente ✅ Correção:
PYTHON
def get_user(user_id: int) -> dict:
db = connect()
result = db.execute(
"SELECT * FROM users WHERE id = ?",
(user_id,)
)
return result.fetchone()
Depois que Alice adicionou 3 exemplos ao prompt, a consistência da saída da IA melhorou de 60% para 95%. Bob disse: "Exemplos são os melhores professores — mostrar à IA o que você quer é 10 vezes mais eficaz do que descrever o que quer."
---
## ❓ Perguntas Frequentes
> **P: Qual o tamanho ideal para o prompt?** **R: O suficiente para ser eficaz, geralmente 50-200 linhas. O essencial é ser específico e acionável, não extenso. Prompts excessivamente longos podem fazer a IA perder o foco.**
> **P: Devo escrever restrições negativas ("não faça X")?** **R: Sim, mas com moderação. Restrições positivas ("faça apenas X") são mais eficazes que negativas ("não faça Y"). A IA tende a ignorar instruções com "não".**
> **P: Quantos exemplos devo fornecer?** **R: 1-3 é suficiente. 1 exemplo mostra o formato, 2-3 exemplos cobrem casos extremos. Mais de 5 exemplos na verdade reduz a qualidade.**
---
## 📖 Resumo
- Método SPECIFIC: Específico, Propósito, Exemplo, Restrição, Interativo, Formato, Iterativo
- Definição de papel deve ser específica: expertise, estilo, nível de experiência
- Decomposição de tarefas em três níveis: descrição de etapa única, fluxo de múltiplas etapas, ramificação condicional
- Restrições de saída: formato, comprimento, qualidade — abordagem em três frentes
- Exemplos few-shot são o método mais eficaz de controle de qualidade
---
## 📝 Exercícios
1. **Básico (dificuldade⭐)**: Reescreva um prompt simples que você já escreveu antes usando o método SPECIFIC e compare os resultados.
2. **Intermediário (dificuldade⭐⭐)**: Escreva um prompt completo para um Skill de "geração de documentação de API", incluindo papel, fluxo, restrições e exemplos.
3. **Avançado (dificuldade⭐⭐⭐)**: Projete um framework de template de prompt universal que suporte injeção de diferentes papéis e regras via variáveis, mantendo formato de saída consistente.