Vibe Coding

Desde hace unos meses está corriendo como la pólvora un nuevo término entre el mundo del del desarrollo, el llamado “Vibe Coding”. Este término fue acuñado por Andrej Karpathy el pasado febrero (https://x.com/karpathy/status/1886192184808149383).
Básicamente Andrej define el Vibe Coding así: “programar donde te dejas llevar por las vibraciones, adoptas las exponenciales y te olvidas de que el código siquiera existe. Es posible porque los LLM son cada vez mejores. Además, solo hablo con Composer con SuperWhisper, así que casi ni toco el teclado. Pido cosas absurdas como «reducir el relleno de la barra lateral a la mitad» porque me da pereza encontrarlo. Siempre acepto todo; ya no leo las diferencias. Cuando recibo mensajes de error, los copio y pego sin comentarios; normalmente eso lo soluciona. El código crece más allá de mi comprensión habitual; tendría que leerlo a fondo durante un buen rato. A veces, los LLM no pueden corregir un error, así que simplemente lo rodeo o pido cambios aleatorios hasta que desaparece. No está mal para proyectos improvisados de fin de semana, pero sigue siendo bastante divertido”
A partir de la idea de Andrej ya han surgido varias personas que han llevado a cabo sus experimentos con resultados bastante decentes, gente sin experiencia previa en el mundo de los videojuegos que han podido llevar a cabo proyectos pequeñitos con ciertas funcionalidades complejas, por ejemplo @levelsio (https://x.com/levelsio/status/1893350391158292550) logró crear un juego de aviones con un prompt tan simple como “make a 3d flying game in browser with skyscrapers” al cual le fue añadiendo funcionalidades sólo pidiéndole a los “sabelotodos” de los LLM.
¿Estamos ante un cambio en la forma en la que crearemos los programas del futuro? Bueno, al inicio los programas se “escribían” directamente en tarjetas perforadas, luego ensamblador, más tarde surgieron los lenguajes de alto nivel como una primera abstracción realmente potente. Quizás los LLM sean otra capa más de abstracción para facilitarnos tareas repetitivas o de rápido prototipado, al menos por ahora. Creo que es pronto para dejar de pensar en el código como lo conocemos los programadores de hoy. Pero sí que es cierto que quién domine, entienda y use LLM’s será mucho más productivo, a pesar del riesgo de que también nos podemos convertir en “VibeDebugers” sin quererlo.
Este artículo se publicó primero en LinkedIn