¿Qué es el vibe coding?

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.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Describir qué significa el vibe coding
  • Entender cómo los LLM pueden apoyar el desarrollo de aplicaciones
  • Enumerar las ventajas y desventajas del vibe coding

Copiar enlace del artículo

¿Qué es el vibe coding?

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.

Recurso
La encuesta muestra que la modernización de las aplicaciones triplica la probabilidad de retorno de la inversión de la IA.

¿Cómo funciona el vibe coding?

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).

¿Cuáles son las herramientas de vibe coding más populares?

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.

Lee nuestro artículo sobre cómo empezar con el vide coding para comenzar tu primer proyecto.

¿Cuáles son las ventajas y desventajas del vibe coding?

Entre las ventajas del vibe coding se incluyen:

  • Creación casi instantánea de prototipos: los equipos de desarrolladores pueden utilizar el vibe coding para lanzar rápidamente versiones beta de nuevos productos o ideas de funciones y probarlas.
  • Menos esfuerzo manual innecesario: los LLM pueden generar automáticamente código repetitivo y de bajo nivel en el vibe coding (copiar código repetitivo siempre ha sido habitual en el desarrollo).
  • Desarrollo y lanzamientos más rápidos: escribir una nueva aplicación o función puede llevar mucho tiempo, pero el vibe coding puede producir el código necesario en segundos o minutos —aunque es posible que se necesiten más indicaciones para que la aplicación o función determinada funcione correctamente.

Algunas de las desventajas pueden incluir:

  • Pérdida de comprensión de las bases de código: los equipos de desarrollo que lanzan funciones de vibe coding con una revisión mínima pueden no familiarizarse con sus bases de código. Esto puede dificultar la corrección de errores o vulnerabilidades.
  • Desafíos en materia de conformidad: a veces, el resultado del vibe coding es el envío de código que no es de confianza. Los desarrolladores pueden perder de vista cómo las aplicaciones procesan los datos personales, por ejemplo, lo que puede causar problemas de conformidad.

¿Existe alguna preocupación respecto a la seguridad asociada con la codificación de ambiente?

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 funcionan los LLM y cómo protegerlos.

Preguntas frecuentes

¿Cuál es el concepto central de "vibe coding"?

El vibe coding es un método de desarrollo de software en el que se utiliza en gran medida un modelo de lenguaje de gran tamaño (LLM) para crear código. El término fue acuñado por el confundador de OpenAI, Andrej Karpathy, en febrero de 2025.

¿Cómo facilitan los modelos de lenguaje de gran tamaño (LLM) el vibe coding?

Los LLM son modelos de IA generativa que han sido entrenados con vastas cantidades de datos, lo que les permite comprender y generar tanto lenguajes humanos como de programación. Esto les permite generar código funcional, a menudo en cuestión de segundos.

¿Cuáles son algunas de las ventajas clave de usar el vibe coding en el desarrollo de aplicaciones?

El vibe coding ofrece varios beneficios, entre los que se incluye: la creación rápida de prototipos de nuevos productos o funciones, la automatización de código repetitivo y de bajo nivel y tiempos de desarrollo y lanzamiento más rápidos en general.

¿Cuáles son las posibles desventajas o inconvenientes de adoptar un enfoque de vibe coding?

Una desventaja es que los desarrolladores podrían perder familiaridad con sus bases de código, lo que puede complicar la corrección de errores y vulnerabilidades. Además, vibe coding puede dar lugar a problemas de conformidad si no se supervisa cuidadosamente el procesamiento de datos personales dentro de las aplicaciones.

¿Qué riesgos de seguridad están asociados con el vibe coding?

El vibe coding puede agravar los problemas de seguridad, ya que la velocidad de desarrollo podría permitir que más vulnerabilidades lleguen a la fase de producción. Estos problemas pueden ser difíciles de resolver si el equipo de desarrollo no está familiarizado con el código generado automáticamente. También existe el riesgo de pérdida de datos, ya que la propiedad intelectual confidencial podría quedar expuesta si las entradas al LLM no se gestionan adecuadamente.

¿Quién acuñó por primera vez el término "vibe coding"?

El término "vibe coding" fue acuñado por Andrej Karpathy, cofundador de OpenAI, en una publicación en X en febrero de 2025.

¿Cómo encajan normalmente las pruebas y la depuración en el flujo de trabajo de vibe coding?

Después de que un LLM genera el código, un desarrollador es responsable de probar y depurar. El desarrollador identifica y soluciona errores y fallos de seguridad. Se puede solicitar al LLM que ayude a solucionar estos problemas, o el desarrollador puede encontrar soluciones alternativas o solicitar cambios aleatorios hasta que se resuelva el problema.

¿En qué se diferencia el vibe coding de las prácticas de codificación tradicionales?

La codificación tradicional requiere un trabajo muy preciso de los desarrolladores. Por el contrario, el vibe coding permite a los desarrolladores dar instrucciones generales y de alto nivel a un LLM. A continuación, el LLM traduce estos en el código preciso necesario para la aplicación o función.

¿Por qué es importante saber cómo gestiona los datos un LLM cuando se utiliza con fines comerciales?

En un contexto empresarial, el uso de un LLM conlleva el riesgo de que la propiedad intelectual incluida en la entrada pueda compartirse externamente. Los desarrolladores deben entender cómo el LLM procesa y segmenta los datos en su backend para proteger la información interna confidencial.