Vibe Coding
El vibe coding. Cuánto tiempo he rehusado tratar este tema, pero heme aquí, moviendo las falanges al son de la nada para expresar mis opiniones y cuestionarme mis fundamentos.
Si eres un profano en la materia, te estarás preguntando qué es eso del vibe coding. La siguiente definición se acerca bastante:
El vibe coding, o «programación por sensaciones», es un estilo de programación informal donde te guías por la intuición y la sensación de cómo «debería» funcionar el código, en lugar de seguir estrictamente reglas formales, metodologías o la planificación previa. —Gemini
Básicamente, le cuentas a la IA qué es lo que quieres conseguir, el resultado final, y ella se encarga de implementarlo. O eso se espera. Es curioso que en su respuesta, Gemini haya añadido la siguiente frase, como si fuera el última clavo de un ataud:
Es una forma de prototipado rápido o de exploración, pero no se considera una práctica de desarrollo de software profesional o sostenible a largo plazo.
Si he rehusado hablar del vibe coding hasta ahora ha sido porque no tenía ninguna duda sobre esa última parte. Hasta ahora.
El cambio
Hace alrededor de un año (recordemos que solo cuento con escasas semanas durante el verano) empecé a migrar este blog de Jekyll a Astro. Una odisea para alguien que apenas ha visto HTML o CSS. El concepto de Astro, y las inherentes ganas de seguir aprendiendo saliendo de mi zona de confort, hicieron que me aventurara en ese proyecto. Obviamente, con la ayuda de las principales plataformas de inteligencia artificial.
No estoy diciendo que hace un año no existieran sistemas agénticos, pero sí que la relación coste‑beneficio aún no me resultaba rentable, al menos para mí. Como he dicho antes: hasta ahora.
Empecé con GitHub Copilot en VS Code. Luego migré a Cursor. Incluso probé Gemini CLI. Conforme pasaban los días, empezaba a conocer esa sensación de «¡Anda, ya está hecho!». Iba viendo cómo poco a poco se iba construyendo aquello que tenía en mente. Y sí, me abandoné mentalmente para olvidarme del código y centrarme en la funcionalidad.
Los resultados
Los resultados son… los que ves. Este post ha sido publicado con el nuevo formato de mi página web. La tecnología que hay detrás de este blog (si lo estás leyendo a día de hoy; vete tú a saber qué tecnología habrá el año que viene) es Astro con Tailwind CSS. He podido implementar una serie de funciones como:
- Listar y filtrar posts ordenados cronológicamente.
- Paginación.
- Imágenes en diálogos modales.
- Componentes embebidos, como YouTube, Twitter, Spotify, Gist, etc.
- UX/UI.
- …
Cualquier persona con un entrenamiento básico de ingeniería habría logrado todas estas cosas. No se está cuestionando eso. Se está exponiendo la comodidad. La reducción de tiempo. El avance. Estoy gratamente sorprendido y me he sentido excesivamente cómodo con esta nueva forma de programar. Los resultados me han satisfecho a grado sumo, y ya estoy pensando en nuevos proyectos para poder usarlo.
Algunos peligros
Pero no todo el monte es orégano. Hay una serie de peligros o problemas que he ido descubriendo por este camino.
El primero es que no es infalible. Hay que asumirlo: no es un ingeniero que trabaje para ti. De hecho, la mayoría de las veces no consigue lo que quieres, bien por falta de conocimiento o bien por falta de explicación por la parte humana. Si tengo que añadir tanto contexto escrito y ser tan descriptivo, quizás me conviene más simplemente escribir el código. Pero es que, a veces, ni así. He tenido que probar con muchísimos modelos: Gemini 2.5 Pro, Claude Sonnet 4, Grok 4, ChatGPT 5… Algunos conseguían algunas cosas; otros, otras. Muchas de las funcionalidades han tenido que implementarse en reiterados intentos hasta por fin conseguir el objetivo.
El segundo es el precio. Bien sea porque usas la capa gratuita, porque tengas un período promocional por ser estudiante o porque pagues la suscripción base, la realidad es que vas a tener la sensación de que «se queda corto». Trabajar en un proyecto real exige realizar tal cantidad de consultas que, casi con total certeza, alcanzarás los límites muy rápidamente. No veo una clara justificación para usar este sistema en modo «desbloqueado» por el precio que se ofrece.
El tercer problema es inherente al concepto de vibe coding, y es que pierdes todo contacto con el código. Sí, es cierto, puedes revisar los cambios introducidos. Puedes leerlo si así lo deseas. Pero a lo que me refiero es que te sientes tan cómodo que preferirás relacionarte lo mínimo posible con el código. Y entonces aparece el problema: pierdes cualquier esquema mental de cómo está organizado el proyecto, de los algoritmos, de qué hace cada parte. ¿Qué haces cuando aparece un problema? Tienes dos opciones:
- O lo solucionas con vibe coding.
- O intentas solucionarlo tú, como ingeniero.
El primer punto no siempre es posible, por las limitaciones que hemos comentado antes. El segundo punto es literalmente imposible. ¿Quién se va a dedicar a leer toda la base de código para entender y comprender un proyecto entero, escrito además por un tercero, para solucionar un problema de lógica? Tu proyecto se ha convertido en una caja negra y tus ganas de entrar ahí se reducen cada vez más por cada prompt escrito. Está claro que todas las flechas nos empujan a seguir usando vibe coding, y dudo de que esa jaula sea el lugar donde queremos estar siempre.
Un futuro distópico
Hasta he sacado este tema del apartado anterior, el de «algunos peligros». Imagínate lo siguiente: el vibe coding se está volviendo cada vez más inteligente. Pequeñas y no tan pequeñas empresas empiezan a cambiar sus métodos de desarrollo para incluirlo activamente pagando una pequeña suscripción. Las nuevas generaciones implementan inmediatamente sus ideas gracias a esta poderosa herramienta. Incluso la IA avanza tanto que sus habilidades de programación están por encima del mejor experto humano. Las universidades modifican sus programas para eliminar o reducir la enseñanza a la programación. Insisto: todas las empresas usan vibe coding, cada vez se itera más rápido, todo el mundo construye sus ideas… Y de repente…
Suben las cuotas. Empresas como X, Anthropic o Google deciden que las cuotas deben incrementarse. Que si quieres seguir usando este tipo de programación, tienes que pasar por caja. ¿En qué situación nos deja esto? Un futuro donde las nuevas generaciones han perdido cualquier contacto con la programación, donde la burbuja de la IA se desinfla, no por aptitudes, sino por despiadados movimientos financieros, y entonces ocurre: un grandísimo crack a nivel mundial, una crisis global como nunca antes hubo.
Conclusiones
Peligros aparte, lo que está claro es que esta tecnología está democratizando el acceso al desarrollo de software. ¿Eso es bueno o malo? Bueno, cada cual tendrá su opinión. Lo cierto es que personas con bajo o nulo conocimiento técnico pueden crear sus proyectos de software, pero esto también plantea preguntas sobre la calidad del código producido y la responsabilidad en proyectos críticos.
Era reacio a usar esta forma de programar y terminó gustándome. Sin embargo, intuyo que esto es una moda, una etapa o un efecto «wow» al que terminaré acostumbrándome y luego, a otra cosa, mariposa. No creo que el vibe coding sirva para todos los proyectos ni en todas las etapas. Entiendo sus beneficios; habrá que aprovecharlos, no hay duda, pero hay que seguir siendo disciplinados para que esta cortina de humo no nos oculte el verdadero transfondo.
Por mi parte, seguiré expectante por ver cómo evolucionan estos sistemas agénticos, incluso ilusionado, porque hay una cosa que está clara: el desarrollo de software ha cambiado. Para siempre.