- antirez define el proceso de escribir software con ayuda de IA como ‘Automatic Programming’, y anticipa que pronto se convertirá en el estándar para desarrollar software
- Incluso usando el mismo LLM, la intuición humana, el diseño y el ajuste continuo de la dirección cambian enormemente el resultado
- El vibe coding consiste en dejar el trabajo a la IA sin una gran comprensión, mientras que la programación automática parte de una visión clara y control por parte del desarrollador
- Incluso el código generado por IA se basa en datos de preentrenamiento y criterio acumulados por humanos, y la propiedad del resultado pertenece al desarrollador
- La programación se automatiza cada vez más, pero las ideas y la visión siguen siendo territorio humano
Definición del concepto de Automatic Programming
- Se denomina programación automática (Automatic Programming) al proceso de escribir software con apoyo de IA
- Este enfoque pronto se convertirá en el proceso estándar para crear software
Diferencia frente al vibe coding
- El vibe coding es una forma de generar software con IA sin participar realmente en el proceso
- Si describes lo que quieres en términos muy generales, el LLM genera la primera idea, diseño o código que le surge de manera natural según sus datos de entrenamiento y el muestreo específico de esa ejecución
- El vibe coder, a lo mucho, reporta qué parte no funciona o no coincide con lo esperado
- La programación automática busca alta calidad y sigue estrictamente la visión de software del productor
- Esa visión es multicapa: incluye desde indicar con precisión cómo realizar cierta tarea hasta instruir directamente a la IA sobre cómo escribir una función específica
- Qué se va a hacer también es un elemento clave
Importancia del factor humano
- Incluso con el mismo LLM, el resultado cambia mucho según la intuición, el diseño, el ajuste continuo de la dirección y las ideas sobre el software de la persona que conduce el proceso
- La expresión “Claude hizo vibe coding de este software” no es adecuada
- Si entiendes lo que está ocurriendo y estás produciendo software real en ese proceso, entonces es software producido por ti
Perspectiva sobre la propiedad del código
- Los datos de preentrenamiento no son lo único de lo que aprende un LLM (RL también tiene un peso importante), pero sí fueron producidos por humanos
- Por lo tanto, no se está apropiando de algo ajeno
- Podemos llamar “nuestro” al código generado por IA, y tenemos derecho a hacerlo
- El preentrenamiento es un regalo colectivo que permite a muchas personas hacer cosas que por sí solas jamás podrían lograr
- Es parecido a estar conectados, de cierta forma, a una mente colectiva
- El código generado mediante programación automática es tu código, tu resultado, tu producto, y puedes sentir orgullo por ello
Caso Redis
- En Redis no hay tanta novedad técnica especial
- En su etapa inicial, no era más que una combinación de estructuras de datos básicas y código de red que cualquier programador de sistemas competente podría haber escrito
- Aun así, se convirtió en un software muy útil por las ideas y la visión que contenía
Conclusión
- La programación ya se automatizó, pero la visión todavía no
1 comentarios
Comentarios en Hacker News
Llevo más de 30 años de carrera en la industria y últimamente me he metido de lleno en el desarrollo guiado por especificaciones (spec-driven development)
Uso Claude Code y GPT-5.2 (CoPilot) para generar requisitos, y voy puliendo la especificación repitiendo varias veces la auto-revisión (self-review)
Cuando Claude Code toma la especificación terminada y escribe el plan de implementación y el código, las funciones principales quedan listas en 20 minutos
Me recuerda a la metodología waterfall de mi época en la industria de defensa, pero siento que gracias a la IA ahora es posible un enfoque de “cascada aumentada (augmented cascade)” mucho más rápido y refinado
Agile fue la respuesta de empresas donde esas condiciones eran imposibles, para poder sacar productos rápido y sobrevivir
Me pregunto si hay ejemplos públicos de especificaciones que valga la pena revisar. Así como la generación anterior admiraba el código de Quake de John Carmack, siento que la próxima generación va a venerar grandes especificaciones
Los humanos no pueden prever toda la complejidad y todos los casos excepcionales. Cuando realmente construyes algo, siempre aparece una parte de “esto no lo pensé”
Si los requisitos ya están claros, realmente no hace falta
La diferencia es que, en vez de equipos subordinados, se usan LLM
Material relacionado: Design by Contract (Goodreads), PDF original
No estoy de acuerdo con la expresión de que “el pre-training es un regalo colectivo de la humanidad”
Si fue robado, no es un regalo
Incluso si el código fue generado por un LLM, si yo me hago responsable y lo mantengo, entonces lo considero mi código
El problema aparece cuando el autor evade la responsabilidad
Después de usar Claude Code y Opus 4.5, llegué a una conclusión parecida
Yo lo llamo “zen coding”. Trato el codebase como un jardín zen, diseño la especificación con detalle y reviso línea por línea
La IA debe funcionar no como diseñadora, sino como herramienta
Quien tiene una especificación clara puede obtener código de mucha mayor calidad de la IA
Vibe coding es experimentación intuitiva; Zen coding es la práctica de un artesano
Cuando escucho expresiones como “Claude me lo dio”, me da la impresión de que todavía será código con pinta de borrador
No hace falta culpar a la herramienta ni disculparse; basta con mejorar el resultado
Me incomoda la expresión “el pre-training es un regalo de la humanidad”
Muchos desarrolladores de open source no querían que su código se usara para entrenar LLM
Parte del código generado por LLM que he visto copiaba casi tal cual código de libros o blogs que yo ya conocía
Como mínimo, creo que lo correcto sería indicar la fuente
Si se entrenó un LLM con código GPL, se podría interpretar que sus resultados también deberían publicarse bajo GPL
Por ejemplo, Kafka pidió que quemaran sus manuscritos, pero hoy son clásicos de la literatura
En los años 50 y 60, “automatic programming” en realidad significaba compiladores
Los 4GL de los años 80 eran lenguajes de alto nivel especializados por dominio, y los LLM de hoy están en la etapa de generar borradores a partir de especificaciones en lenguaje natural
Al final, los humanos todavía tienen que elevar la calidad mediante correcciones iterativas y cambios de diseño
Tal vez estamos viendo a la última generación de desarrolladores artesanales (artisanal coders)
Artesanos como Antirez manejan conceptos que van más allá de los límites humanos y crean software simple y bello, como Redis
La IA produce código a una velocidad imposible para un humano, pero eso no es el pincel ni el lienzo
La nueva generación será artesana de una forma completamente distinta
Yo también tengo miedo, pero estoy aceptando estas nuevas herramientas y experimentando una nueva era del oficio
Solo se suma la capacidad de manejar bien la IA; el conocimiento previo no se vuelve innecesario
Me impresionó que en el texto de Antirez se distinguiera claramente la diferencia entre “vibe coding” y “automatic programming”
Es un cambio parecido al paso de la época en que los arquitectos dibujaban planos a mano hacia BIM y CAD
En la era de la IA, los desarrolladores no programan menos; cambia el foco del valor
“vibe coding vs automatic coding” no es una dicotomía, sino un espectro
Incluso dentro de un mismo proyecto se pueden mezclar varios niveles de enfoque
Lo importante es usar la herramienta de forma crítica y seguir mejorándola continuamente
Hay quienes a esto le llaman “spec strumming”