Reflexiones del traductor

  • La esencia del “Vibe Coding” es la acumulación frenética de deuda técnica a la velocidad de la IA.
  • La programación con IA es una espada de doble filo: perfecta para prototipos, pero un desastre si se aplica a proyectos centrales que requieren mantenimiento a largo plazo.
  • Permitir que personas sin conocimientos técnicos desarrollen productos clave con IA es como darle a un niño una tarjeta de crédito ilimitada: un momento de gloria que se transforma en deudas interminables.
  • La clave para dominar la IA no es renunciar al pensamiento crítico, sino mejorar la capacidad de “construcción teórica”. Las personas deben ser las que controlan las riendas, y no dejarse llevar por la IA.

“Vibe Coding” es la creación de deuda técnica

Steve Krouse

Aunque el público en general se siente confundido al respecto, el término “Vibe Coding”, acuñado por Andrej Karpathy, se refiere a un enfoque de programación asistida por IA en el cual, incluso “no sientes la existencia del código”.

Código legado / Deuda técnica

Para ese código que nadie comprende, ya tenemos un término: código legado / deuda técnica.

El código legado es ampliamente criticado, y no es sinónimo de nada. Pero, ¿no está el código ahí? ¿No se puede entender directamente al mirarlo?

Totalmente equivocado. Un código que nadie comprende es deuda técnica en su forma más pura. Para desentrañar una sección de código desconocido y depurarla, se requiere una cantidad considerable de tiempo, y ni hablar de agregar nuevas funciones sin introducir nuevos errores: eso es aún más complicado.

La programación es, por su naturaleza, construcción teórica, no simplemente apilar códigos. Todos entendemos este principio. Por eso nos quejamos de aquellos departamentos que intentan cuantificar el trabajo de los programadores en función del número de líneas de código.

Cuando usas “Vibe Coding”, la velocidad a la que acumulas deuda técnica es igual a la velocidad a la que la IA genera código. Por eso, “Vibe Coding” es en realidad la opción perfecta para el desarrollo de prototipos y proyectos temporales: ¡solo el código que requiere mantenimiento a largo plazo se convierte en código legado!

Prototipos y código desechable

Yo mismo he usado con entusiasmo “Vibe Coding” para desarrollar algunas aplicaciones pequeñas, tales como:

No tenía la intención de seguir iterando en estas aplicaciones, así que no me importaba no entender su código. Además, como se trata de aplicaciones pequeñas, incluso si algún día necesito revisitar el código, la deuda técnica será limitada. Gracias a este enfoque, desarrollé aplicaciones mucho más rápido que con métodos tradicionales, la experiencia fue simplemente satisfactoria.

“Vibe Coding” es cuestión de grado

“Vibe Coding” es una cuestión de grado, y la clave radica en cuán profundo comprendes el código. Cuanto más comprendas, menos dependerás de la intuición.

shapes at 25-07-30 10.32.53.png

En el caso de pedir requisitos, un ingeniero que solicita el desarrollo de “una aplicación web con base de datos persistente” tiene un nivel de intuición mucho más bajo que una persona no técnica que simplemente dice “hacer una App” (sin saber diferenciar entre aplicación web y nativa, ni qué es la persistencia de datos).

Darle una tarjeta de crédito a un niño

La peor situación es permitir que un no programador desarrolle un proyecto grande que necesita mantenimiento a largo plazo usando “Vibe Coding”. Es como darle una tarjeta de crédito a un niño sin explicarle qué significa “deuda”.

Es fácil imaginar lo emocionante que puede ser en las etapas iniciales: “¡Dios mío, solo necesito deslizar esta pequeña tarjeta para conseguir lo que quiero!”

Esto es similar a la tendencia popular actual: “¡La IA puede hacerlo todo! ¡Todos son programadores! ¡Mira esta aplicación generada por la IA!”

Sin embargo, un mes después, la factura de la tarjeta de crédito llega puntualmente: “¿Realmente necesitaba comprar esas cosas? ¿Cómo voy a enfrentar este desastre ahora?”

Los desarrolladores de “Vibe Coding” enfrentan el mismo dilema: “¡Mi código se rompió! ¿Para qué servían todos estos archivos y carpetas? ¿Cómo demonios lo arreglo? ¿Puedo recuperar los 400 dólares que gasté en que la IA generara el código?”

Si realmente no entiendes el código, la única salida es seguir pidiendo ayuda a la IA. Eso es como “usar una tarjeta para pagar otra”, utilizando el límite de una nueva tarjeta para liquidar la deuda de otra.

2025: Cómo programar en pareja con IA de manera seria

Si planeas construir un proyecto serio que requiera mantenimiento a largo plazo en 2025, el consejo de Andrej es acertado:

Debes tratar a la IA como a un nuevo pasante y mantenerlo sujeto con una cuerda muy corta. Este pasante es un talento excepcional, tiene un conocimiento vasto sobre software, es como una enciclopedia viviente. Pero, al mismo tiempo, es excesivamente entusiasta, siempre hablando tonterías, y no tiene idea de lo que es un buen código. Así que debes enfatizar: frena, mantén la defensa, sé cauteloso, e incluso un poco paranoico. Aprovecha todas las oportunidades para aprender en la práctica, en lugar de delegar todo el trabajo a él.

— Andrej Karpathy, twitter

Cómo abrazamos la IA para construir

En Val Town, hemos integrado la IA en nuestros productos de muchas maneras. Nuestro asistente de IA, Townie, actúa como un agente inteligente que puede leer y escribir código, ejecutar programas, revisar registros y seguir iterando hasta que la tarea esté completa.

Townie es una herramienta excepcional para “programar por intuición”. La recomiendo encarecidamente a aquellos que entienden los pros y los contras de este enfoque. A veces, lo utilizo para una rápida “programación de ambiente”; mientras que en proyectos que realmente valoro, opto por restringir su uso a modificaciones “quirúrgicas” precisas. Ambas modalidades son interesantes y eficientes.

El campo de la programación con IA está en constante evolución, y el futuro es incierto. Pero estoy convencido de que la “construcción teórica” sigue siendo el núcleo del desarrollo de software complejo. Esto significa que la habilidad técnica humana sigue siendo indispensable. También soy optimista respecto a que la IA seguirá mejorando la forma en que programamos de maneras inesperadas.

Sin embargo, si tienes amigos sin antecedentes técnicos que están derrochando recursos persiguiendo su sueño de “una App de mil millones” a través de “programación por intuición”, asegúrate de compartirles este artículo. La “programación por intuición” no los llevará al éxito. Eventualmente, tendrán que aprender a ver el código con sus propios ojos 😱, y se darán cuenta de una cruel realidad: en lugar de intentar reparar un sistema legado que nadie entiende, es mejor empezar de nuevo y construir una nueva base de código clara y estructurada.


Este artículo es una versión condensada de una charla que di el mes pasado sobre el papel del cerebro humano en la programación. Agradezco a mi prometida Emily por escucharme durante meses mientras hablaba sobre estos temas, y por grabar el video de la charla. Gracias a Malte y Rippling por organizar este evento.

Agradezco a Geoffrey Litt, Jimmy Koppel, Max McDonnell, Tom MacWright, Charmaine Lee, Brent Jackson, y Dan Shipper por su retroalimentación sobre este artículo. También agradezco a Simon Willison y Andrej Karpathy por emitir voces racionales en medio del entusiasmo y el pesimismo en torno a la IA.

Enlace al artículo original: https://blog.val.town/vibe-code