Definición: Práctica de ingeniería donde cada vez que un agente comete un error, se diseña una solución para que el agente nunca vuelva a cometer ese error. Concepto popularizado por Mitchell Hashimoto en el desarrollo de Ghostty.
— Fuente: NERVICO, Consultoría de Desarrollo de Producto
Ingeniería del Harness (Harness Engineering)
Definición
Ingeniería del Harness (Harness Engineering) es la práctica de ingeniería donde cada vez que un agente de IA comete un error, el engineer toma el tiempo necesario para diseñar una solución que garantice que el agente nunca vuelva a cometer ese error específico. En lugar de simplemente corregir el error manualmente, se construye infraestructura (guardrails, tests, validaciones, constraints) que previene su recurrencia. El concepto fue popularizado por Mitchell Hashimoto (co-fundador de HashiCorp) durante el desarrollo de Ghostty, su proyecto de terminal emulator, donde documentó su experiencia trabajando intensivamente con agentes de IA. Metáfora del harness: Como el arnés de seguridad de un escalador, el “harness” de ingeniería protege al agente de caídas, permitiéndole trabajar a mayor altura (complejidad) sin riesgo. Filosofía core: No arregles el error, arregla el sistema que permitió el error.
Por Qué Importa
Mejora continua exponencial: Cada error corregido mediante harness engineering aumenta permanentemente la capacidad del agente. En 3 meses de trabajo con agentes, Hashimoto construyó un harness tan robusto que los agentes podían manejar tareas que inicialmente requerían supervisión continua. Escalabilidad de agents: Sin harness engineering, cada nuevo agent comete los mismos errores. Con harness engineering, cada agent hereda las protecciones acumuladas, reduciendo dramáticamente el training time y error rate. ROI compuesto: Inversión inicial en harness (2-4 horas por error) paga dividendos cada vez que el agente maneja tareas similares. En lugar de supervisar 100 tareas futuras, inviertes una vez y automatizas. Shift de mindset: Harness engineering cambia el rol del engineer de “code writer” a “system designer”. No escribes código, diseñas constraints dentro de los cuales el agente puede trabajar de forma segura.
Ejemplos Reales
Ghostty Development (Mitchell Hashimoto)
Contexto: Mitchell Hashimoto construyó Ghostty, un terminal emulator moderno, usando intensivamente agentes de IA con harness engineering. Errores típicos y harnesses creados: Error 1: Agent modifica archivos críticos sin tests
- Harness: Pre-commit hook que bloquea commits sin test coverage mínimo del 80%
- Resultado: Agent forzado a escribir tests antes de cambios Error 2: Agent introduce breaking changes en public API
- Harness: API contract tests con semantic versioning automático
- Resultado: CI/CD falla si API cambia sin bump de version Error 3: Agent genera código que no compila
- Harness: GitHub Actions ejecuta build en cada push
- Resultado: Agent recibe feedback inmediato y auto-corrige Progreso en 3 meses:
- Mes 1: Supervisión continua, 40% de commits requieren corrección
- Mes 2: Supervisión reducida, 15% de commits requieren corrección
- Mes 3: Supervisión ocasional, 3% de commits requieren corrección
E-commerce API Development
Contexto: Startup e-commerce usando Devin para construir REST APIs. Error recurrente: Agente no validaba input correctamente Harness implementado:
// Zod schema obligatorio para todos los endpoints
const productSchema = z.object({
name: z.string().min(3).max(100),
price: z.number().positive(),
stock: z.number().int().nonnegative(),
});
// Middleware que rechaza requests sin validación
app.use((req, res, next) => {
if (!req.validationSchema) {
throw new Error('Endpoint must define validation schema');
}
next();
});Resultado: Después de implementar harness, 0 vulnerabilidades de input validation en 6 meses vs 12-15/mes previamente.
Fintech Payment Processing
Contexto: Agente implementando lógica de pagos con Stripe. Error crítico: Agente procesaba refunds sin verificar estado de payment Harness implementado:
- State machine explícita para payment lifecycle
- Tests de property-based testing (QuickCheck-style)
- Sandbox obligatorio para Stripe API calls en desarrollo
- Human approval requerido para cualquier código que toque production Stripe keys Resultado: Zero payment bugs en production en 8 meses post-harness vs 3 incidents en 2 meses pre-harness.
Cómo Implementar Harness Engineering
1. Identificar Patrón de Error
Cuando agent comete error, pregúntate:
- ¿Es este error repetible?
- ¿Podría ocurrir en contextos similares?
- ¿Qué tipo de error es? (lógica, seguridad, performance, tests)
2. Diseñar el Harness
Opciones de harness por tipo de error: Errors de seguridad:
- Linters con rules custom (ESLint, Semgrep)
- SAST tools en CI/CD (SonarQube, Snyk)
- Secret scanning (GitGuardian) Errors de lógica:
- Property-based testing
- Contract testing entre services
- Mutation testing para validar test quality Errors de performance:
- Performance budgets en CI/CD
- Lighthouse CI con thresholds
- Load testing automático Errors de API design:
- OpenAPI schema validation
- Breaking change detection
- API versioning enforced
3. Automatizar el Harness
El harness debe ejecutarse automáticamente:
- Pre-commit hooks (código local)
- CI/CD pipelines (código remoto)
- Deployment gates (production)
4. Iterar y Refinar
Monitor harness effectiveness:
- ¿El agente sigue cometiendo errores similares?
- ¿El harness genera false positives?
- ¿Necesita ser más estricto o más flexible?
Relación con Slam Dunk Tasks
Harness engineering habilita Slam Dunk Tasks: una vez que has construido harnesses suficientes alrededor de un tipo de tarea, puedes delegar esa tarea completamente al agente con confianza de que no fallará. Progresión típica:
- Task nueva → 100% supervision
- Harness construido → 50% supervision
- Harness refinado → 10% supervision
- Task se convierte en Slam Dunk → 0% supervision
Herramientas y Tecnologías
Linters y Validators:
- ESLint / Prettier (JavaScript/TypeScript)
- Ruff / Black (Python)
- Clippy (Rust)
- Custom rules via AST parsing Testing Frameworks:
- Jest / Vitest (unit tests)
- Playwright (E2E tests)
- Hypothesis / QuickCheck (property-based) CI/CD Harnesses:
- GitHub Actions con custom actions
- Pre-commit framework
- Husky (git hooks)
- Danger (PR automation) Security Harnesses:
- Semgrep (SAST)
- Snyk / Dependabot (dependencies)
- GitGuardian (secrets)
- OWASP ZAP (DAST)
Términos Relacionados
- Tareas Slam Dunk - Tareas que agentes pueden ejecutar con alta confianza
- Codificación Agéntica - Desarrollo donde agentes ejecutan código autónomamente
- Agent-Ops - Rol que diseña y mantiene harnesses para agentes
- Auto-Healing - Sistemas que se auto-reparan cuando detectan problemas
Desafíos y Consideraciones
Over-engineering el harness: No todos los errores necesitan harness. Si un error ocurre una vez y es trivial corregir, no construyas infrastructure compleja. Mantenimiento del harness: Harnesses requieren mantenimiento. Cuando el codebase evoluciona, los harnesses deben evolucionar también. Budget 10-15% de tiempo de engineering a harness maintenance. Balance con velocidad: Harnesses estrictos pueden ralentizar desarrollo inicial. Para MVPs, considera harnesses mínimos (security + critical bugs) y expande después. False sense of security: Harness engineering reduce errores pero no los elimina. Mantén code reviews para decisiones arquitectónicas críticas.
Recursos Adicionales
- Mitchell Hashimoto: My AI Adoption Journey
- Agentic Engineering in Action — Zed’s Blog
- The Agent Harness — Michael Livs
- AI Agents in Production: The Harness Dissected
Última actualización: Febrero 2026 Categoría: AI Development Popularizado por: Mitchell Hashimoto (HashiCorp, Ghostty) Relacionado con: Slam Dunk Tasks, Agentic Coding, Agent-Ops, Continuous Improvement Keywords: harness engineering, mitchell hashimoto, agent improvement, agentic coding, ghostty, ai agent frameworks, agent guardrails