Engenharia de Harness
Hábitos são coisas que você precisa se lembrar de fazer. O próximo degrau na configuração do seu ambiente de trabalho é transformar essas verificações em algo que a IA não pode pular. Isso é um harness.
Pense em um harness como um posto de controle de segurança que fica entre o agente e o mundo real. A cada etapa perigosa, ele faz uma de três coisas: registra o que aconteceu, avisa você, ou bloqueia a ação por completo. Antes de um comando rodar, antes de um arquivo ser escrito, quando um é enviado, no , no push — sempre há um portão. O agente não consegue contorná-lo, do jeito que você poderia esquecer de rodar os testes às duas da manhã.
Toda ação perigosa que o agente realiza passa primeiro pelo harness, onde cada portão pode registrá-la, avisar você ou bloqueá-la antes que ela chegue ao mundo real:
┌─────────┐ ┌──────────┐
│ AGENT │ │ REAL │
│ action │ │ WORLD │
└────┬────┘ └──────────┘
│ ▲
▼ │
╔═══════════════ HARNESS (gate) ═══════════════╗ │
║ ║ │
║ ┌────────┐ ┌────────┐ ┌────────┐ ║ │
║ │ RECORD │ │ WARN │ │ BLOCK │ ║────┘
║ │ log │ │ alert │ │ stop │ ║ allowed
║ └────────┘ └────────┘ └───┬────┘ ║
║ │ ║
╚═══════════════════════════════════╪══════════╝
▼
┌─────────┐
│ DENIED │
└─────────┘
Por que tornar isso obrigatório? A aposta inteira do vibe coding é "deixe a IA correr, você dirige". Isso só compensa se a IA não conseguir sair do caminho e cair de um penhasco enquanto você pisca. Um harness move sua segurança da vigilância (ler cada diff, lembrar cada regra) para o código (regras aplicadas automaticamente). Para qualquer coisa que você colocaria na frente de um usuário real, isso não é um capricho opcional — é o que torna a autonomia segura.
Um bom harness segue alguns princípios que vale a pena conhecer:
- Silencioso no sucesso, barulhento na falha — ele não diz nada quando tudo está bem, então um aviso ainda significa alguma coisa.
- Nunca corrigir automaticamente — ele propõe, bloqueia ou avisa; não "corrige" silenciosamente o agente escondendo o problema.
- Aposente regras dormentes antes de adicionar novas — mantenha-o enxuto e confiável, não uma pilha crescente de verificações obsoletas.
- Guiado por configuração — um único motor, configurações por projeto, para que se encaixe em qualquer repositório.
- Logs somente de anexação (append-only) — um registro à prova de adulteração do que o agente realmente fez.
Você não precisa construir isso do zero. Existem harnesses prontos, plug-and-play — dancinlab/harness é um motor agnóstico de projeto que você pode conectar ao ciclo de vida de ferramentas de um agente de codificação. Sinceramente: um harness não torna a IA correta. Ele torna os erros da IA baratos de detectar — o que, quando você está se movendo rápido, já é a maior parte da batalha.