El "vibe coding" es un enfoque para el desarrollo de aplicaciones que implica depender en gran medida de un modelo de lenguaje de gran tamaño (LLM) para generar código.
Después de leer este artículo podrás:
Copiar enlace del artículo
El vibe coding es un método de desarrollo de software que incorpora en gran medida el uso de modelos de lenguaje de gran tamaño (LLM) para generar código. El término "vibe coding", que se refiere a la codificación asistida por IA, fue acuñado por Andrej Karpathy, cofundador de OpenAI, en una publicación de febrero de 2025 en X:
Hay un nuevo tipo de codificación que llamo "codificación de ambientes", en la que cedes por completo a las vibraciones, adoptas exponenciales y te olvidas de que el código existe. Es posible porque los LLM (p. ej. Cursor Composer w Sonnet) están convirtiéndose en demasiado buenos... El código crece más allá de mi comprensión habitual, tendría que leerlo durante un tiempo. A veces, los LLM no pueden corregir un error, así que simplemente lo soluciono o pido cambios aleatorios hasta que desaparece... No está mal para proyectos de fin de semana desechables, pero sigue siendo bastante divertido.
Aunque Karpathy definió este término, muchos desarrolladores ya habían empezado a experimentar con un enfoque similar asistido por IA con el lanzamiento público de LLM como ChatGPT y Copilot.
El objetivo del vibe coding es acelerar las aplicaciones operativas y las nuevas funciones. Tradicionalmente, la codificación es una actividad muy precisa; en cambio, el vibe coding permite a los desarrolladores proporcionar instrucciones generales de alto nivel a un LLM, que luego produce las instrucciones precisas contenidas en el código de trabajo.
Al igual que en otros casos de uso de los LLM, el vibe coding implica proporcionar instrucciones a un modelo, el cual produce contenidos (en este caso, código) en respuesta. Los LLM son modelos generativos de IA: al haber sido formados con una gran cantidad de ejemplos, pueden reconocer, interpretar y generar lenguaje. Los LLM pueden hacer esto tanto con el lenguaje humano cotidiano como con los lenguajes de programación. Esta capacidad permite que un LLM genere código funcional, a menudo en cuestión de segundos.
El desarrollador de vibe coding tiene que proporcionar al LLM las instrucciones adecuadas para que este cree el tipo adecuado de función o aplicación. En general, estas instrucciones no tienen que ser especialmente precisas, aunque el LLM puede necesitar varios intentos para producir código que funcione de la forma que el desarrollador tiene en mente.
Las pruebas y la depuración se realizan después de que el LLM haya producido el código. Esto implica identificar errores y problemas de seguridad. A continuación, se puede pedir al LLM que resuelva esos errores o, como describió Karpathy, "solucionarlos o solicitar cambios aleatorios hasta que desaparezcan" (un enfoque que puede funcionar o no en función del error).
Hay disponibles varios LLM muy utilizados para que los desarrolladores puedan experimentar con el vibe coding. Copilot, Cursor, Codeium, Qodo, CodeWhisperer y Replit son herramientas populares para el desarrollo de software asistido por LLM.
Entre las ventajas del vibe coding se incluyen:
Algunas de las desventajas pueden incluir:
Vulnerabilidades: cualquier aplicación puede contener vulnerabilidades o riesgos de seguridad. Debido a que el vibe coding puede acelerar mucho la escritura y el envío de nuevas funciones, el peligro es que se filtren más problemas de seguridad y lleguen a la etapa de producción. Además, estos problemas de seguridad también pueden ser más difíciles de solucionar si los equipos de desarrollo no están familiarizados con el código problemático.
Pérdida de datos: cualquier uso de LLM en un contexto empresarial presenta el riesgo de que la entrada pueda contener propiedad intelectual que se compartirá en contextos externos. Para proteger los datos internos, los desarrolladores deben ser conscientes de cómo un LLM segmenta sus datos en el extremo final.
Más información sobre cómo funciona un LLM.