Naia
· Luke Yang

Entendiendo el Harness a través del caso de AX de Nextain x Onmam.com

harness-engineeringonmamcase-studyAIAXAI Trasformation

Esta publicación es el contenido presentado el 2 de mayo de 2026 en el gremio Dabakodan DaoLab VibeCoding como una introducción a un caso de 'Ingeniería de Harness'.

Nextain es una empresa que desarrolla y apoya tecnologías para la Transformación de IA (AX) de empresas con productos de software. Hemos asumido la operación del sistema de Onmam.com, un portal de iglesias coreanas, y estamos trabajando en su AX. Estamos llevando a cabo la migración de un sistema legado ubicado en un antiguo centro IDC, configurando un entorno que permite el desarrollo y la operación basados en agentes, y realizando trabajos de estabilización y mejora de funcionalidades. Dado que es un sistema legado antiguo, hemos tenido pruebas y errores, y estamos aplicando naia-business-adk a Onmam.com, integrándolo con la experiencia y tecnología de la empresa. Como experiencia relacionada, compartimos esto en el evento como un caso que explica la ingeniería de harness.

hero-en.webp

El mensaje clave de este artículo "Más importante que usar bien la IA, es crear un entorno donde la IA no cometa errores."


1. Primero, presentemos nuestro servicio

Onmam.com — Plataforma de gestión de iglesias utilizada por 13,876 iglesias en todo el país

www.onmam.com      ← Búsqueda de iglesias, portal de miembros
home.onmam.com     ← Aplicación de canal (contenido/pago)
{nombre_iglesia}.onmam.com ← Página web de iglesia individual

Infraestructura: Servidor IDC antiguo → Migración completa a GCP (Google Cloud) en abril de 2026 finalizada DB: 13,876 bases de datos de iglesias × Cloud SQL


2. Empecemos con un incidente

"Un día de abril de 2026"

11:00 AM. De repente, todo el servicio de Onmam.com no responde.
Usuarios: "¿Por qué no funciona el sitio?"

Rastreando la causa, encontramos que era el código de consulta de la lista de publicaciones en el archivo Board.php.

-- Consulta problemática (simplificada)
SELECT * FROM boards
JOIN (
  SELECT bbs_id, COUNT(*) FROM all_boards GROUP BY bbs_id  -- ← Este es el problema
) AS summary ON boards.id = summary.bbs_id
WHERE church_id = ?

Esta única consulta estaba realizando un escaneo completo de los datos de las 13,876 iglesias cada vez. Cuando el tráfico se disparó, 145 consultas de 600-800 segundos se ejecutaron simultáneamente → parálisis total del servidor.

¿Qué relación tiene esto con la IA?

Probablemente, un desarrollador humano escribió este código por primera vez. Pero hoy en día, los desarrolladores escriben este tipo de código con la ayuda de la IA.

El problema es que — la IA no sabe "cómo funciona este código en un entorno de 13,876 iglesias". La IA se enfoca en implementar la funcionalidad solicitada y desconoce el contexto de nuestro servicio.

Así que los desarrolladores comenzaron a preguntarse: "¿Cómo evitamos que la IA escriba código sin conocer nuestro servicio?"


3. Ingeniería de Harness — Explicación en 30 segundos

Así como se necesitan riendas y arneses para manejar un caballo,
los agentes de IA también necesitan restricciones, guías y mecanismos de verificación.

Agente = Modelo + Harness

Harness = Diseñar todo el entorno en el que trabaja la IA

No se trata simplemente de "hacer buenas preguntas a la IA". Es el diseño de un sistema que estructuralmente impide que la IA cometa el mismo error cuando se equivoca.


4. Harnesses implementados realmente en Onmam.com

[Harness #1] AGENTS.md — El "mapa de nuestro servicio" para la IA

alpha-adk/
├── CLAUDE.md        ← Archivo que la IA debe leer obligatoriamente al iniciar una sesión
├── AGENTS.md        ← Lista de reglas del proyecto
└── .agents/
    └── context/
        └── agents-rules.json  ← Reglas operativas específicas

La IA debe leer estos archivos antes de modificar el código de Onmam.com. Contienen información como:

  • "Las pruebas y modificaciones de código se realizan solo en el entorno alpha"
  • "home.onmam.com es una aplicación de canal separada, no un portal"
  • "El patrón de tabla derivada con GROUP BY en Board.php está estrictamente prohibido"

¿Recuerdas esa falla? Ahora, si la IA intenta crear el mismo patrón, verá esta regla y se detendrá.


[Harness #2] Hooks — "Dispositivos de seguridad" que actúan antes y después de las acciones de la IA

Hooks actualmente en funcionamiento en este espacio de trabajo:

Justo antes de que la IA ejecute un comando Bash →
  ✓ pr-guard.js          : Bloquea la fusión de PR sin revisión
  ✓ commit-guard.js      : Bloquea commits que violan las reglas
  ✓ deploy-guard.js      : Bloquea el despliegue en el servidor de producción sin aprobación
  ✓ git-push-guard.js    : Bloquea git push sin aprobación
  ✓ destructive-git-guard.js : Bloquea comandos destructivos como git reset --hard

Justo antes de que la IA modifique un archivo →
  ✓ prod-gateway-guard.js : Impide el uso de claves API de producción en archivos de entorno de desarrollo
  ✓ design-doc-guard.js   : Bloquea la modificación no autorizada de documentos de diseño

Justo después de que la IA modifique un archivo →
  ✓ cascade-check.js      : Verifica archivos afectados en cascada por el archivo modificado

Ejemplo de funcionamiento real de deploy-guard.js:

Intento de la IA de ejecutar un comando de despliegue en producción:
  $ gcloud run deploy onmam-web ...

→ [Harness] Comando de despliegue en producción bloqueado: gcloud run deploy
  Proyecto: onmam-web
  El despliegue en producción requiere aprobación previa.
  Método de aprobación: Añadir un elemento de aprobación en .claude/deploy/approvals.json
  La IA no ejecuta despliegues en producción directamente.

Incluso si la IA intenta, por error o con demasiada proactividad, subir algo al servidor de producción, es físicamente bloqueada.


[Harness #3] Entorno Alpha — El campo de pruebas exclusivo de la IA

Producción          : www.onmam.com         ← Utilizado por iglesias reales
Staging             : staging.onmampick.org ← Verificación final antes del despliegue
Alpha               : luke-*-alpha.onmampick.org ← Espacio de trabajo con la IA

Regla: Todo el trabajo con la IA se realiza solo en alpha.

¿Por qué es esto importante? — Lo que realmente sucedió el 29 de abril de 2026:

La IA confundió home.onmam.com con la aplicación portal y escribió una configuración de vhost incorrecta. Como estábamos en el entorno alpha → no hubo impacto en el servicio real. Este error se registró en AGENTS.md → la IA no volverá a cometer el mismo error.

Aquí reside la esencia del harness: Si ocurre un error → se registra en el harness → la próxima vez, ese error se vuelve estructuralmente imposible.


[Harness #4] Skills — "Nuestras propias herramientas" para la IA

skills/
├── email/          ← Envío de correo electrónico (incluye destinatarios, reglas SMTP)
├── sms/            ← Envío de SMS
├── web-monitoring/ ← Monitoreo del estado del servicio
└── service-management/ ← Comandos de operación del servicio

Si la IA dice "envíame un correo electrónico" — leerá este archivo de skill y sabrá automáticamente a quién, en qué formato y con qué SMTP debe enviarlo. No es necesario preguntar cada vez "¿cuál es la dirección de correo electrónico del destinatario?"


5. ¿Por qué los desarrolladores se interesan en esto?

"El problema de la era de desarrollo sin IA"

Dependencia de la capacidad individual del desarrollador → la calidad disminuye si falta un senior
Debe ser detectado por la revisión de código → una persona debe revisarlo directamente

"El problema de los equipos con IA pero sin harness"

La IA genera código rápidamente pero → desconoce el contexto de nuestro servicio
Repite los mismos errores → la IA crea los bugs y las personas los corrigen
La IA puede acceder directamente al servidor de producción → no se sabe cuándo ocurrirá un accidente

"El equipo con IA + harness"

La IA conoce nuestras reglas y escribe código → generación con contexto
Si ocurre un error, se registra en el harness → prevención estructural del mismo error
El acceso a producción es aprobado por una persona → autonomía segura

Tomando prestada la expresión de Toss:

"El harness eleva el punto más bajo de la productividad de toda la organización. Sin depender de las capacidades individuales, todos los miembros del equipo logran resultados por encima de cierto nivel."


6. Resumen — Lo que quiero transmitir a los no desarrolladores

En la era de la IA, la definición de "hacer bien" está cambiando.

Antes: Un desarrollador que escribe buen código Ahora: Un desarrollador que diseña bien el entorno en el que la IA escribe código

El núcleo de ese diseño de entorno es la ingeniería de harness.

Y esto no es solo una historia de desarrolladores.

Harness que los no desarrolladores también pueden hacer:
  → Escribir claramente las reglas de negocio en documentos
  → Definir para la IA "esto se puede hacer y esto no"
  → Registrar "por qué se equivocó" cuando la IA comete un error

= Esto mismo es el comienzo de la ingeniería de harness

Estructura del Harness de Onmam.com de un vistazo

alpha-adk/
├── CLAUDE.md                    ← [Guía] Lectura obligatoria al iniciar una sesión de IA
├── AGENTS.md                    ← [Guía] Reglas del proyecto (SoT)
├── .agents/context/
│   └── agents-rules.json        ← [Guía] Reglas operativas específicas
├── .claude/
│   ├── hooks/
│   │   ├── deploy-guard.js      ← [Sensor] Bloqueo de despliegue en producción
│   │   ├── prod-gateway-guard.js← [Sensor] Bloqueo de claves API de producción
│   │   ├── commit-guard.js      ← [Sensor] Verificación de reglas de commit
│   │   ├── pr-guard.js          ← [Sensor] Forzar aprobación de PR
│   │   ├── session-inject.js    ← [Sensor] Inyección de contexto en cada sesión
│   │   └── cascade-check.js     ← [Sensor] Verificación de impacto en cascada después de la modificación
│   └── settings.json            ← [Permiso] Configuración de ejecución de hooks
├── skills/
│   ├── email/                   ← [Herramienta] Skill de envío de correo electrónico
│   ├── web-monitoring/          ← [Herramienta] Monitoreo de servicio
│   └── service-management/      ← [Herramienta] Comandos de operación de servicio
└── data-private/memory/         ← [Bucle de retroalimentación] Registro de errores → Prevención de recurrencias
    ├── project_onmam_incidents.md    ← Registro del patrón de falla de Board.php
    ├── project_onmam_app_structure.md← Registro del error home≠portal
    └── feedback_alpha_only.md        ← Registro de reglas exclusivas de alpha

Harness = Un conjunto de estos archivos Todos se confirman en el repositorio de Git. ¡Todo el contexto del equipo! se acumula como código.

Popular Posts

CC BY-NC-SA 4.0This post is licensed under CC BY-NC-SA 4.0.

Comentarios

Puedes comentar sin iniciar sesión

...