#LM8: Vibe Coding & Exponential Programming
Programar con IA generativa dejándose llevar por las “vibras” y la intuición
El término Vibe coding, acuñado por Andrej Karpathy (exdirector de IA en Tesla y cofundador de OpenAI) en febrero de 2025, refleja la afirmación de que “el idioma más nuevo de programación es el inglés”, en alusión a que ahora es posible indicarle a las computadoras qué hacer simplemente con lenguaje natural.
Vibe coding es una técnica más de lo que desde Diverger llamamos Exponential Programming y que se refiere a como la IA acelera los procesos de desarrollo e ingeniería del software.
No toda la programación asistida con IA es vibe coding, sino que más bien es una técnica de cómo hacerlo. Como explicó Karpathy, el vibe coding consiste en dejarse llevar completamente por la intuición, abrazar el crecimiento exponencial y olvidar que existe el código como tal. Dicho de otro modo, la función del programador deja de ser simplemente escribir código y se convierte en guiar, revisar y perfeccionar el trabajo generado por un modelo de lenguaje (LLM) entrenado en programación.
En esencia, vibe coding “cambia el foco de escribir código a describir la intención”, haciendo la programación más rápida, intuitiva y accesible incluso para personas con poca experiencia técnica.
Los defensores del vibe coding sostienen que permite que usuarios no expertos logren resultados que antes requerían programadores profesionales, democratizando la creación de software. Por ejemplo, un periodista del NY Times sin experiencia en código logró desarrollar aplicaciones simples para automatizar tareas personales, conversando con un “copiloto” de IA que escribía el código por él.
¿Qué procesos mejora el vibe coding en ingeniería de software?
El "vibe coding" no es solo una moda; es un cambio profundo en varias fases clave de la ingenieria del software:
1. Requisitos y prototipado ultra-rápido
Olvídate de largas sesiones escribiendo documentación tediosa. Con el "vibe coding", puedes pasar de una idea a un prototipo funcional en minutos u horas, no días o semanas. Esto permite validar ideas rápido y pivotar con agilidad.
El desarrollador puede expresar una primera versión de los requisitos, obtener una aplicación básica y luego ajustar los requerimientos sobre la marcha tras probar el resultado. En cierto modo, la IA actúa como un analista que entiende las especificaciones en lenguaje coloquial y devuelve una solución inmediata para validarlas. Esto mejora la comunicación entre la visión del producto y el código: si el resultado inicial no coincide con lo esperado, el desarrollador (o incluso un no-desarrollador) puede aclarar o refinar la descripción y la IA reescribirá el código según la nueva interpretación.
No obstante, para requisitos complejos o ambiguos sigue siendo necesaria la intervención humana para desambiguar objetivos; la IA facilita obtener rápidamente una versión funcional, pero no exime de comprender a fondo el problema a resolver.
2. Diseño y arquitectura simplificados
En cuanto al diseño de software, el vibe coding cambia la forma en que se toman decisiones estratégicas. Al encargar a la IA gran parte del trabajo de implementación detallado, los desarrolladores pueden centrarse más en aspectos clave como la lógica del negocio, la experiencia del usuario y la estructura general del sistema.
Un ingeniero que utiliza vibe coding puede definir rápidamente la estructura deseada mediante instrucciones sobre módulos, patrones y comunicación entre componentes, lo que permite evaluar distintas opciones arquitectónicas con mayor facilidad.
Otra ventaja clave es que la conversación con la IA genera automáticamente documentación del diseño de arquitectura. Así mismo, herramientas avanzadas de exponential programming mantienen el contexto, ejecutando instrucciones generales, como por ejemplo: "añadir un servicio de autenticación con JWT", ajustando automáticamente múltiples partes del código. Así, se pueden implementar cambios en la arquitectura del sistema importantes con una sola instrucción, simplificando lo que normalmente requeriría coordinación adicional entre varios desarrolladores.
Sin embargo, es importante tener en cuenta que el estado del arte de la IA actualmente no sustituye el criterio experto. Los LLMs pueden sugerir soluciones subóptimas o pasar por alto requisitos importantes como seguridad o escalabilidad si estos no se especifican claramente
Por lo tanto, los ingenieros y desarrolladores deben revisar cuidadosamente las soluciones generadas para asegurarse de que cumplen con los objetivos del proyecto. En entornos profesionales, la IA debe usarse como una herramienta colaborativa, siempre con la validación y supervisión de un experto humano.
3. Codificación acelerada
En la etapa de codificación, el vibe coding muestra sus beneficios más claros. Al delegar a asistentes de IA la escritura del código, el desarrollo puede acelerarse considerablemente. Tareas que antes llevaban meses ahora pueden realizarse en días, ya que la IA genera rápidamente fragmentos de código que a un humano le tomarían horas.
Por ejemplo, herramientas como GitHub Copilot, Cursor, Gemini Code Assist, etc. permiten completar ciertas tareas hasta un 55% más rápido al autocompletar funciones enteras basándose en comentarios.
Otro beneficio destacado es que la IA se encarga del trabajo repetitivo y rutinario de la codificación, permitiendo a los desarrolladores enfocarse en decisiones lógicas y estratégicas. En lugar de preocuparse por detalles técnicos o recordar sintaxis exactas, basta con describir lo que se desea en lenguaje sencillo, y la IA genera el código necesario. Esto reduce errores humanos y la carga cognitiva, además de seguir automáticamente buenas prácticas y patrones comunes.
Además, el vibe coding democratiza la programación al permitir que personas con poca experiencia puedan desarrollar aplicaciones funcionales guiadas por IA, reduciendo significativamente las barreras técnicas. De hecho, Amjad Masad, CEO de Replit, predice que podríamos pasar de 100 millones de desarrolladores profesionales en el mundo a 10.000 millones de personas programando asistidas por IA, gracias a esta reducción de la barrera técnica.
No obstante, esta facilidad y velocidad tiene sus riesgos. La rápida generación de código puede llevar a aceptar soluciones sin comprenderlas completamente, algo especialmente delicado en sistemas críticos. Por ello, es clave que los desarrolladores revisen cuidadosamente el código generado por la IA. En entornos profesionales, la recomendación es usar exponential programming para generar rápidamente un 70-80% del código, y luego dedicar tiempo a inspeccionar y refactorizar ese 20-30% restante para alcanzar calidad de producción.
4. Intelligence QA
En la etapa de pruebas y depuración, el vibe coding introduce una manera más ágil de lograr software correcto. En lugar del método tradicional, donde el desarrollador escribe pruebas unitarias y corrige errores manualmente, ahora puede colaborar directamente con asistentes de IA.
Otra ventaja es que la IA puede explicar o resumir el problema al desarrollador. Herramientas como Replit permiten preguntar: “¿Por qué ocurre este error?” y obtener una explicación en lenguaje natural junto con el fragmento de código involucrado. Esto acelera el aprendizaje y entendimiento del sistema, sobre todo para miembros junior del equipo. Incluso es posible solicitar a la IA que proponga mejoras o refactorizaciones para evitar ciertas clases de errores, apoyándose en las mejores prácticas conocidas en su entrenamiento.
Sin embargo, no todos los aspectos de las pruebas se resuelven mágicamente. Un desafío del vibe coding es confiar en que el código generado sea correcto sin haberlo escrito uno mismo. Podría haber problemas ocultos o escenarios no contemplados que requieran la intuición y experiencia de un desarrollador. Se suele decir que “vibe-codear está muy bien hasta que te toca vibe-depurar”, aludiendo a que tarde o temprano hay que entender qué hace el programa para corregir problemas complejos.
Los equipos que adopten vibe coding necesitan reforzar sus procesos de revisión de código y pruebas. Se recomienda integrar verificaciones adicionales de calidad: revisiones manuales de pares, pruebas de seguridad, pruebas de performance, etc., aplicadas al código autogenerado antes de confiar en él en producción
También se aconseja entrenar a los desarrolladores en nuevas habilidades, como interpretar las sugerencias de la IA y saber formular buenos prompts de depuración para guiar eficientemente al modelo hacia las soluciones.
5. Mantenimiento y evolución del software
La mantenibilidad del código a largo plazo es uno de los puntos críticos cuando se habla de vibe coding. En principio, las mismas ventajas que aceleran la codificación inicial podrían aplicarse a las tareas de mantenimiento.
Por ejemplo, un desarrollador puede indicar: “Refactoriza este módulo para que use un esquema MVC” o “Actualiza la versión del framework y ajusta el código obsoleto”, y el asistente de IA implementará esos cambios a lo largo del código base. Esto sugiere que, bien aplicado, el vibe coding podría agilizar también el mantenimiento evolutivo, automatizando gran parte del trabajo rutinario de refactorización y adaptación a nuevos requerimientos.
No obstante, en sistemas de cierta complejidad surgen retos importantes. Una crítica común es que los LLM “no son buenos manteniendo o extendiendo proyectos” grandes a largo plazo. Estos modelos tienden a “perderse en los requisitos y generar mucho contenido sin sentido” cuando se les pide iterar sobre un codebase extenso.
Esto se debe a que la coherencia global de un proyecto de software (su arquitectura mantenible, consistencia de estilos, variantes de negocio, etc.) es difícil de preservar sin una comprensión profunda, algo que la IA aún no garantiza a día de hoy.
Este “vacío de conocimiento” complica tareas de depuración tardía o adición de nuevas características que no estaban contempladas en la fase inicial. En otras palabras, al separarse el creador del detalle de la creación, mantener la obra puede requerir volver a estudiar lo que la IA hizo.
Para mitigar esto, se enfatiza la importancia de implementar procesos robustos de revisión de código y control de calidad continuo: incluso si la IA escribe la mayor parte, es necesario que desarrolladores humanos validen regularmente la estructura y legibilidad del código fuente.
Algunas empresas están definiendo reglas para no aceptar automáticamente código generado sin aprobación (no “Accept All” sin revisión), asegurando que alguien del equipo entienda cada cambio incorporado.
¿Seguirán siendo necesarios los Devs?
Una clara tendencia derivada de la adopción del vibe coding (y las técnicas de Exponential Programming) es la evolución del rol del desarrollador. Muchas voces apuntan a que no eliminará empleos en masa, sino que cambiará las habilidades demandadas. El llamado prompt engineering se perfila como una competencia clave; desarrolladores que entiendan cómo guiar modelos obtendrán mejores soluciones.
A la vez, la capacidad de revisar código generado se vuelve esencial: como dijo Diana Hu (socia en YC), “para hacer buen vibe coding aún necesitas saber distinguir lo bueno de lo malo… leer el código y encontrar bugs”, lo cual requiere tener “gusto” y suficiente entrenamiento tradicional.
En consecuencia, los juniors podrían apoyarse en la IA para tareas sencillas pero seguirán necesitando supervisión y mentoring para entender lo que hacen, y los seniors verán acrecentado su papel como garantes de calidad y arquitectos finales.
Paralelamente, se vislumbra la figura del “desarrollador no experto” –profesionales de otras áreas que, con un poco de conocimiento y una buena herramienta de exponential programming crean sus propios aplicativos internos. Esto último puede impulsar la innovación dentro de empresas: personal de marketing, finanzas u operaciones resolviendo problemas locales mediante pequeñas soluciones de software hechas por ellos mismos con ayuda de IA, sin saturar al departamento de IT.
En suma, vibe coding no viene a reemplazar por completo la ingeniería de software tradicional, sino a complementarla y agilizarla. Es comparable a la introducción de los entornos visuales en su momento: un cambio de paradigma que aumenta la productividad, aunque requiera ajustar prácticas y roles.
Conclusiones
La tendencia del vibe coding (y en general exponential programming) ha visto una rápida adopción en diversos frentes. En el ámbito de startups y tecnología punta, Y Combinator reportó que una cuarta parte de las startups tenían sus bases de código casi en un 95% generadas por IA, este dato subraya que incluso fundadores altamente técnicos están optando por dejar que la IA escriba la mayor parte de sus productos, algo impensable apenas un año atrás.
El razonamiento es simple: quien adopta estas herramientas puede desarrollar funcionalidades mucho más rápido que la competencia.
Garry Tan (CEO de YC) afirmó que “esto no es una moda… es la forma predominante ya de programar. Y si no lo estás haciendo, podrías quedarte rezagado” .
En la comunidad de desarrolladores, la discusión se ha vuelto omnipresente. A principios de 2025, el término vibe coding inundó foros como Reddit, Hacker News y Twitter (X), con desarrolladores compartiendo experimentos, tutoriales y también frustraciones. Han surgido comparativas de todo tipo –“Vibe Coder vs 10x Engineer: ¿quién gana?”–
Pese al entusiasmo, la adopción plena de estas técnicas también enfrenta resistencias y retos. Un concepto que se debate es el “problema del 70%” – la IA entrega rápidamente la mayor parte de una aplicación, pero ese 30% final (integración compleja, casos límite, pulir detalles) consume desproporcionadamente el tiempo y requiere alta pericia humana.
Esto puede generar falsas expectativas si no se comprende bien: proyectos podrían parecer casi listos en días pero luego estancarse en fase de corrección.
Asimismo, existen preocupaciones de seguridad: si la IA aprendió código con vulnerabilidades, podría replicarlas inadvertidamente
A pesar de lo anterior, la trayectoria indica que el vibe coding seguirá ganando terreno. Las herramientas continúan mejorando y su integración en entornos de desarrollo será cada vez más estándar. Es probable que en un futuro cercano hablemos simplemente de “programar” y se asuma que gran parte lo hace la IA, así como hoy programar implica usar librerías y frameworks. La barrera entre programadores y usuarios avanzados podría difuminarse, haciendo realidad en cierto grado aquella visión de “todos serán programadores” – o más bien, todos podrán crear soluciones con software.
Pero en ese escenario, la experiencia humana conservará un rol central: definir bien los problemas, verificar los resultados y aportar la creatividad y juicio que las máquinas aún no tienen
¿Mi consejo? Dale una oportunidad. Quizá descubras que programar con la IA al lado y dejándote asesorar por las "buenas vibras" no solo es posible, sino también increíblemente productivo.
Referencias:
Not all AI-assisted programming is vibe coding (but vibe coding rocks)
Will the future of software development run on vibes? - Ars Technica
Silicon Valley's Next Act: Bringing 'Vibe Coding' to the World - Business Insider
A quarter of startups in YC's current cohort have codebases that are almost entirely AI-generated
Sweden's Lovable, an app-building AI platform, rakes in $15M after spectacular growth
Vibe Coding for Business: Benefits, Risks & Real-World Applications - DesignRush