Muitas equipes ainda estão usando IA como se fosse um estagiário.
Nós damos instruções, revisamos cada resultado, pedimos correções e repetimos. Isso funciona para experimentos rápidos. Não funciona como um modelo de entrega de longo prazo.
Assim que a IA passa a fazer parte da entrega real de software, o modelo de estagiário começa a apresentar falhas:
- Não escala
- É difícil de padronizar
- Cria resultados frágeis que dependem demais de supervisão humana constante
A mudança que precisamos não é melhorar os prompts. A mudança é melhorar a engenharia.
Precisamos parar de tratar a IA como um estagiário e começar a tratá-la como um sistema.
O que significa Harness Engineering aqui
Harness engineering é a camada de controle em torno do comportamento da IA.
Uma definição útil neste contexto:
Harness engineering é a prática de projetar guias antecipatórios (feedforward) e sensores de feedback para que o código seja continuamente regulado em direção ao estado desejado definido pelas especificações.
Essa forma de pensar é poderosa porque tira o foco de “qual modelo usar?” e leva para “qual sistema de controle precisamos?”.
Em termos simples:
- Guias aumentam a chance de acertar já na primeira geração
- Sensores aumentam a chance de autocorreção antes da revisão humana
Ambos são necessários.
Um sistema só com feedback repete os mesmos erros.
Um sistema só com feedforward nunca prova que funcionou.
Por que o desenvolvimento guiado por especificações importa
Specs-driven development é o que torna o harness engineering viável. Sem isso, não há nada concreto para o harness aplicar.
No desenvolvimento de software, não colocamos sistemas em produção sem:
- Requisitos
- Contratos
- Testes
Sistemas com IA devem seguir a mesma disciplina.
Desenvolvimento de IA guiado por especificações significa definir antecipadamente:
- Resultados esperados
- Restrições (formato, linguagem, políticas, regras de domínio)
- Critérios de aceitação
- Casos de borda relevantes
Isso transforma a IA de assistente útil em um componente confiável.
De Especificações para Sistema de Controle
Se mapeamos a engenharia de harness para o ciclo orientado por especificações do meu post anterior, este é o modelo central:
| Etapa orientada por especificações | Objetivo do harness | Controles típicos |
|---|---|---|
| Intenção do produto | Evitar otimização incorreta | Documentação de restrições do produto, não-objetivos, métricas de sucesso |
| Design de alto nível | Evitar deriva da arquitetura | Regras de arquitetura, limites de módulos, restrições de dependência |
| Design de baixo nível + critérios de aceitação | Evitar comportamento ambíguo | Cenários baseados em exemplos, exemplos de contratos, bases de fixtures |
| Implementação | Evitar regressões locais no código | Verificação de tipos, linting, análise estática, testes focados |
| Validação | Evitar surpresas em integração/execução | Gates de CI, verificação de contratos, sinais em runtime, checagens manuais |
O ponto-chave é que o harness não é uma única ferramenta.
Ele é o sistema de controles ao longo de todo o ciclo de vida.
Os dois pilares de um Harness
1. Feedforward (antes da execução)
Feedforward é a orientação fornecida antes do modelo rodar:
- Instruções claras
- Contexto estruturado
- Exemplos (few-shot)
- Expectativas de formato de saída
Objetivo: reduzir ambiguidade antes da geração.
2. Feedback automatizado (depois da execução)
O feedback não deve depender de humanos encontrando cada erro manualmente.
Um modelo mais robusto usa sensores automatizados:
- Testes unitários e de integração
- Validação de schema e contratos
- Regras de negócio e heurísticas
- Uso seletivo de LLM como juiz para revisão semântica
Se uma verificação falhar:
- Reexecutar quando o erro for transitório
- Corrigir quando a correção for determinística
- Escalar quando a confiança for baixa ou o impacto for alto
É assim que o sistema se autocorrige.
Entre feedforward e feedback, o harness também gerencia a camada de execução:
- Orquestração de ferramentas e funções
- Estratégias de retry e fallback
- Observabilidade com logs, traces e métricas
Juntas, essas camadas tornam a IA operável: controlável, testável e evoluível.
O risco real: adoção sem disciplina
As equipes vão usar IA de qualquer forma, com ou sem harness. Sem ele, surgem rapidamente anti-patterns conhecidos:
- Prompts tratados como se fossem especificações
- Validação mínima
- Confiança excessiva no primeiro resultado
- Sistemas que parecem bons até falharem em produção
E conforme a IA acelera a geração de código, o problema cresce:
- A velocidade de entrega aumenta, mas a confiança não
- Revisores viram gargalos
- Desvios ocultos se acumulam mais rápido
- A dívida de qualidade aparece depois, com custos maiores
Uma preocupação comum de líderes é que nem toda equipe está pronta para isso. O problema principal não é senioridade, e sim o modelo operacional.
Essa abordagem exige que equipes pensem diferente:
- Definir o que é correto antes da execução
- Construir loops de feedback, não apenas prompts
- Projetar para lidar com falhas, não apenas caminhos ideais
Essas são habilidades aprendíveis, mas exigem estrutura e orientação.
Harness engineering é como equipes guiadas por especificações evitam esse gap de disciplina. Ele externaliza o conhecimento do time em controles explícitos, evitando depender de um único engenheiro experiente para garantir qualidade.
Um harness mínimo para começar (times Java com specs-driven)
Você não precisa de um framework gigante para começar.
Comece com uma topologia simples, como um serviço CRUD em Spring Boot, e construa um template reutilizável de harness.
Passo 1: Definir o pacote de especificações (Spec Pack)
- Descrição do problema
- O que não será feito (non-goals)
- Exemplos de aceitação
- Exemplos de contratos de API ou eventos
- Restrições operacionais (latência, logs, segurança)
Por exemplo, um spec pack para um endpoint POST /customers poderia ser assim:
|
Este único arquivo dá ao agente limites claros, à suíte de testes objetivos claros e ao revisor um checklist claro.
Passo 2: Definir guias de Feedforward
- Convenções de código
- Limites arquiteturais
- Fluxo de “como implementar”
- Fluxo de “como testar”
Passo 3: Definir sensores de Feedback
- Build e checagens de tipo
- Testes rápidos
- Regras estruturais
- Verificação de contratos
- Uma etapa de revisão semântica para mudanças de alto risco
Passo 4: Fechar o ciclo de controle
Quando um problema se repete, não corrija apenas o código.
Melhore o harness:
- Adicione uma regra
- Adicione um sensor
- Melhore uma habilidade
- Melhore um exemplo de especificação
É aqui que harness engineering deixa de ser uma configuração pontual e passa a ser uma prática contínua de engenharia.
Depois que o harness existe, a próxima pergunta é como expandi-lo para outros times.
Como ajudar os times a terem sucesso
Torne o jeito certo o mais fácil
Não dependa apenas de documentos de boas práticas.
Codifique os padrões diretamente:
- Templates reutilizáveis
- Validações de schema embutidas
- Gates de validação em CI
- Comportamentos padrão de retry e escalonamento
Se o harness for opcional, ele será ignorado.
Conecte com padrões já conhecidos de engenharia
Reduza a carga cognitiva conectando conceitos de IA com conceitos familiares:
- Contrato de prompt → contrato de entrada de função
- Validação de saída → assertions de teste
- Política de retry → estratégia de tratamento de erro
- Conjunto de avaliação → mentalidade de fixtures de teste
Evolua as perguntas de revisão
Em vez de perguntar “esse prompt está bom?”, pergunte:
- O que define que isso está correto?
- Qual sensor valida isso?
- Qual é o caminho de falha?
- Quando devemos escalar?
Isso transforma o trabalho com IA em trabalho de engenharia.
O que parar de fazer
Se você está migrando para desenvolvimento de IA guiado por especificações, esses hábitos custam caro:
- Tratar um único prompt como se fosse uma “spec”
- Assumir que testes passando significam comportamento correto
- Deixar regras arquiteturais apenas no conhecimento informal do time
- Rodar checagens caras em todo lugar sem estratégia de custo
- Corrigir falhas recorrentes sem atualizar o harness
Esses padrões mantêm os times em modo reativo.
Um modelo mental melhor
Um resumo útil:
- Specs definem o estado desejado
- Harness define o sistema de controle
- Agentes executam mudanças dentro desse sistema
- Humanos direcionam e melhoram o sistema ao longo do tempo
É assim que equipes reduzem a necessidade de supervisão sem perder qualidade.
Não confiando mais no modelo.
Mas construindo um harness melhor.
Pensamento final
Prompts são o ponto de entrada. Não são o modelo operacional.
O verdadeiro ganho vem de construir sistemas onde o comportamento da IA é guiado, validado e continuamente melhorado.
Essa é a mudança:
De estagiário para sistema.




