Especificar interactuando

Las pruebas de código suelen entregar al agente una incidencia escrita: aquí está el fallo, esto es lo que debe hacer el arreglo. ProgramDistill, publicado en arXiv el 16 de septiembre por investigadores de Microsoft Research Montréal, Microsoft AI y KAIST, elimina el texto.

En su lugar, el agente recibe una aplicación web de referencia plenamente funcional con la que puede interactuar, y una copia incompleta de esa aplicación. La tarea es que la copia se comporte como la referencia. Nadie le dice cuál es ese comportamiento: tiene que averiguarlo usando la versión que funciona.

Cómo se construyeron las tareas

Los autores crearon una tubería que llaman mine-craft-patch. Interactúa con 26 aplicaciones web en funcionamiento, registra 1.975 comportamientos verificados por reproducción y los convierte en 4.063 tareas, todo sin intervención humana. Una tarea se considera resuelta cuando el código del agente reproduce el comportamiento registrado.

La dificultad se controla con la profundidad de restauración: cuántas capas de la aplicación se retiraron antes de que el agente empiece. Eso da a la prueba un dial en lugar de un solo precipicio, que es la parte que probablemente sobreviva a las puntuaciones actuales.

Un portátil abierto sobre un escritorio de madera a la luz del día
La prueba contiene 4.063 tareas generadas sin intervención humana. Fotografía ilustrativa. YUSUF ARSLAN · pexels · Pexels License

Las cifras

Entre nueve agentes de código de frontera, el artículo sitúa a GPT-6 Astra en el 49,2% y a Claude Opus 5 en el 28,8% en flujos acumulativos de reconstrucción completa de la aplicación, el ajuste más duro.

Los resultados de reconstrucción parcial son más informativos. El éxito cae del 100% al 64,0% para el agente más fuerte, y del 96% al 32% para el más débil, cuando la profundidad de restauración pasa de 1 a 8. Ambos rozan la perfección con una capa retirada. Ninguno se acerca a la fiabilidad con ocho.

Notas adhesivas en una pared de cristal con dos colegas conversando detrás
La dificultad se fija por cuántas capas de la aplicación se retiraron. Fotografía ilustrativa. ANTONI SHKRABA production · pexels · Pexels License

Son mediciones de los propios autores, publicadas junto a la prueba y no producidas por una clasificación independiente, y la distancia de dos a uno entre el modelo líder y Claude Opus 5 es mayor que la que esos modelos muestran en la mayoría de evaluaciones públicas de código: razón suficiente para esperar una segunda medición antes de dar el orden por firme.

Por qué es una prueba distinta

Casi todo el trabajo real de ingeniería parte de algo que ya funciona. Quien se incorpora a un código aprende qué hace el producto usándolo, no leyendo una especificación que lo describa por completo. ProgramDistill intenta medir eso, y la caída brusca con la profundidad sugiere que los agentes actuales lo hacen mucho mejor sobre una capa de inferencia que sobre ocho.

Qué vigilar

Si los mantenedores publican una clasificación abierta a envíos y si la curva de profundidad se sostiene entre modelos. Una prueba con dial de dificultad es también un plan de entrenamiento, algo que el artículo señala como motivación.