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.
Después de leer este artículo podrás:
Copiar el enlace del artículo
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.
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).
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.
Ventajas de la codificación intuitiva:
Estas son algunas de las desventajas:
Vulnerabilidades: cualquier aplicación puede contener 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 problemático.
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.