Engenharia de Harness

A infraestrutura que transforma modelos em operários confiáveis.

Um agente sem harness é uma demo. O que separa 'o modelo respondeu bonito' de 'o sistema trabalhou a noite inteira sozinho e eu só conferi de manhã' é o harness: guards de segurança enforced em código, evals que barram regressão, audit log de cada decisão, circuit breakers, economia de tokens tratada como feature. É a parte menos glamourosa do stack de IA — e é a que eu mais gosto de construir.

PreToolUse Hooks Tier Safety (verde · amarelo · vermelho) Headless Workers Smoke Evals Audit Event-Sourced Circuit Breakers Decision Trace Economy Routing MCP Tools Context Engineering PreToolUse Hooks Tier Safety (verde · amarelo · vermelho) Headless Workers Smoke Evals Audit Event-Sourced Circuit Breakers Decision Trace Economy Routing MCP Tools Context Engineering
0 Tools tier-guarded em produção
0 Agentes coordenados no Bailder
0 Evals no showroom do Free Diária
0 Classes de risco de harness mapeadas

Harness é a camada entre o modelo e o mundo: as tools que ele pode chamar, as permissões de cada uma, o contexto que entra, o custo que sai, e o que acontece quando algo dá errado. Meu laboratório é o Bailder — orquestrador multi-agente próprio que opera minha operação real via WhatsApp, com 3 agentes coordenados, 20+ tools e workers headless de Claude Code que constroem software de madrugada.

Safety, aqui, não mora no prompt. Cada tool call passa por PreToolUse hooks que classificam a operação em verde, amarelo ou vermelho — e vermelho para tudo e exige confirmação humana. A mesma filosofia vale pra economia: o roteamento entre tiers de modelo tem trava em código que proíbe escalar pra modelo mais caro em retry sem aprovação. Mapeei 8 classes de risco em harness (de tier-guard tampering a loops de mensagem entre agentes) antes de escrever a mitigação.

A outra metade é saber o que o agente fez e se continua bom: audit log event-sourced, smoke evals agendadas, eval harness por tier de modelo, 146 evals cobrindo as telas do Free Diária — e uma suíte de observabilidade (X-Ray, Decision Trace, replays, brain diff) pra responder a pergunta que toda caixa-preta esconde: por que o agente fez isso? Quando quero roubar ideia boa, faço engenharia reversa de harness alheio, como o deep-dive no OpenCode.

Arquitetura

Bailder por dentro: operador via WhatsApp, orquestrador com tool-loop e MCP, workers headless de Claude Code — e, embaixo de tudo, a camada de safety, audit e evals que segura o sistema quando ninguém está olhando.

Sob esta lente

Flagship · Multi-Agente · MCP Produção · Privado

Bailder

Orquestrador multi-agente pessoal. WhatsApp-native, workers autônomos de Claude Code, safety tier-enforced.

Sob a lente de harness, o Bailder é menos 'assistente' e mais usina: a pergunta que ele responde é como deixar agentes operarem um negócio real — deploy, DNS, banco, mídia paga — sem que um erro custe caro. Cada tool tem tier; o vermelho para tudo e pede humano. O prompt nunca é a última linha de defesa.

Impacto
  • PreToolUse hooks classificam cada tool call em verde / amarelo / vermelho — em código
  • Vermelho = PendingConfirmation: humano no loop por design, não por promessa
  • Workers headless de Claude Code herdam o guard do orquestrador
  • Smoke evals agendadas + circuit breakers + audit log event-sourced
Stack
Ruby on Rails 8 Claude Code SDK MCP (Playwright) Multi-LLM (OpenRouter) Solid Queue WhatsApp Cloud API DigitalOcean (auto-deploy)
Observabilidade · Agentes Produção · Privado

Agent X-Ray & Decision Trace

Raio-X de agentes em produção. Cada decisão, cada tool call, cada desvio — visível e replayável.

Observabilidade é a metade esquecida do harness. Essa suíte existe pra tornar o comportamento do agente auditável de verdade: reconstruir a cadeia de decisão tool call a tool call, reproduzir sessões inteiras, comparar o comportamento entre versões de cérebro e desmontar forensicamente as sessões que deram errado.

Impacto
  • Decision Trace: por que o agente escolheu ESSA tool com ESSES argumentos
  • Replay de sessão completa — o bug de agente vira artefato reproduzível
  • Brain diff: mudou o prompt? Prova de como o comportamento mudou junto
Stack
Ruby on Rails 8 Event Sourcing Hotwire (SSE) Claude Code SDK
Economia · Multi-LLM Produção · Privado

Economy Routing

Roteamento de custo entre tiers de modelo com trava de escalação e eval harness.

Harness também é economia. Essa camada roteia cada tarefa pro tier de modelo mais barato que dá conta — e a regra mais importante está em código, não em convenção: retry nunca escala de tier sem aprovação humana explícita. Aprendida do jeito caro, hoje é trava.

Impacto
  • Roteamento GLM → Sonnet → Opus com trava de escalação em código
  • Eval harness mede se o tier barato segura a qualidade antes do rollout
  • Telemetria de custo por sessão de worker — economia visível, não estimada
Stack
OpenRouter Multi-LLM (GLM · Claude) Eval Harness Ruby on Rails 8
Agente · QA Ativo

Fred QA

Agente de WhatsApp que gerencia um programa de testes com humanos de verdade.

Harness não é só tool guard: é o processo inteiro com trava. O Fred QA gerencia um programa de testes com humanos reais pelo WhatsApp — e o pipeline de correção que ele alimenta tem a regra gravada: merge automático só em staging; produção exige painel humano. Agente com autonomia na medida, nunca além dela.

Impacto
  • Agente coordena testers humanos: recrutamento, roteiros, coleta de bugs
  • Auto-merge restrito a staging — produção passa por aprovação humana
  • Feedback vira issue estruturada sem intervenção manual
Stack
Ruby on Rails WhatsApp (Evolution API) Claude Solid Queue
Meta-Orquestração Em uso diário

MAESTRO

Meta-workflow que rege ondas de agentes: pensamento em paralelo, escrita serializada.

Quando o trabalho é grande demais pra um contexto só, o harness vira orquestração de orquestradores. O MAESTRO decompõe o problema em ondas: N agentes pensam em paralelo, a escrita é serializada pra zero conflito, e verificação adversarial roda entre ondas. É como eu shippo feature inteira com fleet de agentes.

Impacto
  • Ondas: pensamento paralelo, escrita serializada — sem conflito de merge
  • Verificação adversarial entre ondas mata achado plausível-mas-errado
  • Dezenas de subagentes por rodada, com resultado agregado e auditável
Stack
Claude Code (headless) Workflows multi-agente Worktrees isoladas
Pesquisa · Harness Pesquisa

OpenCode Deep-Dive

Engenharia reversa de um harness OSS de coding agent — pra roubar as ideias certas.

Harness engineering séria inclui estudar o harness dos outros. Clonei e rodei o OpenCode local pra mapear os internos — o guard de bash com tree-sitter, a estratégia de compaction, o ciclo de vida dos runners — e decidir com critério o que vale portar pro meu stack em vez de reinventar por instinto.

Impacto
  • Internos mapeados: bash guard via tree-sitter, compaction, runners
  • Rodando local com OpenRouter pra observar comportamento real, não ler README
  • Padrões priorizados pra porte com custo/benefício explícito
Stack
TypeScript tree-sitter OpenRouter Análise de arquitetura

A trajetória, re-lida

Ago 2025 – Mai 2026

Senior Data Migration Engineer · AI-Augmented

Monument (Remoto, EUA)

  • Claude Code como driver principal de desenvolvimento — na prática, um harness de migração: pipelines idempotentes eram o guard-rail, reconciliação ao centavo era o eval
  • Validação multi-nível (unidade, cliente, facility, período) como gate de cutover
Claude Code TypeScript Node.js MySQL AWS
Mai 2023 – Jul 2025

Principal Software Engineer · AI Platform Lead

VIK (Remoto)

  • Plataforma de IA da empresa do zero — onde eval, memória e roteamento multi-LLM viraram requisito de produção, não experimento
  • Adoção de dev AI-augmented company-wide: convenções de prompting e review de código gerado
Ruby on Rails React OpenAI · Claude · Gemini OpenRouter · LiteLLM Kafka · RabbitMQ BigQuery · Looker

O ferramental desta lente

🤖

Sistemas de Agentes IA

Orquestração multi-agente em produção. Tool-call loops, sub-agentes, workers autônomos de Claude Code, MCP servers, engenharia de contexto.

Coordenação Multi-Agente MCP (Model Context Protocol) Function Calling / Tool Use Claude Code SDK Sub-Agentes & Hand-offs Gestão de Janela de Contexto

Segurança & Evals de IA

Safety enforced em código, não no system prompt. Tier-based guards, audit logs, eval gates, circuit breakers, fallbacks.

Tier-Based Tool Guards Eval Frameworks (custom + RAGAS) Audit & Event Sourcing PendingConfirmation Flows Pre-Tool Hooks Smoke Evals Agendados
🏗

Orquestração Multi-LLM

Roteamento, fallback e orquestração cost-aware entre providers. Streaming, structured outputs, retries, circuit breakers.

Claude (Sonnet · Opus) GPT-4o / GPT-5 Gemini Flash / Pro Llama · Mistral OpenRouter / LiteLLM SSE Streaming

Precisa de agentes que trabalham sem babá?

Harness engineering, agent safety e eval infra — pra times contratando ou empresas construindo agentes que precisam rodar sozinhos e prestar contas.

SB
Sérgio Brito
Online
👤 Sobre 📚 Projetos 💻 GitHub Entrar em Contato