Simon Willison (cofundador del framework Django). Mientras decoraba árboles de Navidad y veía películas con su familia, usó Codex CLI + GPT-5.2 para portar JustHTML de Emil Stenström (Python puro, mediante html5lib-tests) a una biblioteca JS pura sin dependencias. Ejecutó más de 9200 casos de prueba de html5lib-tests y produjo aproximadamente 9000 líneas de código y 43 confirmaciones. Durante todo el proceso, solo envió alrededor de 8 indicaciones. Por supuesto, no estoy aquí para alardear de Coding Agent ni de lo sorprendente que es GPT-5.2; es solo que descubrí que este caso se adapta perfectamente a la zona de confort de Coding Agent. ¿Cuál es la zona de confort para un agente de codificación? 1. Traducir de un idioma a otro Una de las mejores cosas de los modelos de lenguaje grandes es "copiar" o "traducir", ya sea lenguaje natural o lenguaje de programación, pueden hacerlo rápida y bien. Por lo tanto, traducir de Python a JS en este caso es relativamente fácil. 2. Tiene un conjunto completo de pruebas. Piensa en cómo escribimos código a diario. Al terminar, necesitamos probarlo. Si no funciona correctamente, debemos modificarlo. Si este proceso requiere intervención humana, como en las pruebas de interfaz de usuario (UI), será muy ineficiente. Pero si el agente puede probarse a sí mismo, puede recopilar información de las pruebas, ajustarlo y corregirlo continuamente hasta resolver el problema. El estándar HTML5 cuenta con un conjunto de pruebas llamado html5lib-tests. Este conjunto de datos de prueba es independiente del lenguaje (la entrada es HTML y la salida es una estructura de árbol de análisis correcta). Esto es como si una IA resolviera un problema de matemáticas. No entiendes la solución, pero tienes un libro de ejercicios con las respuestas estándar. No necesitas analizar cada línea de código que escribe la IA (el proceso); solo necesitas comprobar si el resultado que calcula es correcto (el resultado). 3. La arquitectura ya está diseñada; el agente solo necesita completar los espacios en blanco. Debido a la limitación de la longitud de la ventana de contexto, cada tarea del Agente no puede tener un contexto muy extenso. En proyectos más complejos, no se puede simplemente transferir todo el código base. Por lo tanto, generalmente necesitamos dividir las tareas del Agente en tareas más pequeñas, según el diseño de la arquitectura, para que puedan completarse dentro de la ventana de contexto. Por lo tanto, el diseño arquitectónico es muy importante tanto para proyectos del mundo real como para proyectos de codificación. Simon no necesitó diseñar este proyecto desde cero; simplemente hizo que el Agente consultara el diseño de la API de ese proyecto de Python. Esto significa que la arquitectura ya estaba disponible, y la IA solo tuvo que "traducirla" basándose en la arquitectura existente. 4. Operado por un experto En las novelas de artes marciales, la misma espada puede desatar un mayor poder en manos de un maestro, y Simon es sin duda un maestro entre maestros. Vea el procedimiento operativo de Simon: 1) Establecer especificaciones (Spec First): la primera indicación no es solicitar código, sino darle a la IA el código Python existente y pedirle que escriba una versión en JavaScript del documento de diseño (Spec). 2) Prueba de humo: deje que la IA ejecute una prueba de análisis de HTML de nivel "Hola mundo" muy simple para asegurarse de que el enlace funciona. 3. La prueba de bucle: Simon configuró GitHub Actions para que cada vez que se confirme el código, los más de 9000 casos de prueba se ejecuten automáticamente. - La IA escribe código -> ejecuta pruebas -> informa errores -> La IA lee registros de errores -> corrige el código -> ejecuta pruebas nuevamente. - Resultado: La IA, como un programador incansable, utilizó 1,4 millones de tokens y los envió 43 veces hasta que se encendieron todas las luces verdes. Simon llama a este proceso “Diseñar el bucle agente”. Es por eso que este proyecto ha sido todo un éxito para el Agente. --- Ahora que sabemos dónde se encuentran la zona de confort, o las fortalezas, del agente de codificación, podemos aprovechar al máximo sus fortalezas durante el desarrollo, por ejemplo: 1. No te apresures a implementarlo; primero, ve si hay un modelo que puedas seguir. 2. Permita que el agente valide los requisitos por sí mismo tanto como sea posible. Proporcione al agente las herramientas necesarias para la validación, como Chrome Dev Tool MCP, Lint, pruebas automatizadas, etc. 3. Primero diseñar, luego implementar.
Cargando el detalle del hilo
Obteniendo los tweets originales de X para ofrecer una lectura limpia.
Esto suele tardar solo unos segundos.
