Linter de System Prompt
Analisa um system prompt em busca de problemas comuns: instruções vagas, regras conflitantes, exemplos faltando, contexto inchado. Heurístico, opinativo, rápido.
Para que serve?
A maioria dos system prompts em produção tá cheia de frases mortas. "Seja útil." "Sempre seja preciso." "Nunca invente." Isso são desejos, não instruções — o modelo não consegue agir porque elas não dizem o que fazer diferente. Esta ferramenta roda uma heurística curta no seu prompt e mostra os padrões que quase sempre indicam que o prompt tá fazendo menos trabalho do que o autor acha. É opinativa e heurística, não oracular — mas as lacunas que ela marca são as mesmas que reviewers marcam, e as mesmas que causam o drift sutil em produção.
Quando usar
- Antes de subir um system prompt novo. Sanity check de cinco segundos.
- Quando iterando após regressões em evals. O prompt que "tá ok" geralmente tem 3 absolutos se contradizendo.
- Revisando prompt de colega. Mostra coisas comentáveis sem ter que ser expert em prompt engineering.
- Auditando um prompt antigo que cresceu por acumulação. Prompts velhos juntam tralha; o linter destaca a que mais custa.
O que checa
- Atribuição de papel específica — diz o que o modelo realmente faz, ou só "seja útil"?
- Exemplos — um exemplo trabalhado bate qualquer quantidade de prosa. Dois batem um.
- Formato de saída — especifica JSON / prosa / tabela / markdown? Faltar isso é a causa #1 de parser frágil downstream.
- Comportamento de recusa — o que o modelo faz quando o usuário sai do escopo?
- Guarda contra alucinação — diz pro modelo verificar, citar, ou admitir ignorância?
- Absolutos vagos — "sempre" / "nunca" demais faz com que todos sejam ignoráveis.
- Diretivas conflitantes — "seja conciso" + "seja minucioso", ou "sempre X" + "nunca X".
- Deriva de persona — várias frases "Você é…" convidam o modelo a trocar de persona no meio da resposta.
- Tamanho em tokens — passando ~2k tokens, instruções do meio se perdem.
- Aspas curvas — copy-paste do Word, quebra comparação literal de strings downstream.
- Endereçamento — "Você vai" vs "O assistente deve". Modelos preferem o primeiro.
- Cue de raciocínio — pra tarefas multi-step, uma linha explícita "pense antes de responder".
- Vazamento de meta-comentário — frases tipo "como IA…" no system prompt costumam vazar pras respostas.
Limites
- É pattern-matching, não leitura. Não sabe se seus exemplos são bons ou se seu papel faz sentido. Só nota se os padrões de superfície estão presentes.
- Falsos positivos acontecem. Um prompt curto e focado pode parecer "incompleto" pela rubrica — às vezes incompleto é o certo.
- Não substitui evals. Passar em todos os checks não significa que seu prompt é bom; significa que não está obviamente quebrado.
- Viés pra inglês. As heurísticas procuram keywords em inglês. Prompts em outros idiomas darão resultados ruidosos.
- Privacidade. Nada sai da página. Todos os checks rodam em JS no seu browser.