Ingeniería de Harness

La infraestructura que convierte modelos en obreros confiables.

Un agente sin harness es una demo. Lo que separa 'el modelo respondió bonito' de 'el sistema trabajó solo toda la noche y yo apenas revisé por la mañana' es el harness: guards de seguridad enforced en código, evals que bloquean regresiones, audit log de cada decisión, circuit breakers, economía de tokens tratada como feature. Es la parte menos glamorosa del stack de IA — y es la que más me gusta construir.

PreToolUse Hooks Tier Safety (verde · amarillo · rojo) Headless Workers Smoke Evals Audit Event-Sourced Circuit Breakers Decision Trace Economy Routing MCP Tools Context Engineering PreToolUse Hooks Tier Safety (verde · amarillo · rojo) Headless Workers Smoke Evals Audit Event-Sourced Circuit Breakers Decision Trace Economy Routing MCP Tools Context Engineering
0 Tools tier-guarded en producción
0 Agentes coordinados en Bailder
0 Evals en el showroom de Free Diária
0 Clases de riesgo de harness mapeadas

Harness es la capa entre el modelo y el mundo: las tools que puede llamar, los permisos de cada una, el contexto que entra, el costo que sale, y lo que pasa cuando algo sale mal. Mi laboratorio es Bailder — orquestador multi-agente propio que opera mi operación real vía WhatsApp, con 3 agentes coordinados, 20+ tools y workers headless de Claude Code que construyen software de madrugada.

Safety, aquí, no vive en el prompt. Cada tool call pasa por PreToolUse hooks que clasifican la operación en verde, amarillo o rojo — y el rojo detiene todo y exige confirmación humana. La misma filosofía aplica a la economía: el routing entre tiers de modelo tiene traba en código que prohíbe escalar a un modelo más caro en retry sin aprobación. Mapeé 8 clases de riesgo en harness (de tier-guard tampering a loops de mensajes entre agentes) antes de escribir la mitigación.

La otra mitad es saber qué hizo el agente y si sigue estando bueno: audit log event-sourced, smoke evals programadas, eval harness por tier de modelo, 146 evals cubriendo las pantallas de Free Diária — y una suite de observabilidad (X-Ray, Decision Trace, replays, brain diff) para responder la pregunta que toda caja negra esconde: ¿por qué el agente hizo eso? Cuando quiero robar una buena idea, hago ingeniería inversa del harness ajeno, como el deep-dive en OpenCode.

Arquitectura

Bailder por dentro: operador vía WhatsApp, orquestador con tool-loop y MCP, workers headless de Claude Code — y, debajo de todo, la capa de safety, audit y evals que sostiene el sistema cuando nadie está mirando.

Bajo esta lente

Flagship · Multi-Agente · MCP Producción · Privado

Bailder

Orquestador multi-agente personal. WhatsApp-native, workers autónomos de Claude Code, safety tier-enforced.

Bajo el lente de harness, Bailder es menos 'asistente' y más planta de producción: la pregunta que responde es cómo dejar que agentes operen un negocio real — deploy, DNS, base de datos, medios pagos — sin que un error salga caro. Cada tool tiene tier; el rojo detiene todo y pide un humano. El prompt nunca es la última línea de defensa.

Impacto
  • PreToolUse hooks clasifican cada tool call en verde / amarillo / rojo — en código
  • Rojo = PendingConfirmation: humano en el loop por diseño, no por promesa
  • Los workers headless de Claude Code heredan el guard del orquestador
  • Smoke evals programadas + 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)
Observabilidad · Agentes Producción · Privado

Agent X-Ray & Decision Trace

Rayos X de agentes en producción. Cada decisión, cada tool call, cada desvío — visible y replayable.

La observabilidad es la mitad olvidada del harness. Esta suite existe para hacer el comportamiento del agente auditable de verdad: reconstruir la cadena de decisión tool call a tool call, reproducir sesiones enteras, comparar el comportamiento entre versiones de cerebro y desarmar forensicamente las sesiones que salieron mal.

Impacto
  • Decision Trace: por qué el agente eligió ESA tool con ESOS argumentos
  • Replay de sesión completa — el bug de agente se vuelve artefacto reproducible
  • Brain diff: ¿cambió el prompt? Prueba de cómo cambió el comportamiento con él
Stack
Ruby on Rails 8 Event Sourcing Hotwire (SSE) Claude Code SDK
Economía · Multi-LLM Producción · Privado

Economy Routing

Routing de costo entre tiers de modelo con traba de escalación y eval harness.

Harness también es economía. Esta capa rutea cada tarea al tier de modelo más barato que la resuelve — y la regla más importante está en código, no en convención: retry nunca escala de tier sin aprobación humana explícita. Aprendida del modo caro, hoy es traba.

Impacto
  • Routing GLM → Sonnet → Opus con traba de escalación en código
  • Eval harness mide si el tier barato sostiene la calidad antes del rollout
  • Telemetría de costo por sesión de worker — economía visible, no estimada
Stack
OpenRouter Multi-LLM (GLM · Claude) Eval Harness Ruby on Rails 8
Agente · QA Activo

Fred QA

Agente de WhatsApp que gestiona un programa de testing con humanos de verdad.

Harness no es solo tool guard: es el proceso entero con traba. Fred QA gestiona un programa de testing con humanos reales por WhatsApp — y el pipeline de corrección que alimenta tiene la regla grabada: merge automático solo en staging; producción exige panel humano. Agente con autonomía en su justa medida, nunca más allá.

Impacto
  • El agente coordina testers humanos: reclutamiento, guiones, recolección de bugs
  • Auto-merge restringido a staging — producción pasa por aprobación humana
  • El feedback se vuelve issue estructurado sin intervención manual
Stack
Ruby on Rails WhatsApp (Evolution API) Claude Solid Queue
Meta-Orquestación En uso diario

MAESTRO

Meta-workflow que dirige olas de agentes: pensamiento en paralelo, escritura serializada.

Cuando el trabajo es demasiado grande para un solo contexto, el harness se vuelve orquestación de orquestadores. MAESTRO descompone el problema en olas: N agentes piensan en paralelo, la escritura se serializa para cero conflicto, y la verificación adversarial corre entre olas. Así es como envío features enteras con fleet de agentes.

Impacto
  • Olas: pensamiento en paralelo, escritura serializada — sin conflictos de merge
  • La verificación adversarial entre olas mata el hallazgo plausible-pero-equivocado
  • Decenas de subagentes por ronda, con resultado agregado y auditable
Stack
Claude Code (headless) Workflows multi-agente Worktrees aisladas
Investigación · Harness Investigación

OpenCode Deep-Dive

Ingeniería inversa de un harness OSS de coding agent — para robar las ideas correctas.

La ingeniería de harness seria incluye estudiar el harness de los demás. Cloné y corrí OpenCode local para mapear los internos — el guard de bash con tree-sitter, la estrategia de compaction, el ciclo de vida de los runners — y decidir con criterio qué vale la pena portar a mi stack en vez de reinventar por instinto.

Impacto
  • Internos mapeados: bash guard vía tree-sitter, compaction, runners
  • Corriendo local con OpenRouter para observar comportamiento real, no leer el README
  • Patrones priorizados para portar con costo/beneficio explícito
Stack
TypeScript tree-sitter OpenRouter Análisis de arquitectura

La trayectoria, releída

Ago 2025 – May 2026

Senior Data Migration Engineer · AI-Augmented

Monument (Remoto, EE.UU.)

  • Claude Code como driver principal de desarrollo — en la práctica, un harness de migración: los pipelines idempotentes eran el guard-rail, la reconciliación al centavo era el eval
  • Validación multi-nivel (unidad, cliente, facility, período) como gate de cutover
Claude Code TypeScript Node.js MySQL AWS
May 2023 – Jul 2025

Principal Software Engineer · AI Platform Lead

VIK (Remoto)

  • Plataforma de IA de la empresa desde cero — donde eval, memoria y routing multi-LLM se volvieron requisito de producción, no experimento
  • Adopción de dev AI-augmented en toda la empresa: convenciones de prompting y review de código generado
Ruby on Rails React OpenAI · Claude · Gemini OpenRouter · LiteLLM Kafka · RabbitMQ BigQuery · Looker

Las herramientas de esta lente

🤖

Sistemas de Agentes IA

Orquestación multi-agente en producción. Tool-call loops, sub-agentes, workers autónomos de Claude Code, MCP servers, ingeniería de contexto.

Coordinación Multi-Agente MCP (Model Context Protocol) Function Calling / Tool Use Claude Code SDK Sub-Agentes & Hand-offs Gestión de Ventana de Contexto

Seguridad & Evals de IA

Safety enforced en código, no en el 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 Programadas
🏗

Orquestación Multi-LLM

Routing, fallback y orquestación 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

¿Necesitas agentes que trabajen sin niñera?

Harness engineering, agent safety y eval infra — para equipos contratando o empresas construyendo agentes que necesitan correr solos y rendir cuentas.

SB
Sérgio Brito
Online
👤 Sobre Mí 📚 Proyectos 💻 GitHub Contactar