Vibe coding no es «dejar que la IA escriba código y ya». Es una forma de trabajar donde tú defines objetivos, restricciones y feedback; un agente de IA construye; tú validas y corriges. Bien hecho, acelera prototipos y features reales. Mal hecho, te deja una bola de deuda técnica, vulnerabilidades y código que nadie entiende.
En este post te explico qué es exactamente, de dónde viene, qué dicen los datos reales sobre sus riesgos, y te dejo un método con guardrails para usarlo en serio: control, pruebas y seguridad.
Qué es «vibe coding» y de dónde viene el término
El término lo acuñó Andrej Karpathy — cofundador de OpenAI y exdirector de IA en Tesla — en febrero de 2025. Su descripción original: «you fully give in to the vibes, embrace exponentials, and forget that the code even exists». Es decir: describes lo que quieres en lenguaje natural, aceptas el output de la IA con revisión mínima, y te enfocas en iterar por resultados, no en cada línea de código.
En la práctica, en vez de programar cada línea, describes el resultado y dejas que un asistente de IA genere la mayor parte del trabajo. Tú actúas como arquitecto + QA + PM: marcas dirección, revisas, testeas e iteras.
Distinción importante: Simon Willison (creador de Datasette) argumenta que si revisas y entiendes todo el código a fondo, eso NO es vibe coding — es simplemente usar un LLM como asistente de escritura. Vibe coding implica aceptar cierto nivel de «caja negra».
Por qué está pegando ahora
- Herramientas más maduras: Claude Code, Cursor, GitHub Copilot, Replit Agent, Lovable y OpenAI Codex permiten ciclos rápidos de prompt → código → preview.
- Presión de entrega: en IT, DevOps y producto, la velocidad importa. Vibe coding promete un primer prototipo funcional en horas, no días.
- Adopción mainstream: Y Combinator reportó que el 25% de sus startups del Winter 2025 tenían codebases 95% generados por IA. Hasta Linus Torvalds lo usó para proyectos personales (enero 2026).
- Reconocimiento cultural: Collins English Dictionary lo nombró Palabra del Año 2025.
Cuándo sí (y cuándo no) usar vibe coding
Cuándo sí
- Prototipos y MVPs internos
- Automatizaciones, scripts, tooling
- UIs repetitivas (dashboards, CRUD, landing pages)
- Proyectos personales y aprendizaje
Cuándo no (o con mucha disciplina)
- Sistemas críticos (finanzas, salud, producción)
- Seguridad sensible (auth, criptografía, permisos)
- Proyectos donde nadie revisa ni prueba el resultado
Los datos reales: riesgos documentados
Hay estudios y datos concretos que todo profesional IT debería conocer antes de adoptar vibe coding:
Seguridad
- CodeRabbit (2025): el código co-escrito con IA tiene 2.74x más vulnerabilidades de seguridad, 1.7x más issues «mayores» y 75% más misconfiguraciones que el código escrito sin IA.
- Veracode (octubre 2025): los LLMs mejoran el código funcional, pero NO mejoran la seguridad.
- Lovable: de 1,645 aplicaciones creadas con vibe coding en su plataforma, 170 tenían vulnerabilidades de seguridad activas.
Productividad (sorpresa)
- METR (julio 2025): un ensayo controlado aleatorizado con desarrolladores experimentados mostró que eran 19% más lentos con herramientas de IA — a pesar de que ellos mismos estimaban ser 24% más rápidos. El exceso de confianza es real.
Calidad del código
- GitClear: el refactoring cayó del 25% (2021) a menos del 10% (2024). La duplicación de código se cuadruplicó. El code churn casi se duplicó.
Incidentes reales
- Julio 2025: el agente de IA de Replit eliminó una base de datos de producción a pesar de tener instrucciones explícitas de no hacer cambios.
- Febrero 2026: un reportero de la BBC fue hackeado a través de una vulnerabilidad de seguridad en una app creada con vibe coding (plataforma Orchids).
- Septiembre 2025: Fast Company reportó el «vibe coding hangover» — ingenieros atrapados en «development hell» con código que no entienden.
Mi método: vibe coding con guardrails
Con los riesgos claros, aquí va un método práctico para usar vibe coding con disciplina. No se trata de evitarlo, sino de usarlo con cabeza:
- Define alcance: «esto entra / esto no entra». Sin alcance claro, la IA genera features que nadie pidió.
- Define criterios de éxito: ejemplos concretos de entrada/salida esperada.
- Itera en ciclos cortos: 10–20 minutos máximo por ciclo. Revisa, prueba, itera.
- Versiona desde el inicio: Git desde el primer prompt. Cada iteración es un commit.
- Tests mínimos: al menos smoke tests. Si la IA generó una API, pruébala con curl. Si generó un formulario, envíalo con datos basura.
- Revisión de seguridad: secrets, permisos, inputs, dependencias. Esto no es opcional.
Prompt base para empezar (copiar/pegar)
Actúa como un senior engineer.
Objetivo: [describe la feature en 1-2 líneas]
Stack: [Next.js/Node/Python/Bash/etc]
Restricciones:
- No hardcodear secretos; usa variables de entorno
- Validar todos los inputs
- Manejar errores con mensajes claros
- Incluir al menos un test por flujo crítico
Entregables:
1) Cambios de código
2) Lista de archivos creados/modificados
3) Pasos para correr en local
4) Checklist de seguridad
Checklist de revisión post-generación
- Secrets: nada de llaves, tokens o passwords en el repo. Variables de entorno siempre.
- Inputs: valida y sanitiza todo (query params, forms, JSON, headers).
- Errores: mensajes claros para el usuario, logs útiles para ti, sin filtrar datos sensibles.
- Dependencias: fija versiones y revisa CVEs conocidos.
- Permisos: principio de mínimo privilegio. Si algo no necesita acceso root, no se lo des.
- Tests: al menos un smoke test por flujo crítico.
Conclusión
Vibe coding es una herramienta poderosa si la usas con disciplina: un multiplicador de velocidad, no un reemplazo de criterio. Los datos muestran que los riesgos son reales — más vulnerabilidades, más deuda técnica, y una falsa sensación de productividad — pero también que con guardrails adecuados, el beneficio es genuino para prototipos, automatizaciones y tooling interno.
La combinación ganadora: objetivos claros + ciclos cortos + tests + revisión de seguridad. Si no estás dispuesto a revisar lo que la IA genera, no es vibe coding — es ruleta rusa con tu codebase.