Vibe coding: qué es y cómo debe usarse con criterio profesional
Tabla de contenidos
ToggleEl vibe coding es un enfoque de desarrollo de software basado en el uso de herramientas de inteligencia artificial capaces de generar código a partir de descripciones en lenguaje natural. En lugar de escribir manualmente cada línea, el desarrollador expresa la intención funcional —qué debe hacer el sistema— y la IA propone una implementación técnica.
Desde un punto de vista profesional, no se trata de “no programar”, sino de delegar parte de la escritura mecánica del código a un asistente que interpreta requisitos y los transforma en una primera versión funcional.
Herramientas como GitHub Copilot, ChatGPT, Claude o Cursor han popularizado este enfoque, permitiendo acelerar tareas habituales como:
- generación de boilerplate,
- creación de endpoints,
- definición de componentes,
- refactorizaciones básicas,
- ejemplos de integración con librerías o APIs.
El verdadero cambio no está en que la IA escriba código, sino en que el desarrollador pasa a centrarse más en definir bien el problema y menos en la sintaxis.
¿Qué significa realmente “vibe coding”?
Aunque podría traducirse de forma literal como “programación por vibra” o “programación intuitiva”, en la práctica el término se mantiene en inglés.
En un contexto técnico, vibe coding no significa programar “a ojo” o sin rigor, sino trabajar a partir de la intención, confiando en que la IA se encargue de los detalles iniciales de implementación.
Dicho de forma clara:
el desarrollador define el qué y el por qué; la IA propone el cómo.
Eso no elimina la necesidad de conocimientos técnicos. Al contrario: cuanto más experiencia tiene el desarrollador, mejor sabe guiar, corregir y validar el código generado.
¿Cómo usar el vibe coding de forma correcta?
Desde una perspectiva profesional, el vibe coding funciona bien si se usa con método.
1. Define el objetivo con precisión funcional
No basta con decir “hazme una API”. Hay que especificar:
- qué entradas recibe,
- qué salidas devuelve,
- qué errores debe manejar,
- qué restricciones existen (seguridad, rendimiento, escalabilidad).
La IA responde mejor a requisitos claros que a peticiones vagas.
2. Elige la herramienta adecuada
No todas las herramientas sirven para lo mismo:
- Copilot es ideal para acelerar escritura dentro del editor.
- ChatGPT o Claude funcionan mejor para diseño, explicación y generación de bloques completos.
- Cursor destaca cuando se trabaja directamente sobre un proyecto existente.
3. Proporciona contexto técnico real
Un error habitual es pedir código “en abstracto”. Es fundamental indicar:
- lenguaje y versión,
- framework concreto,
- estilo del proyecto,
- patrones arquitectónicos usados,
- fragmentos de código existentes si los hay.
Sin contexto, la calidad del resultado cae en picado.
4. Revisa, ajusta y refactoriza
El código generado no debe darse nunca por válido sin revisión. Hay que:
- leerlo,
- entenderlo,
- adaptarlo al proyecto,
- refactorizar si es necesario.
La IA propone, el desarrollador decide.
5. Usa la IA también como herramienta de aprendizaje
Un uso inteligente del vibe coding consiste en pedir explicaciones, alternativas o comparativas. No solo genera código, también puede ayudar a razonar sobre él.
¿Es el vibe coding bueno o malo?
No es ni bueno ni malo por sí mismo. Es una herramienta, y como tal amplifica tanto las buenas como las malas prácticas.
En manos de un perfil junior sin supervisión, puede generar código frágil y difícil de mantener.
En manos de un perfil senior, puede multiplicar la productividad sin sacrificar calidad.
Ventajas reales del vibe coding
- Aceleración del desarrollo: ideal para prototipos, pruebas de concepto y tareas repetitivas.
- Menos fricción inicial: reduce el tiempo de arranque en nuevos lenguajes o frameworks.
- Menos errores mecánicos: evita fallos triviales de sintaxis.
- Mayor foco en arquitectura y lógica de negocio.
- Apoyo en tareas tediosas: validaciones, mapeos, configuraciones iniciales.
- Mejora de la productividad en perfiles experimentados.
Inconvenientes y riesgos a tener en cuenta
- Falsa sensación de corrección: que el código compile no significa que sea correcto.
- Calidad inconsistente: a menudo el código es funcional pero poco elegante o mantenible.
- Riesgos de seguridad: especialmente en validaciones, gestión de permisos y acceso a datos.
- Dependencia excesiva: sin criterio técnico, el desarrollador pierde capacidad de análisis.
- Desalineación con el negocio: la IA no entiende el dominio como lo hace el equipo.
- Dudas sobre licencias y autoría: especialmente en entornos corporativos.
Ejemplo práctico: vibe coding aplicado a WordPress
Para entender bien dónde el vibe coding aporta valor y dónde se convierte en un problema, vamos a ver un ejemplo muy habitual en proyectos WordPress: crear un plugin para mostrar un popup.
(1) Planteamiento incorrecto: “hazme un plugin para un popup”
Un ejemplo típico de mal uso del vibe coding sería una petición como esta:
“Hazme un plugin para un popup de detalle”
Desde el punto de vista de un desarrollador con experiencia, esta petición es demasiado vaga y peligrosa, tanto si se la haces a una IA como a otro programador.
Problemas de este planteamiento:
- No define qué tipo de popup (modal, lateral, fullscreen…).
- No indica cómo se gestiona el contenido.
- No especifica integración con el editor de bloques.
- No menciona estándares de WordPress.
- No contempla mantenibilidad, escalabilidad ni experiencia de administración.
El resultado habitual de este enfoque cuando se usa IA es:
- Un plugin con JavaScript inline.
- HTML incrustado en hooks genéricos.
- CSS global que rompe otros estilos.
- Sin separación clara entre lógica, presentación y configuración.
- Sin uso real de Gutenberg ni de APIs nativas.
Es decir: funciona “más o menos”, pero no es aceptable para un entorno profesional.
(2) Planteamiento correcto: vibe coding con criterio profesional
Un buen uso del vibe coding no empieza pidiendo “hazme un plugin”, sino definiendo correctamente el problema, el contexto y las restricciones técnicas.
Un planteamiento adecuado sería el siguiente:
Actúa como un desarrollador WordPress senior. Crea la base de un plugin para WordPress siguiendo estrictamente las buenas prácticas oficiales: https://developer.wordpress.org/plugins/plugin-basics/best-practices/
Requisitos del plugin:
- El plugin debe registrar un bloque de Gutenberg llamado MI-POPUP.
- El bloque debe permitir InnerBlocks, de forma que se puedan usar bloques nativos de WordPress (párrafo, imagen, etc.) dentro del popup.
- La previsualización del popup debe funcionar correctamente en el editor de bloques (no solo en frontend).
- El botón que abre el popup debe configurarse como un bloque, reutilizando los controles nativos de Gutenberg (colores, tipografía, alineación).
- El bloque debe exponer opciones de estilo mediante los controles estándar del editor para:
- border-radius del contenedor del popup
- transparencia del overlay de fondo
- ancho y alto del popup al abrirse
- No uses JavaScript inline ni CSS global.
- Separa claramente:
-
- registro del bloque
-
- lógica del editor
-
- lógica del frontend
-
- estilos
- Utiliza APIs oficiales de WordPress (Block API, hooks, enqueue de scripts y estilos).
Entrega esperada:
- estructura básica del plugin
- ejemplo de registerBlockType
- explicación breve de las decisiones técnicas
No generes código innecesario ni soluciones “rápidas”. Prioriza mantenibilidad y claridad.
Requisitos funcionales y técnicos
- El plugin debe integrarse correctamente con Gutenberg.
- En el panel de administración debe existir un bloque llamado MI-POPUP.
- Este bloque debe permitir usar bloques nativos de WordPress en su interior (texto, imágenes, etc.).
- La previsualización del popup debe funcionar correctamente dentro del editor, no solo en frontend.
- El botón que abre el popup debe configurarse como un bloque nativo, reutilizando los estilos y opciones estándar de Gutenberg (tipografía, colores, alineación…).
Opciones de configuración del popup
El bloque debe exponer opciones claras y bien definidas para personalizar el popup:
- Border-radius del contenedor.
- Transparencia de la capa de fondo (overlay).
- Tamaño del popup al abrirse:
- ancho
- alto
Estas opciones deben:
- Usar controles estándar de Gutenberg.
- Guardarse de forma consistente.
- No depender de CSS inline innecesario.
- Respetar el principio de separación entre contenido, estilo y comportamiento.
¿Por qué este segundo enfoque sí funciona?
Desde un punto de vista senior, este segundo planteamiento es correcto porque:
- Define qué se quiere construir, pero también cómo debe integrarse.
- Obliga a la IA a respetar APIs oficiales de WordPress.
- Reduce el riesgo de código frágil o difícil de mantener.
- Facilita la revisión de código y futuras extensiones.
- Produce un plugin alineado con el ecosistema WordPress, no un “parche funcional”.
Aquí el vibe coding sí aporta valor, porque acelera la implementación sin sustituir el criterio técnico.
Ademas ahora muchos IDE poseen la posibilidad de utilizar MCP para dar mayor soporte a este tipo de programacion
Conclusión del ejemplo
Este ejemplo refleja perfectamente el uso correcto del vibe coding:
- MALO – Pedir “hazme un plugin” es delegar responsabilidad técnica.
- CORRECTO – Definir requisitos claros es usar la IA como asistente, no como sustituto.
En proyectos reales, la diferencia entre ambos enfoques es la diferencia entre código descartable y código profesional.
Herramientas más utilizadas
- GitHub Copilot: sugerencias en tiempo real dentro del IDE.
- ChatGPT (GPT-4 o superior): generación y explicación de código, diseño técnico.
- Claude: buen manejo de contextos largos y revisión de código.
- Cursor: editor orientado a trabajar directamente con IA.
- Amazon CodeWhisperer: integrado en el ecosistema AWS.
Buenas prácticas para usar vibe coding en equipos profesionales
- Usa la IA como asistente, no como sustituto.
- Revisa siempre el código antes de integrarlo.
- Mantén los estándares del proyecto.
- No aceptes código que no entiendas.
- Prioriza la legibilidad frente a la rapidez.
- Pasa linters, tests y revisiones igual que con cualquier otro código.
- Documenta los cambios relevantes.
- Usa control de versiones y commits claros.
- No mezcles prototipos con código productivo sin limpieza previa.
- Recuerda que la responsabilidad final siempre es del desarrollador, no de la IA.







