Sitemap

Vibe coding

6 min readApr 28, 2025

--

Press enter or click to view image in full size
Tortuga hippie usando el “Vibe coding” (Imagen generada por OpenAI)

Recientemente asistí a la ceremonia de graduación de la generación 2025 del programa de Ingeniería en Sistemas de Información de la Universidad de Sonora en la cual egresaron 25 muy estimadas alumnas y alumnos. Me dio mucho gusto ver que a pesar de la pandemia, terminaron el ciclo que iniciaron en 2019.

La gran mayoría de esta cohorte ya se encuentra laborando desde hace más de 6 meses en trabajos relacionados a su profesión. Algunas y algunos en desarrollo de software, otras en pruebas calidad, otros más en administración de operaciones, tanto en el sector privado como en el público.

Estando en el intermedio del evento, recibí una notificación: Sundar Pichai, el CEO de Google acababa de declarar que el 30% del código escrito en Google ha sido generado por Asistentes Digitales, noticia que me provocó un sentimiento encontrado: Por un lado, estaba observando tal vez la última generación de ingenieros de sistemas de información que aprendió a programar de la forma tradicional y por otro, estaba viendo lo que parece ser inminente, un movimiento tectónico imparable: El surgimiento del movimiento “Vibe coding” o “programación basada en sensaciones”.

Hace aproximadamente 3 años, Github introdujo la herramienta de programación asistida “Copilot”, una extensión para el ambiente de desarrollo integrado Visual Code de Microsoft. Copilot es un Asistente Digital de Inteligencia Artificial Generativa. Al igual que ChatGPT, Gemini, Claude y Llama, genera texto al recibir una petición del usuario, pero tiene una ventaja: Los lenguajes de programación tienen una sintaxis limitada, mientras que la acción de producir respuestas para preguntas como ¿cuál es el significado de la vida? es más difícil de responder en forma coherente por un Modelo de Lenguaje, es por eso que Copilot es ideal para generar código de programación.

Al principio, solo se podía utilizar este aditamento por invitación, así que me registré y al tiempo obtuve mi cuenta de prueba y quedé gratamente sorprendido, pues Copilot me ayudaba a escribir código de Python autocompletando las funciones que yo escribía, parecía que me leía la mente, pues esta extensión anticipaba las intenciones de mi escritura de código. Un poco más adelante descubrí que si describía lo que deseaba que hiciera mi función u objeto, Copilot generaría una versión muy similar a lo que yo escribiría.

Otro de los descubrimientos que hice fue que -al igual que los memes del genio que malinterpreta el deseo- si uno no describe con claridad la idea que quiere ejecutar, el código resultante es a veces cómico, a veces tonto, otras veces totalmente inseguro y otras tantas veces, código sin sentido.

Press enter or click to view image in full size

Es por ello que con ayuda de profesores y alumnos de la Unison, en 2024 llevamos a cabo un experimento, intentando encontrar si el uso de Github Copilot beneficiaba a sus usuarios (Assessing the use of Github Copilot on students of Engineering of Information Systems), y demostramos que alumnas y alumnos que utilizaron escriben código en menos tiempo y además, el código que escriben está mejor estructurado e incluyen más tareas solicitadas en sus soluciones.

Alumnas y alumnos que se graduaron la semana pasada pueden muy bien convivir con este tipo de programación. Sólo se requiere cambiar un poco la forma de enseñar la forma de escribir código, pero todo el proceso de producción sigue siendo el mismo con el que hemos venido trabajando el último medio siglo.

Get Federico Cirett Galán’s stories in your inbox

Join Medium for free to get updates from this writer.

La versión de Github Copilot que hoy -abril de 2025- está disponible es muchísimo más poderosa que la que evaluamos. Además de poder escribir código en diferentes lenguajes de programación, Copilot puede usar diferentes modelos base: el ChatGPT 4o de OpenAI, Claude 3.7 de Anthropic, Gemini 2 Flash, entre otros, todo esto puede considerarse como una rápida evolución, pero donde realmente brilla es al utilizar Agentes de programación.

Copilot, Cursor y Claude Code son un nuevo concepto de programación, donde varios programas Agentes interactúan para escribir un sistema de cómputo, no importa la plataforma (hace poco vi que alguien escribió código para una PDP-11 la cual dejó de producirse hace 35 años). Los Agentes interactúan con el sistema operativo y pueden leer y escribir código, someterlo a pruebas, si fallan, volver a modificar el módulo fallido y probarlo una vez más. Cuando se pasen todos los tests, puede guardar el código en un repositorio de Github o algún otro y enviarlo a los servidores en producción, todo esto, con sólo escribir un breve texto de lo que se quiere que haga el sistema final.

A primera vista, esta parece una idea genial: Se obtiene un sistema en minutos o tal vez en horas a una fracción del costo que llevaría hacerlo con todo un equipo de desarrollo, incluyendo diseño de interfaz, programadores, pruebas de calidad y personal de operaciones. Es la promesa de convertir a una persona sin instrucción en un desarrollador de software en un fin de semana.

No quiero ser malinterpretado, pues soy una persona que favorece la inclusión de nuevas tecnologías para mejorar nuestras vidas. Lo que quiero es advertir que el uso de “Vibe coding” debe usarse sólo para desarrollo de prototipos o proyectos personales o de pasatiempos y hay que evitar a toda costa el escribir sistemas completos con código generado automáticamente.

Me explico: Los programas que están funcionando en la actualidad en gobiernos, bancos, tiendas departamentales y otros más, han sido creados evolutivamente y como las civilizaciones antiguas, se han ido construyendo sobre las edificaciones o subsistemas anteriores.

¿Se han preguntado por qué no pueden hacer la reservación de avión u hotel en línea utilizando palabras con acentos o con la letra “ñ”? El sistema SABRE o Semi-automated Business Research Environment entró en línea en 1960, tres años antes que existiera el código ASCII. El núcleo de este sistema está escrito en ensamblador y Lenguaje C (¡antes de COBOL!) y las computadoras y sistema operativo para las que fue escrito, ya no están en operación, por lo que SABRE se ejecuta en máquinas virtuales en equipos de cómputo modernos. Y la razón de esto es porque el conocimiento adquirido en cada iteración de este sistema ha ido aumentado año con año. Los desarrolladores resolvieron los “bugs” o fallas más críticos hace décadas, y quienes ahora mantienen el código de SABRE, dominan muy bien su infraestructura y ante una falla pueden rápidamente resolver el problema.

En este momento, en el nacimiento del movimiento “Vibe coding”, un sistema escrito bajo esta técnica, es completamente desconocido para todos. Encontrar “bugs” que aparecen sólo en condiciones especiales será una tarea titánica, y resolver problemas de código del cuál se desconoce el funcionamiento de sus módulos llevará tiempo -que cuando un sistema se encuentra en producción- se debe mantener al mínimo el que se encuentre fuera de línea por fallas en su implementación.

Academia

Es necesario que en las universidades en México se modifiquen los programas de estudio relacionados a sistemas de información: Ingeniería de Sistemas de Información, Licenciaturas en Ciencias Computacionales, Ingeniería de Software, incluso, las Ingenierías en Mecatrónica, para incluir el uso de Asistentes Digitales para la escritura de código en cualquier tipo de lenguaje de programación. Creo que en la Academia se debe de discutir y llegar a acuerdos sobre el uso de estas nuevas tecnologías: Debemos integrar tecnologías de autocompletado como Github Copilot en nuestros programas y creo que por el momento, debemos mantenernos alejados del “Vibe coding”. En todo caso, este tipo de programación podría ser algo que se viera en posgrados como la Maestría en Ingeniería en Internet de las Cosas e Inteligencia Artificial o la Maestría en Ciencias de Datos, donde alumnas y alumnos ya cuentan con disciplina y experiencia escribiendo programas.

Concluyo así mi idea, transmitiendo el sentido de urgencia de que es necesario actuar lo más pronto posible, hacer los cambios en nuestros programas académicos que permitan utilizar los asistentes digitales como herramientas de autocompletado y no como asistentes de “Vibe coding”, pues en caso contrario, el desorden resultante tanto en mercado laboral de nuestros egresados, así como en los nuevos sistemas que entren a producción serán muy difíciles de atender en la siguiente década.

Federico M. Cirett Galán
Profesor-Investigador
Maestría en Ingeniería en Internet de las Cosas e Inteligencia Artificial
Departamento de Ingeniería Industrial
Universidad de Sonora
Bsky.app: fd-x.bsky.social
X.com: @fd_x
Email: federico.cirett at unison.mx

--

--