2.1 Introducción
La idea de pedirle a una computadora que ayude a programar es anterior a la inteligencia artificial generativa. Los editores incorporaron progresivamente resaltado de sintaxis, detección de errores, documentación integrada, refactorización y autocompletado.
Durante mucho tiempo, estas herramientas completaban símbolos o palabras a partir de reglas conocidas. El cambio decisivo llegó cuando los modelos de lenguaje comenzaron a producir fragmentos enteros de código a partir del contexto y, más tarde, a responder instrucciones escritas como una conversación.
2.2 Primera etapa: editores y autocompletado tradicional
Los entornos de desarrollo integrados, conocidos como IDE, reunieron herramientas que antes estaban separadas. Un programador podía escribir, ejecutar, depurar y organizar un proyecto desde una misma aplicación.
El autocompletado tradicional analizaba el lenguaje, las bibliotecas y los nombres disponibles en el proyecto. Si una persona comenzaba a escribir el nombre de una función, el editor ofrecía opciones compatibles. Era una ayuda importante, aunque la intención completa seguía estando en la mente del programador.
- La persona diseñaba el algoritmo.
- El editor conocía símbolos, tipos y reglas sintácticas.
- Las sugerencias eran breves y relativamente previsibles.
- La herramienta no mantenía una conversación sobre el objetivo.
2.3 Segunda etapa: modelos que aprenden patrones de código
Los modelos de lenguaje se entrenan para predecir continuaciones a partir de grandes cantidades de ejemplos. Cuando esos ejemplos incluyen código fuente, documentación y explicaciones técnicas, el modelo aprende patrones frecuentes de distintos lenguajes de programación.
Esto permitió generar más que una palabra: funciones, consultas, pruebas, configuraciones y explicaciones. La herramienta ya no dependía únicamente de reglas escritas de antemano; podía producir una propuesta nueva según el contexto recibido.
Sin embargo, predecir una continuación probable no equivale a comprobar que sea correcta. Desde esta etapa aparecen dos características que continúan vigentes: una gran capacidad para crear rápidamente y la necesidad de verificar cada resultado.
2.4 2021: asistentes dentro del editor
El 29 de junio de 2021, GitHub presentó la vista previa técnica de GitHub Copilot. La herramienta utilizaba el contexto del archivo para sugerir líneas completas o funciones mientras la persona programaba.
Este hito popularizó la idea de un “copiloto” integrado al editor. El usuario continuaba escribiendo código, pero podía aceptar, modificar o rechazar propuestas generadas por IA.
| Autocompletado tradicional | Asistente generativo |
|---|---|
| Sugiere nombres o construcciones conocidas. | Puede proponer bloques completos según el contexto. |
| Se apoya principalmente en reglas y símbolos del proyecto. | También utiliza patrones aprendidos durante su entrenamiento. |
| Completa una expresión iniciada por la persona. | Puede generar una implementación desde un comentario. |
2.5 2022: la programación se vuelve conversacional
El 30 de noviembre de 2022, OpenAI presentó ChatGPT como una interfaz de diálogo capaz de responder preguntas sucesivas y conservar el contexto de una conversación.
Para la programación, esto significó que una persona podía pegar un error, pedir una explicación, solicitar una corrección y continuar refinando la respuesta sin formular todo desde el principio. La asistencia dejó de aparecer únicamente como una sugerencia dentro del editor.
El chat facilitó el acceso a la generación de código porque permitió expresarse en lenguaje cotidiano. A la vez, introdujo una limitación práctica: era frecuente copiar manualmente el código desde la conversación hacia los archivos del proyecto.
2.6 De responder preguntas a modificar proyectos
La etapa siguiente integró el chat con el entorno de desarrollo. Las herramientas comenzaron a leer varios archivos, localizar referencias y aplicar cambios directamente sobre el proyecto.
Esta evolución amplió el tamaño de las tareas que podían solicitarse:
- Agregar una característica que requiere modificar varios archivos.
- Explicar la estructura de un proyecto desconocido.
- Renombrar un concepto en distintas partes de una aplicación.
- Crear pruebas y corregir los errores encontrados al ejecutarlas.
- Trabajar desde chat, editor, terminal o navegador.
El contexto dejó de ser solamente el texto escrito en una conversación y pasó a incluir archivos, comandos, resultados de pruebas y documentación del proyecto.
2.7 2025: aparece la expresión “Vibe Coding”
El investigador Andrej Karpathy utilizó públicamente la expresión Vibe Coding el 2 de febrero de 2025 en una publicación en X.
Karpathy describía de manera informal una experiencia extrema: hablarle a una herramienta, aceptar sus cambios sin estudiar cada diferencia y devolverle los mensajes de error para que intentara solucionarlos. También situaba esta práctica en proyectos experimentales de fin de semana, no como una recomendación general para cualquier software.
La expresión resultó memorable porque resumía una sensación nueva: una persona podía concentrarse en lo que veía y quería cambiar, mientras la IA se ocupaba de gran parte de la implementación.
2.8 Del significado original al uso cotidiano
Después de su aparición, el término se difundió rápidamente y comenzó a emplearse con significados diferentes.
| Uso | Qué describe |
|---|---|
| Sentido original y estricto | Crear de forma experimental, guiándose por el resultado visible y prestando poca atención al código generado. |
| Uso amplio y cotidiano | Desarrollar mediante instrucciones naturales, aunque se revisen los cambios y se mantengan buenas prácticas. |
| Uso comercial | Herramientas que prometen convertir descripciones en sitios, prototipos o aplicaciones completas. |
Por eso es importante aclarar qué queremos decir cuando usamos la expresión. En este curso adoptamos un sentido amplio, pero responsable: dirigir a una IA para producir software sin renunciar a comprender el objetivo, revisar los cambios y probar el resultado.
2.9 La llegada de los agentes de programación
Un asistente responde o propone cambios. Un agente, además, puede organizar varios pasos y utilizar herramientas para completar una tarea: buscar archivos, editarlos, ejecutar comandos, observar errores y volver a intentarlo.
En febrero de 2025, GitHub anunció un modo agente para Copilot capaz de iterar sobre su propio código y los resultados obtenidos. Este tipo de funcionamiento profundizó la transición desde la sugerencia puntual hacia la delegación de tareas.
2.10 Cronología resumida
| Etapa | Cambio principal | Interacción dominante |
|---|---|---|
| Autocompletado clásico | El editor reconoce símbolos y construcciones. | Escribir y elegir una sugerencia breve. |
| 2021: copilotos generativos | La IA propone líneas y funciones completas. | Escribir código y aceptar o rechazar propuestas. |
| 2022: chat conversacional | Las solicitudes y correcciones se expresan en lenguaje natural. | Preguntar, copiar, probar y repreguntar. |
| 2023–2024: integración con proyectos | La IA comprende más archivos y aplica cambios coordinados. | Conversar dentro del entorno de desarrollo. |
| 2025: Vibe Coding y agentes | Se populariza el desarrollo dirigido por intención y la ejecución autónoma de pasos. | Definir objetivos, supervisar y validar. |
Las fechas representan hitos visibles, no fronteras exactas. Las distintas formas de trabajo se superponen y continúan utilizándose en la actualidad.
2.11 ¿Por qué el concepto se difundió tan rápido?
- Resultados visibles: una descripción breve puede producir una interfaz funcional en pocos minutos.
- Barrera de entrada menor: el lenguaje natural permite comenzar sin dominar toda la sintaxis.
- Iteración rápida: es sencillo pedir cambios y comparar versiones.
- Integración: las herramientas trabajan cada vez más cerca de archivos, terminales y navegadores.
- Modelos más capaces: pueden mantener más contexto y resolver tareas con varios pasos.
- Difusión social: demostraciones y proyectos pequeños hacen que el proceso parezca inmediato.
La velocidad de una demostración puede ocultar el trabajo posterior. Publicar una aplicación confiable requiere revisar seguridad, datos, errores, rendimiento y mantenimiento.
2.12 Cómo evolucionó el papel de la persona
La evolución de las herramientas no elimina la participación humana; desplaza parte de su esfuerzo hacia decisiones de mayor nivel.
- Primero, la persona escribía cada detalle y el editor ayudaba con la sintaxis.
- Luego, aceptaba fragmentos propuestos según el contexto.
- Con el chat, comenzó a describir problemas y mantener una conversación.
- Con la edición integrada, pasó a revisar cambios aplicados en varios archivos.
- Con los agentes, debe definir alcance, permisos, criterios de éxito y mecanismos de verificación.
Cuanto mayor es la autonomía de la herramienta, más importante se vuelve establecer controles claros.
2.13 Actividad de comprensión
Relacioná cada situación con una etapa de la evolución:
- El editor ofrece el nombre de un método disponible en un objeto.
- Una IA completa una función a partir de un comentario.
- Una persona pega un error en un chat y solicita una explicación.
- Una herramienta modifica cinco archivos desde una única instrucción.
- Un agente ejecuta las pruebas, encuentra una falla y corrige su propuesta.
La secuencia esperada es: autocompletado clásico, asistente generativo, chat conversacional, edición de proyectos y agente de programación.