Skip to main content

Restrições Negativas e Prompts Anti-Padrão

PARA AGENTES DE IAChatGPTClaude

Metodologia para formular proibições e exclusões explícitas de padrões de engenharia indesejados (Anti-Goals) em instruções de sistema, visando prevenir código genérico e excessivo (AI Slop).

1. Visão geral do conceito e problema sistêmico

Os modelos de linguagem foram treinados em trilhões de linhas de código de internet diversos. Por isso, por padrão, eles tendem a usar o chamado "estilo mediano" (The Mediocre Average):

  • O modelo vê uma operação matemática trivial e imediatamente adiciona import _ from 'lodash' ao arquivo, inflando o bundle.
  • O modelo encontra um tipo TypeScript complexo e aplica // @ts-ignore ou as any para concluir a geração mais rapidamente.
  • O modelo gera comentários obsoletos e redundantes como // Esta função soma dois números.

Negative Constraints (Restrições Negativas) são um filtro de engenharia que bloqueia o acesso dos modelos a hábitos prejudiciais e os força a operar exclusivamente dentro de um corredor estreito de arquitetura limpa.

2. Taxonomia arquitetural e modelo mental

┌─────────────────────────────────────────────────────────────┐
│                 NEGATIVE CONSTRAINTS MATRIX                 │
├─────────────────────────────────────────────────────────────┤
│ 1. DEPENDENCY HYGIENE:                                      │
│    • NEVER run `npm install <package>` without asking.      │
│    • DO NOT import deprecated libraries (Axios, Lodash).    │
│    • Use native browser `fetch` and ES6 methods ONLY.       │
├─────────────────────────────────────────────────────────────┤
│ 2. CODE QUALITY INVARIANTS:                                 │
│    • BANNED: `any`, `unknown` without type guards.          │
│    • BANNED: `console.log` in production-facing code.       │
│    • BANNED: Commenting obvious self-explanatory lines.     │
├─────────────────────────────────────────────────────────────┤
│ 3. UI / DESIGN SYSTEM RULES:                                │
│    • NEVER invent custom HEX colors (#ff4422).              │
│    • USE predefined Tailwind semantic tokens ONLY.          │
│    • NEVER hardcode strings; use i18n translation keys.     │
└─────────────────────────────────────────────────────────────┘

3. Cenários práticos de engenharia em produção

01. Proteção contra stubs preguiçosos (Anti-Placeholder Rule)

As regras impõem penalidades estritas:

CRITICAL INSTRUCTION:
Do NOT output placeholders like `// ...existing code...` or `/* rest of implementation */`.
Always provide the FULL drop-in replacement. Truncated outputs are considered system failure.

Isso erradica 100% da tendência dos modelos de serem preguiçosos em arquivos grandes.

02. Proibição de criação de novos arquivos sem aprovação

Os agentes frequentemente têm a tendência de "multiplicar entidades": criar 5 pequenos arquivos utilitários para uma única linha de código. A regra: "DO NOT create new utility files unless explicitly specified in the RFC" mantém a estrutura de pastas compacta.

4. Armadilhas, erros comuns e segurança

  • Negação cega sem alternativa: Se você apenas escrever "Não use React Router", mas não informar que o projeto funciona com Next.js App Router, o modelo ficará confuso e começará a inventar manipuladores de navegação caseiros. Sempre especifique o que fazer no lugar do proibido.
  • Inflação da lista de proibições: Se houver 200 regras de "NÃO" no prompt de sistema, o modelo entrará em paralisia decisória (Refusal Loop), recusando-se a responder até mesmo a prompts seguros.

5. Conclusão estratégica para o engenheiro de 2026

O prompting negativo é uma ferramenta para estabelecer linhas vermelhas claras. A disciplina das proibições explícitas elimina 80% dos casos de geração de lixo sintético (AI Slop), mantendo a alta cultura da base de código do projeto.

/ Perguntas FrequentesSchema.org FAQPage

FAQ: Restrições Negativas e Prompts Anti-Padrão

Formulações positivas são muito vagas e subjetivas — o modelo possui milhões de representações do que é 'bom código'. Restrições negativas reduzem drasticamente o espaço de escolha de tokens, eliminando 90% das tentações típicas do modelo (por exemplo, instalar 15 pacotes npm desnecessários).
/ Links internos
Todos os termos