El fin del vibe coding: cómo estructurar un proceso de desarrollo asistido por LLM sin matar el proyecto
Un desarrollador en Habr describió un año de trabajo con LLM en producción y admitió con franqueza: la generación irreflexiva de código mediante chatbots…
Procesado por IA desde Habr AI; editado por Hamidun News
El término "vibe coding" ha entrado en el léxico de los desarrolladores como una descripción irónica de un proceso en el que el programador simplemente alimenta tareas a un modelo de lenguaje y acepta todo lo que genera con una revisión mínima. Suena como un sueño — hasta que el proyecto comienza a desmoronarse desde el interior. Un desarrollador que ha utilizado LLM en el trabajo diario durante más de un año ha descrito este camino doloroso en detalle y, lo más importante, ha propuesto un sistema concreto que permite el uso de asistentes de IA sin sacrificar la calidad del código.
El problema descrito por el autor es familiar para casi todos los que han intentado seriamente integrar ChatGPT, Claude u otros modelos en su flujo de trabajo. Al principio, todo se ve excelente: el modelo genera rápidamente funciones, escribe pruebas, propone soluciones arquitectónicas. El código se ve limpio, las variables se nombran correctamente, los comentarios están en su lugar.
Pero a medida que el proyecto crece, se acumula una deuda técnica invisible. El modelo no recuerda que escribió una utilidad similar tres chats atrás. No sabe que el proyecto ha adoptado un patrón específico de manejo de errores.
Inserta marcadores de posición donde se necesita lógica real, y lo hace con tanta confianza que los marcadores pueden confundirse fácilmente con código funcional. Como resultado, la depuración se vuelve más cara, la refactorización se vuelve más dolorosa y la confianza en el código generado disminuye.
Esta situación refleja una tendencia más amplia en la industria. Según varias encuestas, más del 70 por ciento de los desarrolladores utilizan regularmente herramientas de IA al escribir código. Sin embargo, las metodologías para trabajar con ellas aún se están formando de manera desorganizada. La mayoría de los enfoques se reducen a dos extremos: confianza total en el modelo o rechazo total del mismo después del primer error grave. Un enfoque intermedio y basado en la ingeniería es raro, y es precisamente esto lo que el autor del artículo intenta formular.
La metodología propuesta se construye sobre tres principios. El primero es la separación de contexto entre chats. En lugar de un diálogo infinito en el que el modelo gradualmente pierde el hilo, el autor sugiere asignar sesiones separadas para tareas específicas: decisiones arquitectónicas, escritura de lógica empresarial, pruebas, refactorización. Cada chat recibe su propio prompt de sistema con contexto del proyecto — una descripción del stack, convenciones clave y el estado actual del módulo. Esto no elimina completamente el problema de la ventana de contexto limitada, pero reduce significativamente la probabilidad de que el modelo "olvide" detalles críticos.
El segundo principio es artefactos obligatorios en cada paso. El autor requiere del modelo no solo código, sino una salida estructurada: una descripción de las decisiones tomadas, una lista de dependencias, una lista de suposiciones e indicación explícita de lugares donde se utilizaron marcadores de posición o simplificaciones. Esto transforma la interacción con un LLM de una caja negra en un proceso transparente, donde cada decisión arquitectónica está documentada y puede ser cuestionada durante la revisión de código.
El tercer elemento es listas de verificación de validación. Después de cada generación, el autor ejecuta el resultado a través de un conjunto de verificaciones: ¿hay duplicación con código existente, el estilo coincide con las convenciones aceptadas, todos los marcadores de posición están marcados como TODO, se manejan correctamente los casos extremos. Algunas de estas verificaciones se automatizan a través de linters y análisis estático, otras requieren inspección manual. La idea clave es que la verificación no es un paso opcional, sino una parte obligatoria del pipeline, sin la cual el código no llega a la rama principal.
Para la industria, este enfoque es notable porque esencialmente formaliza el papel del desarrollador al trabajar con asistentes de IA. Un programador deja de ser un operador que presiona un botón y acepta el resultado, y se convierte en un arquitecto del proceso — alguien que establece el marco, controla la calidad y toma las decisiones finales. Esto resuena con posiciones cada vez más expresadas en grandes empresas: la IA no reemplaza a un ingeniero, lo amplifica, pero solo con disciplina.
Debe reconocerse que el enfoque descrito aumenta la sobrecarga. La separación de contexto, la escrita de prompts, la verificación — todo esto requiere tiempo que podría haber dedicado a la escritura directa de código. Sin embargo, el autor argumenta que estas inversiones se amortizan muchas veces en el largo plazo. Un proyecto que no acumula deuda técnica oculta eventualmente se desarrolla más rápido que uno en el que cada sprint comienza con la limpieza de las consecuencias de la generación irreflexiva.
La era del naive vibe coding parece estar llegando a su fin. Los desarrolladores que primero dominaron los modelos de lenguaje como una herramienta ahora están pasando a la siguiente etapa — construir procesos maduros a su alrededor. Y aquellos que logren convertir la generación caótica en un pipeline de ingeniería gestionado obtendrán una verdadera ventaja competitiva — no solo velocidad, sino velocidad sin pérdida de calidad.
¿Quieres dejar de leer sobre IA y empezar a usarla?
AI News es un feed curado de noticias de IA. Hamidun Academy te enseña a usar la IA en tu trabajo.