¿Qué es la codificación intuitiva?

La "codificación intuitiva" es un enfoque para el desarrollo de aplicaciones que implica depender en gran medida de un modelo lingüístico de gran tamaño (LLM) para generar código.

Metas de aprendizaje

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

  • Describir qué significa la codificación intuitiva
  • Comprender cómo los LLM pueden apoyar el desarrollo de aplicaciones
  • Enumerar las ventajas y desventajas de la codificación intuitiva

Copiar el enlace del artículo

¿Qué es la codificación intuitiva?

La codificación intuitiva es un método de desarrollo de software que incorpora en gran medida el uso de modelos lingüísticos de gran tamaño (LLM) para generar código. El término "codificación intuitiva", que significa codificación asistida por IA, fue acuñado por Andrej Karpathy, cofundador de OpenAI, en una publicación de X de febrero de 2025:

Hay un nuevo tipo de codificación que llamo "codificación intuitiva", donde te dejas llevar completamente por la intuición, adoptas las exponenciales y te olvidas de la existencia del código. Esto es posible porque los LLM (p. ej. Cursor Composer w Sonnet) están resultando muy buenos... El código evoluciona más allá de mi comprensión habitual, tendría que leerlo detenidamente por un tiempo. A veces, los LLM no pueden corregir un error, así que lo soluciono o pido cambios aleatorios hasta que desaparece... No está mal para proyectos de fin de semana, pero sigue siendo bastante entretenido.

Si bien Karpathy fue quien definió este término, muchos desarrolladores ya habían comenzado a experimentar con un enfoque similar asistido por IA con el lanzamiento público de los LLM como ChatGPT y Copilot.

El objetivo de la codificación intuitiva es acelerar las aplicaciones que funcionan y las nuevas funciones. Tradicionalmente, la codificación es una actividad muy precisa. En cambio, la codificación intuitiva permite a los desarrolladores brindar instrucciones generales de alto nivel a un LLM, que luego genera las instrucciones precisas contenidas en el código de trabajo.

Recurso
La encuesta muestra que la modernización de las aplicaciones hace que el ROI de la IA sea 3 veces más probable

¿Cómo funciona la codificación intuitiva?

Al igual que en otros casos de uso de los LLM, la codificación intuitiva implica brindar instrucciones a un modelo, que genera contenido (en este caso, código) en respuesta a esas instrucciones. Los LLM son modelos de IA generativa: al haber sido entrenados 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, por lo general, en cuestión de segundos.

El desarrollador de código intuitivo tiene que brindar al LLM las instrucciones adecuadas para que este genere el tipo de función o aplicación correctos. En general, estas instrucciones no tienen que ser especialmente precisas, aunque el LLM puede necesitar varios intentos para generar un código que funcione de la manera que el desarrollador tiene en mente.

Las pruebas y la depuración se hacen después de que el LLM haya generado el código. Esto implica identificar errores y problemas de seguridad. Luego se puede pedir al LLM que resuelva esos errores o, como describió Karpathy, "solucionarlo o solicitar cambios aleatorios hasta que desaparezca" (un enfoque que puede funcionar o no, según el error).

¿Cuáles son algunas herramientas populares de codificación intuitiva?

Hay varios LLM que se utilizan mucho para que los desarrolladores puedan experimentar con la codificación intuitiva. 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 la codificación intuitiva para comenzar tu primer proyecto.

¿Cuáles son las ventajas y desventajas de la codificación intuititva?

Ventajas de la codificación intuitiva:

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

Estas son algunas de las desventajas:

  • Pérdida de comprensión de las bases de código: los equipos de desarrollo que ofrecen funciones codificadas por intuición con una revisión mínima pueden no estar familiarizadas con sus bases de código. Esto puede dificultar la corrección de errores o vulnerabilidades.
  • Desafíos de cumplimiento normativo: a veces, el resultado de la codificación intuitiva es el envío de código no confiable. Los desarrolladores pueden perder de vista cómo las aplicaciones procesan los datos personales, por ejemplo, lo que puede causar problemas de cumplimiento normativo.

¿Existe alguna preocupación de seguridad relacionada con la codificación intuitiva?

Vulnerabilidades: cualquier aplicación puede tener vulnerabilidades o riesgos de seguridad. Como la codificación intuitiva puede acelerar mucho más 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 del problema.

Pérdida de datos: cualquier uso de LLM en un contexto empresarial introduce el riesgo de que la entrada pueda contener propiedad intelectual que se compartirá en contextos externos. Para proteger los datos internos, los desarrolladores deben conocer cómo un LLM segmenta sus datos en el backend.

Más información sobre cómo funciona un LLM y cómo protegerlos.

Preguntas frecuentes

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

Vibe coding (programación intuitiva) es un método de desarrollo de software en el que se utiliza un modelo lingüístico de gran tamaño (LLM) en gran medida para crear código. El término fue acuñado por el cofundador de OpenAI, Andrej Karpathy, en febrero de 2025.

¿Cómo facilitan los modelos lingüísticos de gran tamaño (LLM) el vibe coding?

Los modelos de lenguaje de gran tamaño (LLM) son modelos de IA generativa (GenAI) que han sido entrenados con grandes cantidades de datos, lo que les permite comprender y generar tanto lenguajes humanos como de programación. Esto les permite generar código funcional generalmente en cuestión de segundos.

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

Vibe coding ofrece varios beneficios, incluyendo: la creación rápida de prototipos de nuevos productos o características; 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 de vibe coding 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 generar inconvenientes de cumplimiento normativo si no se supervisa cuidadosamente el procesamiento de datos personales dentro de las aplicaciones.

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

Vibe coding puede incrementar las cuestiones de seguridad, ya que la rapidez del desarrollo podría permitir que más vulnerabilidades lleguen a la producción. Estos inconvenientes 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 sensible podría quedar expuesta si las entradas al LLM no se gestionan de manera adecuada.

¿Quién introdujo por primera vez el término "vibe coding"?

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

¿Cómo se integran las pruebas y la depuración en el flujo de trabajo del 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 fallas de seguridad. Se puede solicitar al LLM que ayude a resolver estos problemas, o el desarrollador podría 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 programación tradicionales?

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

¿Por qué es importante estar actualizado de cómo un LLM gestiona los datos al utilizarlo con fines comerciales?

En un contexto empresarial, el uso de un LLM introduce el riesgo de que la propiedad intelectual incluida en el trabajo de investigación 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 sensible.