3 puntos por GN⁺ 2025-02-04 | 1 comentarios | Compartir por WhatsApp
  • En un entorno de desarrollo basado en LLM, se plantea un nuevo enfoque de “programación por vibra” en el que el usuario no escribe código directamente, sino que obtiene resultados mediante conversación y comandos
  • Usando Cursor Composer y SuperWhisper, se modifica el código con comandos de voz, y el trabajo se realiza solo con solicitudes simples como “reduce a la mitad el padding de la barra lateral”
  • Sin leer los cambios de código (diff), se aprueba todo en bloque con “Accept All”, y se usa un flujo de corrección automática en el que los mensajes de error se copian y pegan tal cual para resolverlos
  • El código se vuelve cada vez más complejo y difícil de entender, pero funciona suficientemente bien para proyectos experimentales de fin de semana
  • Un juego de Battleship donde dos LLM compiten en tiempo real también fue creado de la misma forma, y se menciona la observación de que “4o es más fuerte que 4o-mini”

Concepto de programación por vibra

  • “Programación por vibra” (Vibe Coding) es una forma de desarrollo que se enfoca más en el flujo y la intuición que en escribir código
    • El usuario no se preocupa por la estructura detallada del código y acepta tal cual los resultados que propone el LLM
    • Con la expresión “incluso se olvida que el código existe”, se enfatiza una experiencia de desarrollo centrada en IA

Herramientas usadas y forma de trabajo

  • Se usa Cursor Composer junto con el modelo Sonnet para generar código
    • A través de SuperWhisper, se conversa por voz con Composer y casi no se usa el teclado
  • Se piden cambios con instrucciones simples como “reduce a la mitad el padding de la barra lateral”
    • Sin revisar el diff, se aprueba con “Accept All”
    • La mayoría de los problemas se resuelven copiando y pegando los mensajes de error sin explicación adicional

Gestión del código y límites

  • A medida que el código crece, se vuelve complejo hasta un punto difícil de entender
    • Si un bug no se resuelve, se rodea el problema o se repiten solicitudes de cambios arbitrarios hasta hacerlo desaparecer
  • Este enfoque sirve para proyectos cortos y experimentales, pero tiene límites en sistemas complejos

Proyecto experimental: juego de Battleship

  • Se creó un juego de Battleship con alrededor de una hora de “programación por vibra”
    • La estructura hace que dos modelos LLM compitan entre sí en tiempo real
    • Se menciona una observación informal de que “4o es más fuerte que 4o-mini”
  • Todavía no se cuentan con estadísticas concretas ni cifras comparativas de rendimiento

Contexto general

  • Muestra que, gracias al avance de los LLM, los desarrolladores pueden crear rápidamente aplicaciones funcionales sin tener que manipular directamente el código detallado
  • La “programación por vibra” puede verse como un caso experimental que muestra un nuevo paradigma de programación centrado en IA

1 comentarios

 
GN⁺ 2025-02-04
Comentarios de Hacker News
  • Cada año pienso que los estándares de calidad del software ya no pueden bajar más, pero cada vez termino descubriendo que estaba equivocado

    • No entiendo por qué hacer algo que ni siquiera se va a hacer bien
    • Es como clavar pedazos de madera mal cortados para hacer algo parecido a una silla y luego sentarse ahí
    • Algunos dicen: “A veces solo necesitas un lugar donde sentarte”, pero aun así siento que debería haber un mínimo de acabado
    • He visto a personas que, por no sentirse seguras con su inglés, terminan dependiendo por completo de un LLM, y como resultado pierden capacidad de expresión y confianza en sí mismas
    • En software, rara vez se sabe desde el principio que se está construyendo una ‘silla’
      • Al final no es más que otro nombre para la programación exploratoria o el prototipado
    • A veces el destino no importa; solo quieres llegar rápido a algún lado
      • Es como regañar a alguien cansado por sentarse un momento en el piso
    • Me preocupa que últimamente se esté perdiendo la noción de realidad de que el código se ejecuta en hardware real
      • Muchos desarrolladores jóvenes no entienden las consecuencias físicas del código
      • Creo que la IA y todo su hype eventualmente colapsarán, pero la lucha por mantener la calidad tiene que continuar
  • Yo también disfruto este estilo cuando hago proyectos ligeros

    • Pero en seguridad no se puede improvisar jamás
    • Muchas veces un asistente de código con IA ha creado APIs sin autenticación o plantillas con riesgo de XSS
    • Uso LLM todos los días, pero estoy convencido de que el rol del ingeniero de seguridad seguirá siendo muy necesario en el futuro
  • Al ver este enfoque, da la impresión de que el resultado lo entrega alguien que “come y codea”

  • Me preocupa si empezar a programar de esta forma podría atrofiar la capacidad de resolver problemas difíciles

    • Pero otra persona dice que todavía puede hacer a mano, con cuidado, las partes que realmente lo requieren
    • En cambio, baja la barrera de entrada para probar cosas nuevas y permite explorar con mucha más libertad
  • Últimamente están apareciendo muchos desarrolladores nativos de IA que aprenden de esta forma desde el principio

    • Ya parece menos programación y más una época de gestión de coders de IA
  • Herramientas tipo “WYSIWYG editable con instrucciones en lenguaje natural” parecen tener un abrupto muro de dificultad, como las limitaciones de las herramientas RAD

  • Algunos dicen que “no se debería aprender así”, pero yo creo que lo importante es ajustar el nivel de acabado según el esfuerzo invertido

    • Vibe Coding es un buen método para aprender y explorar
    • Puede abrir un nuevo espectro esfuerzo–acabado
    • Pero, como decía Fred Brooks, si el primer intento es deficiente, hay que saber desecharlo sin miedo
      • Si te aferras a la primera implementación generada por un LLM, puedes quedar atado a un punto de referencia equivocado sin haber entendido bien el problema
  • Creo que para CSS, Vibe Coding es más que suficiente

    • Pero otros responden que, si consideras la accesibilidad y el diseño responsivo, no es tan simple
    • Un CSS bien hecho puede ser incluso conciso y fácil de mantener
    • Meter IA a la fuerza puede terminar siendo un estorbo
    • Otra persona comentó que logró implementar por completo una pequeña utilidad web con Claude
    • Alguien más dijo que hizo de la misma manera un DSL de búsqueda basado en React y un editor de pipelines con GUI, y explicó que este enfoque va mucho más allá de algo tan simple como CSS