Primer contacto con el Vibe Coding
8 de junio de 2025
Mis primeras impresiones acerca de esta filosofía del desarrollo
Un problema de hace años
Desde hace años, muchos, siempre he tenido mi carpeta de Descargas de Windows hecha una porquería. Lo reconozco, soy un desastre manejando los ficheros y carpetas basura que existen en mi ordenador. Sinceramente, echo de menos los tiempos en los que el ordenador se formateaba una o dos veces al año, para mantener a ralla al rendimiento.
Unos dirán que soy un dejado, otros, que simplemente soy un Diogenes digital. Ambas cosas pueden ser ciertas, aunque más que Diogenes prefiero el término Data Hoarder, suena más tecnológico y cool.
La cuestión es que decidí poner cartas en el asunto. A raíz de ver una publicación de Instagram donde un sujeto había construido un script de Python que servía para ordenar los ficheros dentro de carpetas de manera instantánea, me entraron ganas de hacer lo mismo. Solo había un problema: no se Python. Mejor dicho, lo que se de Python es muy básico, y nunca he interactuado con el sistema de ficheros de ningún sistema operativo desde el código.
Así que, matando varios pájaros de un tiro, me lancé a probar eso que está ahora mismo en boca de todos, el vibe coding.
El vibe coding, a mi manera
El vibe coding se basa en la teoría de que, incluso alguien que no sabe programar, puede, usando inteligencia artificial, crear aplicaciones desde cero en muy poco tiempo. Nótese mi escepticismo.
Decidido a probar esto, abrí mi VS Code y cree un fichero de Python nuevo. Acto seguido, desplegué el chat de Copilot y me puse manos a la obra. Mejor dicho, hice que Copilot lo hiciera. En este caso, tengo seleccionado el modelo Claude 3.5 Sonnet.
Como, ni me fío, ni me parece práctico a nivel aprendizaje, dejar que el modelo haga todo el trabajo, decidí pensar una “check-list” de preguntas que me ayudarían a estructurar el trabajo y fomentar la eficiencia del modelo a la hora de trabajar, no solo en este pequeño ejemplo sino en el futuro cercano:
- Decidir la función del código y que se espera de el.
- Dividir el código en partes más pequeñas, diferenciadas y, si es posible, independientes.
- En vez de alimentar al modelo con la idea general de lo que se pretende hacer, ir pidiendo que genere exactamente lo que queremos para cada parte definida en el paso anterior. Copilot irá recordando lo que ha hecho con anterioridad.
- Realizar pruebas después de cada paso, para ver que lo que se va añadiendo, efectivamente, hace lo que queremos.
Aplicación práctica
Ya he definido al principio para que quería el script y lo que esperaba que hiciera, así que el siguiente reto era definir el código en partes más pequeñas. Para seguir la filosofía del vibe coding, la descripción de las partes fue bastante generalista.
Pensando en que es lo que el script debía saber:
- En que carpeta está.
- Que hay en esa carpeta (ficheros y subcarpetas).
- Que tipos de ficheros queremos en que tipos de carpetas.
Y que es lo que debía hacer:
- Mover los ficheros a las carpetas del tipo que indica su extensión.
- Si las carpetas no existen, crearlas.
- Controlar ficheros o carpetas duplicadas.
- Mostrar un informe final de la operación.
Podemos ejemplificar la sucesión de prompts de esta manera:
🧑💻 Prompt: ¿Cómo puedo obtener la ruta de la carpeta actual en Python?
🤖 Respuesta: Para obtener la ruta actual, podemos usar el módulo
os.path
. La función más común es…
🧑💻 Prompt: Necesito listar todos los archivos y subcarpetas de un directorio, incluyendo sus extensiones
🤖 Respuesta: Hay varias formas de hacerlo. La más completa sería usar
os.walk()
, que nos permite…
🧑💻 Prompt: ¿Cómo puedo crear un diccionario que asocie extensiones de archivo con tipos de carpetas?
🤖 Respuesta: Podemos crear un diccionario en Python donde las claves sean las extensiones y los valores…
🧑💻 Prompt: ¿Cuál es la mejor manera de mover archivos entre carpetas en Python?
🤖 Respuesta: Para mover archivos de forma segura, podemos usar
shutil.move()
. Esta función…
🧑💻 Prompt: Necesito verificar si un archivo ya existe antes de moverlo
🤖 Respuesta: Para manejar duplicados, primero debemos usar
os.path.exists()
para comprobar…
🧑💻 Prompt: ¿Cómo puedo generar un informe de las operaciones realizadas?
🤖 Respuesta: Podemos crear un diccionario o una lista que vaya registrando cada operación…
Desde luego, es una manera mucho más elaborada que el pedir al modelo que genere un script en Python que ordene los ficheros dentro de un directorio por carpetas. Muy probablemente, el resultado seria el mismo, pero lo que ha ganado el usuario de conocimiento es un valor añadido que hay que tener en cuenta a la hora de trabajar de esta manera.
Marie Kondo estaría orgullosa
He probado el script y ha funcionado tal y como se esperaba, lo he subido a mi GitHub. He conseguido organizar toda mi carpeta de descargas, lo que me ha permitido poder hacer un examen y limpieza más fácil de toda la basura digital de la que me tenía que deshacer.
Se podría decir que, en mi caso, el concepto de Vibe Coding ha sido un éxito. Veo esta filosofía como una manera rápida y práctica de prototipar o crear cosas pequeñas, como este script. ¿El futuro de la programación es el Vibe Coding? Yo por ahora no lo veo.