Harness adversarial de Anthropic: ¿vale USD 200?

Un desarrollador replicó el harness generador evaluador IA de Anthropic para construir un sitio web completo en 12 iteraciones adversariales. El resultado: 6 horas, USD 200 en tokens, y una aplicación funcional que un agente solo no pudo lograr en 20 minutos por USD 9.

En 30 segundos

  • El harness Generator-Evaluator es una arquitectura de tres agentes (Planner, Generator, Evaluator) que Anthropic diseñó para apps de larga duración con ciclos de feedback adversarial.
  • Un agente solo tardó 20 minutos y costó USD 9; el resultado estaba roto. El harness tardó 6 horas y costó USD 200; la app funcionó.
  • El Evaluator usa Playwright para interactuar con la app en vivo, no screenshots. Puntúa criterios como diseño, originalidad y funcionalidad con umbrales de ≥7/10 para pasar.
  • La inspiración viene directamente de las GANs: generador vs discriminador, donde la tensión adversarial mejora el output.
  • Casos probados: museo holandés interactivo, videojuego 2D y una DAW (Digital Audio Workstation) con arrangement view, mixer y transporte completo.

Qué es el harness generador evaluador IA y por qué cambia el desarrollo con IA

Un harness, en este contexto, es el envoltorio de código, herramientas y lógica orquestadora que rodea al modelo de lenguaje. No es el modelo en sí, es lo que le dice al modelo qué hacer, cuándo parar, y cómo juzgar si hizo bien su trabajo.

El problema que Anthropic quiso resolver es concreto: un agente que genera código y luego se auto-evalúa tiende a elogiarse a sí mismo incluso cuando el resultado es mediocre. Según la documentación de ingeniería de Anthropic, la solución está en separar físicamente al que construye del que juzga. Si el mismo modelo que escribió el código es el que decide si está bien, vas a tener un conflicto de intereses estructural. Y los modelos, curiosamente, tienen egos frágiles cuando se auto-revisan.

La inspiración viene de las GANs (Generative Adversarial Networks): una arquitectura donde un generador produce contenido y un discriminador intenta detectar si es real o falso. La tensión entre los dos mejora la calidad de lo que produce el generador. Anthropic trasladó ese concepto al desarrollo de software.

Arquitectura de tres agentes: Planner, Generator y Evaluator

El harness tiene tres roles bien diferenciados, y cada uno tiene responsabilidades que no se solapan.

El Planner

Toma el prompt original del usuario (que puede ser de 1 a 4 líneas) y lo expande en una especificación detallada. Nada de ambigüedades. El Planner convierte “haceme un sitio de museo” en un documento con criterios concretos: qué secciones tiene, qué interacciones espera el usuario, cómo se mide el éxito. Antes de que el Generator escriba una sola línea de código, el Planner negocia un contrato de aceptación con el Evaluator.

Ese contrato pre-negociado es clave. El Generator sabe exactamente qué criterios va a usar el Evaluator para juzgar su trabajo antes de empezar. Nada de sorpresas post-hoc.

El Generator

Construye la aplicación en sprints. Usa git para control de versiones y descompone el trabajo en tareas acotadas. Si el Evaluator le devuelve feedback negativo, el Generator recibe un prompt con el detalle específico de qué falló y tiene que iterar. No puede ignorarlo, no puede aprobar su propio trabajo. Tema relacionado: diferencias clave entre Anthropic y Google.

El Evaluator

Acá está el diferencial técnico real. El Evaluator no mira screenshots. Según la implementación documentada, usa Playwright MCP para interactuar con la aplicación en vivo: hace clic, navega, llena formularios, verifica que los elementos respondan. Después puntúa cuatro criterios: Design Quality, Originality, Craft, y Functionality. El umbral para pasar es ≥7/10 en cada categoría.

Si algo no llega al umbral, el ciclo se reinicia.

El ciclo adversarial: por qué separar generator de evaluator es crucial

Ponele que le pedís a un único agente Claude que construya una landing page y luego le preguntás “¿quedó bien?”. La respuesta típica es alguna variante de “sí, cumple con los requisitos establecidos”. Aunque el menú no funcione, aunque el formulario no envíe nada, aunque el diseño sea genérico hasta el dolor. Los modelos tienden a buscar señales de aprobación cuando se auto-evalúan, y eso contamina el juicio.

Los números lo confirman. Un experimento documentado por Cole Medin en su repositorio adversarial-dev mostró esta comparación:

ConfiguraciónTiempoCostoResultado
Agente solo (sin harness)~20 minutos~USD 9App rota, criterios no cumplidos
Harness completo (3 agentes)~6 horas~USD 200App funcional, todos los criterios superados
harness generador evaluador ia diagrama explicativo

¿Vale la pena pagar 22 veces más y esperar 18 veces más? Depende de qué estás construyendo. Para un prototipo desechable, no. Para una herramienta de usuario final o una app interna que va a usar un equipo real, sí.

Lo interesante es que el feedback adversarial no solo corrige bugs. Fuerza al Generator a hacer pivots creativos que un agente solo nunca haría porque no tiene presión externa.

Ejemplos reales: museo, videojuego y estación de audio digital

Los tres casos documentados muestran patrones distintos de cómo el ciclo adversarial modifica el output.

El museo holandés interactivo

La iteración inicial produjo lo que el Evaluator catalogó como “diseño oscuro predecible”: fondo negro, tipografía blanca, galería estática. Pasable. Nada memorable. El Evaluator lo rechazó específicamente en Originality (puntuó 4/10) porque penalizaba la estética genérica “AI-style” de forma explícita en su rúbrica.

En la iteración 10, el Generator pivotó a algo que nadie había pedido: una experiencia 3D navegable usando CSS perspective y transforms. El museo virtual permitía “caminar” por salas usando el teclado. No había ninguna instrucción que dijera “hacelo en 3D”. El Evaluator lo forzó a salir de la plantilla estándar, y el Generator encontró una solución que el Planner no había anticipado.

El videojuego 2D

El agente solo generó sprites, colisiones mal calculadas y un game loop que se rompía al cabo de 30 segundos. Con el harness, el Evaluator detectó que las mecánicas de colisión fallaban al probarlo con Playwright (sí, hasta los videojuegos los testeó en vivo), y el Generator tuvo que refactorizar la lógica de física desde cero. El resultado final tenía mecánicas funcionales y niveles progresivos. En considerando la seguridad del sistema profundizamos sobre esto.

La DAW (Digital Audio Workstation)

El caso más ambicioso. Tiempo total: 3 horas 50 minutos. Costo: USD 124.70. Iteraciones de QA: 3. La DAW final tenía arrangement view, mixer de canales, transport (play/stop/record), y un agente de composición musical integrado que generaba patrones MIDI. Nada de eso estaba especificado en el prompt original. El harness generador evaluador IA lo fue construyendo a través del feedback iterativo del Evaluator, que pedía más funcionalidad en cada ciclo hasta que la app pasó todos los criterios.

Cómo implementar tu propio harness: stack y herramientas

El stack típico que documentó la comunidad tras la publicación de Anthropic: React + Vite en el frontend, FastAPI en el backend, SQLite para proyectos chicos o PostgreSQL para algo más serio. Nada exótico. Si ya tenés experiencia con estas herramientas, el overhead técnico del harness está en la orquestación, no en los componentes.

El Generator necesita acceso a git para hacer commits incrementales por sprint. Así el Evaluator puede hacer rollback a una versión anterior si una iteración empeora la app en vez de mejorarla (sí, pasa).

El Evaluator necesita Playwright MCP. Ojo con esto: la versión headless de Playwright para testing estático no sirve acá. Tiene que ser interacción real con el DOM vivo, porque muchos bugs solo aparecen en runtime.

Los criterios de evaluación van hardcodeados en el prompt del Evaluator, con penalizaciones explícitas. Si querés creatividad, tenés que decirle al Evaluator que penalice lo genérico. Si lo dejás en modo neutral, va a aprobar cualquier cosa que “funcione” técnicamente aunque sea aburrida.

Patrones de evaluación: rubrics, criterios y puntajes

La evaluación es el apalancamiento real del harness. Sin rubrics bien pensados, el ciclo adversarial no tiene dónde morder.

Según el análisis de Shiplight, los cuatro criterios estándar son:

  • Design Quality: coherencia visual, uso del espacio, jerarquía tipográfica
  • Originality: diferenciación respecto a templates genéricos de IA
  • Craft: calidad del código, ausencia de bugs obvios, consistencia de estado
  • Functionality: que las features anunciadas realmente funcionen bajo interacción real

Para proyectos de frontend design, las iteraciones típicas son 5 a 15 antes de pasar todos los umbrales. Para tareas más acotadas con scope bien definido, puede resolverse en 2 o 3 ciclos. Más contexto en similar a lo que hace ChatGPT.

El contrato pre-negociado entre Planner y Evaluator es lo que diferencia este approach del juicio post-hoc. Si el Generator sabe de antemano que “fondo negro + texto blanco” va a puntuar bajo en Originality, va a buscar algo distinto desde la primera iteración. Sin ese contrato, el Generator optimiza para lo que sea que el Evaluator juzgue en el momento, y eso es impredecible.

Costos, tiempos y escalabilidad: cuándo usar harness completo

USD 200 y 6 horas es mucho dinero y tiempo para quien está acostumbrado a generar un MVP en 20 minutos con un prompt directo. La pregunta real es: ¿qué estás construyendo?

Si el output es un prototipo desechable para mostrar una idea, el agente solo zafa. Si es una herramienta de usuario final que alguien más va a usar (o una app interna con SLA implícito), el harness paga la diferencia.

Según InfoQ, el framework de Anthropic fue pensado desde el inicio para escalar: desde un frontend React simple hasta sistemas full-stack con múltiples servicios. La arquitectura es la misma, lo que cambia es la complejidad del contrato que negocia el Planner.

Para proyectos que corrés en producción y necesitás que el hosting no te falle, donweb.com tiene planes de cloud y VPS donde podés deployar estas apps sin el overhead de configurar infraestructura desde cero.

Errores comunes al implementar un harness adversarial

Dejarle al Generator la decisión de cuándo parar

El Generator, si puede, va a declarar victoria antes de tiempo. El criterio de parada tiene que estar en el Evaluator con umbrales duros. Si el Evaluator dice “pasa si todos los criterios son ≥7”, el Generator no tiene margen para argumentar que “en términos generales está bastante bien”.

Rubrics demasiado vagos

“Que se vea bien” no es un criterio. “Design Quality medido por: jerarquía tipográfica clara, paleta de máximo 3 colores, cero overflow horizontal en mobile” es un criterio. La calidad del harness generador evaluador IA depende directamente de qué tan concretos sean los rubrics del Evaluator.

Usar screenshots en vez de interacción real

El Evaluator que mira screenshots aprueba cosas que visualmente se ven bien pero están rotas por dentro. Un formulario que no envía datos se ve igual en un screenshot que uno que funciona. Playwright con interacción real detecta la diferencia; un análisis visual no.

Preguntas Frecuentes

¿Qué es el harness Generator-Evaluator de Anthropic?

El harness Generator-Evaluator de Anthropic es una arquitectura de tres agentes (Planner, Generator, Evaluator) donde el Generator construye la aplicación en sprints y el Evaluator la prueba en vivo con Playwright, devolviendo feedback crítico para forzar iteraciones. El Planner establece el contrato de aceptación antes de que empiece cualquier desarrollo. Para más detalles técnicos, mirá profundizamos en modelos de lenguaje.

¿Por qué un evaluador separado es mejor que la auto-evaluación?

Los modelos de lenguaje tienden a aprobar su propio trabajo incluso cuando está roto o es mediocre. Un Evaluator separado no tiene acceso al contexto de construcción del Generator, así que juzga el output por lo que es, no por el esfuerzo que implicó. Esto elimina el sesgo de confirmación que tiene cualquier agente auto-evaluador.

¿Cuántas iteraciones necesita un harness para construir un sitio web?

Depende de la complejidad. Para tareas bien scopeadas, 2 o 3 iteraciones de QA alcanzan. Para frontend design con criterios de originalidad exigentes, el rango típico es 5 a 15 ciclos. La DAW documentada por Cole Medin necesitó 3 iteraciones de QA en 3 horas 50 minutos con un costo de USD 124.70.

¿Cuál es la diferencia de costo entre un agente solo y el harness completo?

En los experimentos documentados, el agente solo costó alrededor de USD 9 en 20 minutos y produjo una app rota. El harness completo costó USD 200 en 6 horas y produjo una app funcional. El costo es 22 veces mayor, pero el delta de calidad es la diferencia entre algo que funciona y algo que no.

¿Cómo funciona el Evaluator con Playwright?

El Evaluator usa Playwright MCP para abrir la app generada en un browser real, hacer click en elementos, navegar entre rutas, completar formularios y verificar que el estado de la app responda correctamente. No analiza screenshots ni código fuente: interactúa con la app como lo haría un usuario, lo que detecta bugs de runtime que ningún análisis estático capturaría.

Conclusión

El harness generador evaluador IA de Anthropic no es un truco de laboratorio. Es una respuesta concreta a un problema real: los agentes solos no se pueden juzgar a sí mismos de forma confiable, y eso hace que produzcan output que “pasa” un review superficial pero falla en producción.

La lección más importante de los experimentos documentados en 2026 no es el costo ni el tiempo. Es que la arquitectura adversarial fuerza creatividad que ningún prompt directo genera. El museo que terminó en 3D no fue porque alguien pidió 3D; fue porque el Evaluator rechazó lo genérico hasta que el Generator encontró algo que valía la pena.

Si estás construyendo herramientas de usuario final con Claude, vale la pena invertir tiempo en diseñar los rubrics del Evaluator antes de escribir una línea de código. Ahí está el 80% del valor de esta arquitectura.

Fuentes

Desplazarse hacia arriba