13 puntos por GN⁺ 2025-04-01 | 1 comentarios | Compartir por WhatsApp
  • Un texto que reflexiona críticamente sobre Vibe Coding, la experiencia de desarrollar junto con IA en un estado de "flujo (Flow)"
  • Aunque dependió del Vibe Coding durante los últimos dos meses, el autor concluyó que no fue satisfactorio en términos de productividad ni de costos
  • Vibe Coding no es una metodología de desarrollo específica, sino más bien una especie de estado o estilo de desarrollo centrado en la emoción
    • Se escribe código siguiendo el flujo y apoyándose en asistentes de IA para programar (Cline, Roo Code, Cursor, etc.)
    • Se trabaja sin un plan claro, guiado solo por la intuición y la sensación de inmersión, persiguiendo la sensación de “estar avanzando” impulsada por la dopamina

Problemas del Vibe Coding

  • Pérdida de tiempo: al principio parece que se avanza rápido, pero como no hay estructura, uno termina arrastrado por errores o cambios
  • Aumento de costos: a medida que crece la ventana de contexto de la IA, también aumentan los costos de las llamadas a la API
    • Ejemplo: envío de cientos de miles de tokens, generación de miles de líneas → al final, la carga de costos se vuelve importante
  • Más retrabajo: el código hecho rápido al inicio termina sin ajustarse al objetivo, lo que provoca una situación en la que hay que rehacerlo todo

También tiene ventajas

  • A través de la depuración repetitiva y de volver a comprender el código, mejora la comprensión de la estructura del código y del lenguaje en sí
  • El autor está enfocado en aprender Python y poco a poco ha ido desarrollando la capacidad de entender errores y guiar correctamente al modelo

Vibe Coding vs. chat con IA vs. búsqueda web

  • Vibe Coding: útil para exploración inicial o intentos experimentales, pero inadecuado para un desarrollo estructurado
  • Chat con IA (ChatGPT, etc.): útil para respuestas rápidas y generación de boilerplate, pero confiar ciegamente es riesgoso (existe la posibilidad de alucinaciones de la IA)
  • Búsqueda web: esencial para encontrar conceptos y soluciones precisas, aunque puede tomar mucho tiempo

Combinación preferida actualmente: Gemini + Open WebUI

  • Gemini Code Assist (usado en VS Code):
    • Es gratis y destaca en la generación de código de prueba y en la corrección de errores
    • Es especialmente útil para quienes usan pruebas unitarias por primera vez
  • Open WebUI:
    • Soporta varios modelos y permite personalización
    • Se pueden configurar prompts para objetivos específicos (programación, artículos académicos, patentes, etc.)
    • Es adecuado para tareas eficientes en relación costo-beneficio, como alineación de texto o conversión de tablas

Una elección ineficiente: agentes de IA ilimitados

  • Roo Code, Cline y otros se ejecutan durante mucho tiempo y consumen muchos tokens
    • En particular, los basados en Claude tienen buen rendimiento, pero el costo es excesivamente alto
  • En cambio, Gemini 2.0, DeepSeek V3/Chat y otros son gratis o baratos, y su rendimiento también es aceptable

Conclusión: buscando un equilibrio

  • No se puede decir que el Vibe Coding sea completamente malo
    • Ayuda a desplegar creatividad o explorar ideas
  • Sin embargo, no es una forma de desarrollo sostenible
    • Frente a plazos de entrega y costos, hacen falta alternativas realistas
  • La combinación óptima actual del autor:
    • Gemini Code Assist (gratis, fuerte en pruebas unitarias)
    • Open WebUI (ventajoso en control y costos)
  • Planes a futuro:
    • Considerar apps de chat de pago como Perplexity ($20/mes, también existe un nivel gratuito)
    • Como el costo de API supera los $30 al mes, hace falta una reducción estructural de costos
    • A largo plazo, también contempla ejecutar modelos locales, con posibilidad de cambiar si aparecen modelos más eficientes

1 comentarios

 
GN⁺ 2025-04-01
Opinión de Hacker News
  • Es interesante leer reportes sobre cómo otras personas usan los LLMs para programar

    • Personalmente, siento que los LLMs ya cruzaron el “uncanny valley” de la programación y mejoran mucho la productividad
    • Si describes bien el problema y las restricciones, pueden generar con precisión miles de líneas de código
    • Es importante revisar el código generado por el LLM, y si pides cosas específicas suele resolverlas bien
    • Pedirle “que me diga el plan para implementar la solución” es útil
    • Los resultados son sorprendentes. El estilo puede variar, pero estructuralmente suele ser muy correcto
  • El vibe coding sirve para prototipos exploratorios, no para escribir código de producción

    • Está bien para herramientas personales, pero no para código que vas a distribuir a otras personas
    • Hace falta entender el código e iterarlo
    • El vibe coding se define como actuar sin preocuparse por el código
  • El vibe coding consiste en entrar en “flow” y generar código con facilidad

    • Broma sobre que las escenas de hackers en películas habrían sido más geniales si usaran ChatGPT
    • No es buena idea juzgar la corrección del código solo porque se ejecuta
    • Como mínimo, es importante revisar la salida del LLM
  • Pienso que el vibe coding no tiene que ver con programar

    • Incluso personas no expertas pueden hacer código pequeño, pero los sistemas grandes son difíciles
    • Los LLMs son útiles para generar código boilerplate, pero cuando hay problemas hace falta corregirlo
    • Los nuevos “vibe coders” no entienden el problema y solo lo intentan una y otra vez
  • Gasta $30 al día en usar Claude Code

    • Está invirtiendo mucho dinero en vibe coding
  • Trabajar con una estructura en árbol resulta útil

    • Se trata de dibujar primero el panorama general y luego ir llenando los detalles
    • Es efectivo al trabajar con LLMs
    • Es estructurado, pero aun así podría considerarse vibe coding
  • Karpathy es bueno poniendo nombres

    • El nuevo nombre pegó bien
  • Usa mucho los LLM, pero la idea de “vibe” empezó como una broma en internet

    • Es importante formular bien las preguntas, y eso se parece a programar
    • Las pruebas son importantes, y con el LLM el aprendizaje avanza rápido
  • Tiene valor expresar tus ideas en un lenguaje formal

    • Las matemáticas también pueden expresarse en lenguaje natural, pero la claridad y concisión de la formalización son útiles
    • El código es una herramienta para volver claras ideas ambiguas
    • No es deseable que todos los sistemas estén escritos en lenguaje ambiguo
  • El chat con IA da mejores resultados que la búsqueda web

    • Al escribir consultas SQL, Gemini da mejores resultados