1.1 Introducción
Durante muchos años, crear una aplicación significó escribir manualmente instrucciones en un lenguaje de programación. Había que conocer su sintaxis, utilizar bibliotecas, organizar archivos y convertir cada necesidad en algoritmos precisos.
Las herramientas de inteligencia artificial generativa incorporaron otra forma de interacción: ahora podemos explicar en lenguaje natural qué queremos construir. La IA interpreta esa descripción y genera, modifica o explica el código necesario.
Esta manera de trabajar se conoce como Vibe Coding. La expresión no describe una tecnología o un lenguaje específico, sino una forma de desarrollar software mediante una conversación continua con una inteligencia artificial.
1.2 Una definición sencilla
El Vibe Coding es una metodología de desarrollo en la que una persona expresa objetivos, requisitos y cambios utilizando lenguaje natural, mientras una IA transforma esas instrucciones en código fuente.
La persona no desaparece del proceso. Su tarea cambia: además de escribir código, debe definir con claridad el problema, aportar contexto, revisar las propuestas, comprobar el comportamiento y decidir qué modificaciones se aceptan.
1.3 Del teclado a la conversación
En el desarrollo tradicional, la interacción principal ocurre entre el programador y el lenguaje de programación. En Vibe Coding aparece una capa intermedia: la conversación con la IA.
| Desarrollo tradicional | Vibe Coding |
|---|---|
| La persona escribe directamente cada instrucción. | La persona describe el resultado y la IA propone instrucciones. |
| La sintaxis ocupa una parte importante del trabajo. | La intención, el contexto y los criterios ganan protagonismo. |
| Los cambios se implementan editando el código. | Los cambios también pueden solicitarse mediante nuevas indicaciones. |
| El programador controla directamente cada detalle. | El control requiere revisar lo que la IA decidió e implementó. |
Ambas formas pueden combinarse. Es posible pedir a la IA una primera versión, modificar manualmente una parte y luego volver a solicitar ayuda para continuar.
1.4 ¿Cómo funciona en la práctica?
Un ciclo básico de Vibe Coding suele incluir los siguientes pasos:
- Definir el objetivo: decidir qué problema debe resolver la aplicación.
- Dar una instrucción: describir funciones, apariencia, tecnologías o restricciones.
- Recibir una propuesta: la IA genera archivos, código o una explicación.
- Revisar: observar qué creó y comprobar si corresponde con lo pedido.
- Probar: ejecutar la aplicación y recorrer sus funciones principales.
- Iterar: comunicar errores o mejoras y solicitar una nueva versión.
La primera respuesta rara vez debe considerarse definitiva. El valor de esta metodología aparece en la iteración: pedir, observar, corregir y volver a probar.
1.5 Un primer ejemplo
Imaginemos que queremos crear una lista de tareas. Una instrucción inicial podría ser:
Con esa solicitud, una herramienta de IA podría generar tres archivos: la estructura HTML, los estilos CSS y la lógica JavaScript. Después de abrir la página, podríamos descubrir que las tareas desaparecen al recargarla. La siguiente instrucción sería más específica:
Este intercambio muestra la esencia del Vibe Coding: no intentamos describir todos los detalles de una sola vez. Construimos, comprobamos el resultado y refinamos la aplicación mediante instrucciones sucesivas.
1.6 ¿Qué aporta la persona?
La calidad del resultado depende en gran medida de las decisiones humanas. Quien dirige el trabajo debe aportar:
- El problema que vale la pena resolver.
- Los usuarios y sus necesidades.
- Los requisitos y límites del proyecto.
- Ejemplos del comportamiento esperado.
- Criterio para aceptar, rechazar o modificar una propuesta.
- Pruebas que permitan comprobar que la aplicación funciona.
Una IA puede producir código con rapidez, pero no conoce automáticamente el contexto completo ni puede decidir por sí sola qué resultado es conveniente para cada proyecto.
1.7 ¿Qué aporta la inteligencia artificial?
Según la herramienta utilizada y los permisos que reciba, la IA puede:
- Proponer la estructura inicial de una aplicación.
- Generar funciones, componentes, consultas y pruebas.
- Modificar varios archivos para incorporar una característica.
- Explicar código existente con diferentes niveles de detalle.
- Detectar posibles causas de un error y sugerir correcciones.
- Ejecutar comandos o pruebas y analizar sus resultados.
Estas capacidades aceleran tareas, pero cada resultado continúa siendo una propuesta que debe verificarse.
1.8 Lo que el Vibe Coding no es
Para comprender el concepto también es útil descartar algunas ideas equivocadas:
- No es magia: una descripción ambigua suele producir una solución incompleta o diferente de la esperada.
- No garantiza calidad: el código puede funcionar en un caso simple y fallar con otros datos.
- No elimina la programación: genera programas que siguen teniendo lógica, dependencias, errores y necesidades de mantenimiento.
- No reemplaza la revisión: una respuesta convincente puede contener decisiones inseguras o incorrectas.
- No es únicamente copiar y pegar: implica dirigir un proceso, comprender el objetivo e iterar con criterio.
1.9 Distintos niveles de participación de la IA
El término puede abarcar formas de trabajo diferentes. En un extremo, la IA actúa como asistente y responde consultas puntuales. En el otro, un agente recibe una tarea más amplia, explora el proyecto, modifica archivos y ejecuta verificaciones.
| Modalidad | Participación de la IA | Control humano |
|---|---|---|
| Consulta | Explica o propone un fragmento. | La persona aplica manualmente la respuesta. |
| Asistencia | Edita código dentro de una herramienta de desarrollo. | La persona revisa y aprueba cada cambio. |
| Agente | Planifica y ejecuta varios pasos relacionados. | La persona define límites y valida el resultado final. |
Estas modalidades se estudiarán con más detalle a lo largo del curso.
1.10 Una habilidad nueva: saber dirigir
Trabajar con IA exige aprender a comunicar objetivos de forma verificable. Una buena instrucción no necesita ser extensa, pero debe evitar interpretaciones innecesarias.
Por ejemplo, “hacé una página linda” deja casi todas las decisiones abiertas. En cambio, “creá una página de presentación con encabezado, tres tarjetas de servicios y un formulario; utilizá la paleta azul indicada y adaptala a pantallas de 360 píxeles” proporciona elementos que pueden comprobarse.
1.11 Actividad de comprensión
Leé la siguiente solicitud:
Antes de generar código, respondé:
- ¿Cuál es el objetivo principal?
- ¿Qué cuatro operaciones debe incluir?
- ¿Qué caso especial debe controlar?
- ¿Qué restricción técnica se indicó?
- ¿Qué aspectos todavía faltaría definir, como diseño o almacenamiento?
Este ejercicio ayuda a separar los requisitos explícitos de las decisiones que la IA tendría que inferir.