Blog articles are published in Spanish and Catalan.

Aprendiendo IA

Copia una web mirándola

Un modelo de IA puede rehacer en HTML una página web a partir de una simple captura, y mejorar la copia ronda a ronda si se le dice en qué falla. La clave es tener un «oráculo», el original, contra el que comparar cada intento. Así se monta el bucle con Playwright y una medida de parecido, y estos son los límites legales de copiar lo ajeno.

Ilustración: un plóter con el destello de Claude dibuja la copia de una tarjeta con una lámpara, colgada en la pared como original, y una profesora superpone un acetato con un círculo rojo donde no coinciden mientras un alumno mira.
📷 Imagen generada con IA

En resumen

  • En MirrorCode, una prueba publicada en junio de 2026 por Epoch AI, METR y otras tres organizaciones, el mejor modelo rehízo programas sin ver su código y sacó un 56 %, según sus autores.
  • WebUI-95, un trabajo aceptado en CHI 2026, pasó a código capturas de 10.000 páginas web con un 95 % de fidelidad visual, según sus autores.
  • En un ejemplo con una tarjeta de producto ficticia, Claude Haiku 5.5 subió en tres rondas el parecido de su copia de 0,87 a 0,97 sobre 1, medido en la zona de la tarjeta.
  • El mejor intento fue el tercero, no el último: las rondas 4 y 5 solo tocaron píxeles sueltos y la nota bajó un poco.
  • La Ley de Propiedad Intelectual no protege las ideas de un programa, pero el código, los textos, las imágenes y las marcas de una web ajena sí pueden estarlo.

Frío o caliente

Captura original: tarjeta de producto ficticia con una lámpara, el título Lámpara Girasol, cuatro estrellas, una descripción corta, el precio de 39 euros y un botón para añadir al carrito.
📷 Captura propia · InformAtor

Copiar algo mirándolo es mucho más fácil cuando se puede comprobar el resultado. Con un modelo de IA pasa lo mismo: si el bucle le dice en qué se aparta su copia del original, puede ir afinándola sin que nadie le explique cómo estaba hecho.

Dos trabajos de investigación de 2026 han llevado esa idea a programas enteros y a miles de páginas web. Y el mismo esquema cabe en un ordenador personal, con una tarjeta de producto como la de la imagen.

Programas enteros sin ver el código

MirrorCode en cifras
Medida Dato
Programas de la prueba 25
Mejor nota del conjunto (Claude Opus 4.7) 56 %
Nota estimada de los mejores modelos de ocho meses antes En torno al 30 %
Tamaño de gotree Unas 16.000 líneas en Go
gotree rehecho por Claude Opus 4.7 2.000 de 2.001 pruebas superadas en 14 horas, por 251 dólares
Tiempo estimado para una persona sin ayuda de IA (gotree) De 2 a 17 semanas
Un solo intento en una tarea grande 2.600 dólares en 19 días
Datos según los autores de MirrorCode (Epoch AI, METR y otros), arXiv:2606.30182.

MirrorCode es una prueba de programación de largo recorrido publicada el 29 de junio de 2026 en arXiv, el repositorio abierto de artículos científicos. La firman investigadores de Epoch AI, organización de investigación sin ánimo de lucro sobre el futuro de la inteligencia artificial que se financia con donaciones y hace estudios por encargo para empresas y gobiernos; de METR, organización sin ánimo de lucro que evalúa modelos de IA, y de otras tres organizaciones.

Un agente de IA tiene que rehacer un programa entero sin ver su código fuente. Solo puede ejecutarlo con los argumentos que quiera y mirar qué devuelve, lo que los autores llaman «a black-box oracle», un oráculo de caja negra. Su versión debe dar exactamente la misma salida en pruebas de principio a fin, incluidas otras que no ha visto.

Son 25 programas de campos muy distintos, de utilidades de Unix a criptografía y compresión. De los tres modelos principales evaluados, Claude Opus 4.7, GPT-5.5 y Gemini 3.1 Pro Preview, el mejor fue Claude Opus 4.7, que según los autores rehízo casi por completo gotree, una herramienta de bioinformática escrita en Go.

Los autores matizan que funciona sobre todo cuando los requisitos están definidos con precisión, y que la mayoría de los fallos vinieron de casos límite.

Webs a partir de una foto

WebUI-95 en cifras
Medida Dato
Muestra analizada 10.000 interfaces
Fidelidad visual respecto a la web original 95 %
Reducción del código En torno al 95 %
Similitud coseno media con UIClip (1 = idénticas) 0,938
Datos según los autores de WebUI-95 (CHI EA 2026). La similitud se mide con UIClip, no con la medida del ejemplo de este artículo.

WebUI-95 aplica la idea a la web. Es un resumen extendido aceptado en CHI 2026, un congreso internacional de interacción persona-ordenador celebrado en Barcelona, y lo publica en su página Tommaso Calò, investigador posdoctoral de la Universidad IT de Copenhague (IT University of Copenhagen) especializado en interacción persona-ordenador e inteligencia artificial.

A un modelo de IA especializado en pasar de captura a código se le dio la imagen de cada página de WebUI, un conjunto de datos de páginas web, y su código se pintó con Playwright, una biblioteca de código abierto para controlar navegadores. El parecido lo mide UIClip, un modelo ajustado para comparar capturas de interfaces, con la similitud coseno: otra medida, distinta de la del ejemplo de más abajo.

Según los autores, el código rehecho ocupa en torno a un 95 % menos que el original porque las webs reales arrastran frameworks, restos de compilación y capas que no se ven, y el modelo solo reescribe lo visible.

El bucle, ronda a ronda

El ejemplo, ronda a ronda
Ronda SSIM página entera SSIM solo tarjeta Tamaño del HTML
1 0,9573 0,8729 3.211 bytes
2 0,9764 0,9303 3.321 bytes
3 0,9891 0,9686 3.348 bytes
4 0,9864 0,9603 3.349 bytes
5 0,9878 0,9644 3.349 bytes
SSIM calculado con scikit-image sobre capturas de 800 × 600 píxeles; 1 = idénticas. Modelo: Claude Haiku 5.5. La mejor ronda fue la 3. El HTML original, escrito a mano, ocupa 1.861 bytes. Cada ronda tardó entre 24 y 31 segundos.
Mapa de diferencias del primer intento: la tarjeta en gris con el texto, el borde del círculo y el botón marcados en rojo donde no coinciden.
📷 Captura propia · InformAtor

En un ejemplo con una tarjeta de producto ficticia, una «Lámpara Girasol» hecha a mano en HTML y CSS, se capturó la página a 800 × 600 píxeles con Playwright y se le pasó a Claude Haiku 5.5, el modelo más ligero de la familia Claude de Anthropic, con `claude -p --model claude-haiku-5-5` desde Claude Code.

La primera orden: escribir un único HTML autocontenido, con el CSS en `<style>`, sin imágenes externas ni JavaScript y con la fuente DejaVu Sans, que reprodujera la captura a 800 × 600. En las rondas siguientes recibía el original, su último intento, el mapa de diferencias, su HTML y la nota SSIM, con la orden de corregir posiciones, tamaños, colores, tipografía y márgenes.

La nota se calculó sobre la página entera y sobre un recorte de la tarjeta, porque el fondo liso, que cualquier intento acierta, infla la primera.

El primer intento ya acertó la composición. Fallaba lo fino, que su mapa de diferencias, el de la imagen, marca en rojo: el tamaño, el interlineado y la posición del texto, el botón y el círculo. El mapa está normalizado al máximo de cada imagen: el de la última ronda se vería igual de rojo aunque sus diferencias son mucho menores.

Y no mejoró siempre. El mejor intento fue el tercero; el cuarto empeoró un poco, y las dos últimas rondas solo tocaron píxeles sueltos, como una letra de 13 a 12,8 píxeles. Guarda el mejor intento, no el último, y detente cuando la nota deje de subir.

El HTML rehecho es más largo que el original, que ya era limpio: el ahorro de WebUI-95 viene de webs reales cargadas de código que no se ve. Y cinco rondas de un único ejemplo no miden la calidad de un modelo; solo enseñan cómo funciona el bucle.

Hazlo tú

Tu registro de rondas
Ronda SSIM página SSIM contenido Qué cambió ¿Mejor que la anterior?
1 — — — —
2 — — — —
3 — — — —
4 — — — —
5 — — — —
Plantilla para apuntar cada intento. Quédate con la ronda de nota más alta, no con la última.
Reconstrucción final de una tarjeta de producto: una lámpara con un círculo amarillo sobre fondo verde, el título Lámpara Girasol, estrellas, precio y un botón oscuro.
📷 Captura propia · InformAtor

Hace falta Python 3, `pip install playwright scikit-image pillow`, `playwright install chromium` para descargar el navegador y un modelo que lea imágenes: vale cualquier asistente que acepte una imagen y devuelva código, o un modelo local con visión, aunque puede rendir peor.

Paso 1: captura una página propia y sencilla a un tamaño fijo, por ejemplo 800 × 600, con `page.screenshot(path="original.png")`. Paso 2: pide al modelo un HTML autocontenido que la reproduzca, con la orden de la primera ronda del ejemplo.

Paso 3: pinta el HTML al mismo tamaño y calcula el SSIM con `structural_similarity(a, b, channel_axis=2, data_range=255)` de scikit-image, en la página entera y en la zona del contenido. Con `full=True` devuelve además el mapa píxel a píxel, de donde sale la imagen de diferencias.

Paso 4: pasa al modelo el original, su intento, el mapa, el HTML y la nota, y pídele que corrija; repite cuatro o cinco rondas. Paso 5: apunta cada una en la tabla y quédate con la mejor.

La imagen muestra la última ronda: a simple vista apenas se distingue del original, aunque su nota quedó un poco por debajo de la del tercer intento.

Ojo: el SSIM castiga mucho que el texto se mueva unos píxeles, una nota alta no garantiza un código bueno ni accesible y la fuente debe ser la misma en las dos capturas.

Lo que puedes copiar y lo que no

La Ley de Propiedad Intelectual separa la idea de su expresión. Su artículo 96.4 dice: «No estarán protegidos mediante los derechos de autor con arreglo a la presente Ley las ideas y principios en los que se basan cualquiera de los elementos de un programa de ordenador incluidos los que sirven de fundamento a sus interfaces».

El artículo 100.3 permite al usuario legítimo de un programa «observar, estudiar o verificar su funcionamiento, sin autorización previa del titular, con el fin de determinar las ideas y principios implícitos en cualquier elemento del programa» mientras lo usa con derecho a hacerlo.

Pero el código, los textos, las fotos, las ilustraciones, los logotipos y las marcas de una web sí pueden estar protegidos, y las condiciones de uso de un sitio pueden prohibir copiarlo. Practica con webs propias o con permiso y no publiques la copia de una ajena. Esto no es asesoramiento legal.

Conclusión

Con un juez automático, un modelo de IA se corrige solo: el original dice si va frío o caliente, y la medida elegida decide qué significa «parecido». Una tarjeta de producto basta para verlo en un par de minutos. Dos ideas para llevarse: el mejor intento no siempre es el último, y lo que se copia tiene que ser propio o con permiso.

Fuentes primarias

Comentarios

Sé respetuoso. Los comentarios se moderan.

    La continuación natural

    Aprende IA a tu ritmo con nuestros cursos gratuitos.

    En nuestra plataforma de aprendizaje TAKU podrás acceder a este y muchos otros cursos de manera totalmente gratuita.

    APRENDER CON TAKU

    ← Volver al blog