1 puntos por GN⁺ 2025-11-11 | 1 comentarios | Compartir por WhatsApp
  • Biblioteca de implementación del protocolo SWD para depurar el núcleo RP2350 RISC-V, con una arquitectura en la que se usa una Raspberry Pi Pico2 para que otra Pico funcione como sonda
  • Aproximadamente el 80% del código fue generado por IA (Claude); el autor creó un prototipo base con osciloscopio y documentación, y luego dejó que la IA expandiera el código
  • Durante el proyecto, experimentó una fuerte repulsión y escepticismo debido a la estructura de tokens sin sentido del código de IA, la pérdida de contexto y la pérdida de sentido de propiedad sobre el código
  • En cambio, obtuvo una experiencia positiva al usar la IA como herramienta de apoyo para análisis de documentación, decodificación de datos y generación de estructuras
  • Este caso expone los problemas de calidad, criterio y propiedad del código generado por IA, y plantea preguntas fundamentales sobre la esencia de la programación y el papel del ser humano

0. VIBE CODE WARNING

  • Aproximadamente el 80% de todo el código es generado por IA (vibe coded), y gran parte del README también fue generado automáticamente
  • El autor implementó por su cuenta, apoyándose en un osciloscopio y en la documentación, elementos como SBA, lectura/escritura de registros, comandos abstractos y PROGBUF, y luego dejó en manos de la IA la conversión a biblioteca
  • A medida que el código creció de 1,000 a 4,000 líneas, perdió por completo la estructura y el significado del código, y dejó de sentirlo como algo escrito por él
  • La IA interpretó mal dap_read_mem32, lo que provocó una gran cantidad de errores de protocolo y código ilógico
  • Como resultado, completó cerca de 10,000 líneas de código en 10 horas, pero sin ninguna sensación de logro ni de crecimiento

Diferencias entre el código humano y el código de IA

  • El código escrito por humanos está compuesto por tokens con intención y propósito, por lo que puede entenderse; en cambio, los tokens del código de IA se leen como combinaciones sin significado y son difíciles de interpretar
  • Algunas partes del código de IA muestran una calidad superior a la humana, pero la línea inmediatamente inferior puede ser código erróneo que solo parece convincente
  • Esta falta de uniformidad y la pérdida de confianza perceptiva paralizan la capacidad de juicio del programador
  • Cuanto más crece el código, más desaparece la sensación (taste) de distinguir si un código es bueno o malo, y se derrumban el modelo mental y el sentido de propiedad

Emociones humanas y dudas

  • El autor se pregunta: “¿Esto es programar?”, y expresa repulsión y vergüenza
  • En una era en la que la IA escribe código en lugar del humano, confiesa una confusión existencial sobre qué debe crear el ser humano y hasta dónde debe intervenir
  • Ni siquiera tiene certeza de si simplemente “no escribir código” es progreso, o si “no modelar el problema” es eficiencia
  • Menciona que todavía quiere construir algo por sí mismo, pero que en un entorno de desarrollo centrado en IA ese significado se ha vuelto difuso

Experiencias positivas de uso de la IA

  • Evalúa como eficiente y satisfactoria la IA cuando se usa para análisis de documentación, decodificación de datos de osciloscopio y generación automática de estructuras en C
  • En particular, sintió una verdadera sensación de logro al leer el primer registro y acceder a memoria mediante SBA
  • Es decir, puede haber una experiencia positiva cuando se usa la IA no como autora del código, sino como asistente

Reflexión final

  • La generación de código con IA es rápida, pero provoca la pérdida de significado, criterio y propiedad
  • Cuando desaparece el “gusto” (taste) humano por el buen código, también se tambalea la esencia de la programación
  • El autor espera que este fenómeno sea una fase transitoria, y concluye diciendo que ni siquiera él sabe qué sería una “programación mejor”

Las secciones técnicas posteriores del texto original (1~20) son una documentación detallada de implementación del protocolo de depuración RP2350 RISC-V, e incluyen una especificación técnica completa de toda la pila de depuración, como la jerarquía SWD, registros DAP/DAPC, ejecución de PROGBUF, acceso SBA, control de hart, tracing, reset y estructura de doble hart.
Sin embargo, el tema central es un estudio de caso personal (Vibe Code Warning) sobre la “desconexión entre el código generado por IA y el criterio humano”.

1 comentarios

 
GN⁺ 2025-11-11
Opinión de Hacker News
  • Entiendo el sentimiento de quienes dicen que “la IA le quitó la diversión a programar”, pero yo creo que es más importante ‘terminar las cosas’ que ‘hacerlas’
    Antes, la gente que encendía faroles de gas perdió su trabajo por culpa de la luz eléctrica, pero al final lo importante era darle luz a la ciudad
    Para mí, la IA es una herramienta para materializar ideas y producir resultados. Sigo invirtiendo tanto tiempo y esfuerzo como los ‘programadores de verdad’, pero el foco está en definir problemas, modularizar, probar, corregir bugs y mejorar iterativamente

    • Esa dicotomía de “hacer vs terminar” es una forma de pensar peligrosa
      Lo importante es crear un mundo donde los humanos puedan sentir significado, dignidad y disfrute.
      Si voy a comer algo delicioso, pero quienes lo hicieron sufrieron para producirlo, o si fue hecho por robots de una fuerza malintencionada, no lo quiero.
      La sociedad es para los seres humanos, no una simple lista de verificación de eficiencia
    • ¿Qué significa exactamente “terminar las cosas”? Por la velocidad y complejidad que trajo la IA, cada vez es más difícil verificar los resultados
      En proyectos personales puede estar bien, pero en entornos con clientes, usuarios o accionistas hacen falta resultados demostrables
      La analogía del farol de gas no encaja. La IA no es un sistema físico como la electricidad, sino software.
      Al final, lo importante es resolver problemas. Si no los resuelve, eso no es más que trabajo
    • La analogía del farol de gas no aplica. Encender faroles no era una expresión creativa, pero escribir código sí es un acto creativo
      Mucha gente no programa solo para hacer software útil, sino por el placer de crear
      Los “programadores de verdad” también pasan su tiempo pensando, definiendo, probando y corrigiendo
    • Muchas de las cosas que producen la IA y la tecnología en realidad son innecesarias
      Un “dispensador inteligente de hilo dental”, un comprador automático de papel higiénico o bots como Clippy son puro desperdicio de tiempo y energía
    • La relación con la artesanía y con el conocimiento es importante
      Más allá de simplemente obtener un resultado, hay una gran satisfacción en el proceso de aprender y entender
      Al leer Adrift, 76 Days at Sea, sentí que el conocimiento profundo puede marcar la diferencia entre la vida y la muerte
      Esto también se parece al dilema entre alojar tus propios datos o dejarlos en manos de un servicio centralizado
  • Cuando veo en internet un texto que expresa perfectamente lo que pienso, siento un verdadero consuelo
    Gracias por hablar de la experiencia humana en vez de sumarte al ruido de “ajusta así tu prompt”

    • A mí me pasa igual. Cuando uso IA durante mucho tiempo, termino con una sensación de vacío y falta de propósito, como cuando haces scroll en YouTube sin pensar
      Para salir de ese estado, necesito dormir bien una noche
    • Hay gente que cree que la IA se puede tratar como Excel, pero a mí me parece más cercana a una máquina tragamonedas
      Te da respuestas casi correctas, pero psicológicamente tiene una capacidad de enganche parecida a la del juego
  • Alguien dijo que “escribió 10 mil líneas de código con IA en 10 horas y fue terrible”, pero esa experiencia cambia por completo según el enfoque
    La estructura de los prompts, la planificación, la revisión, las pruebas y el control del ritmo varían de persona a persona
    Muchos desarrolladores novatos prueban un enfoque improvisado al que llaman vibe coding y fracasan

    • Yo también, mientras ajustaba sistemas de agentes, fui descubriendo constantemente nuevas formas de fracasar
      El cansancio es grande, así que estoy tomando un descanso, y algún día pienso construir mis propios agentes
      Siento que es peligroso dejar esto en manos de grandes tecnológicas como OpenAI, Microsoft o Anthropic
    • Todavía no he visto ningún proyecto grande de código abierto hecho con vibe coding
      Al final me parece que no pasa de ser una palabra de moda
    • Con todo ese esfuerzo, la duda es: ¿realmente es más rápido que programarlo uno mismo?
      Se siente como huir hacia la gestión del proyecto para no tener que aprender una librería nueva
    • Tienes razón, pero nadie dice concretamente cuál es ese “enfoque correcto”
      Incluso el famoso artículo “Just Talk to It” se quedaba corto en los detalles
    • Al final, el vibe coding parece ser un indicador indirecto de capacidad de planificación
      Cuanto más improvisado es el proceso, más planificación rigurosa hace falta. ¿Ese es el punto que querías marcar?
  • El código público ya dejó de ser, en muchos casos, algo hecho por humanos
    Si ese código vuelve a entrar como dato de entrenamiento, existe el riesgo de que el mundo se llene de aún más resultados sin sentido
    Ya hubo casos en investigación lingüística donde recolectar datos dejó de tener sentido porque había demasiado texto generado por máquinas

    • Yo creo que va a estar bien. La IA sí produce mucho código basura, pero al final los humanos encuentran las joyas dentro de eso
      En la mayoría de los casos, la dirección todavía la pone una persona
      Claro, si un niño de 12 años escribe “yolo 3d game now”, sí da un poco de miedo, aunque también suena genial
    • Es una observación interesante. Este fenómeno podría tener un efecto parecido al model poisoning
  • Leer código hecho con vibe coding se siente como leer “English as She is Spoke”
    La gramática está bien, pero no parece código escrito por un ser humano

  • Yo pienso algo parecido
    Normalmente, cuando desarrollo una app, paso varios días formando un modelo mental en mi cabeza, y hasta en la ducha sigo replanteando la estructura
    Pero con el vibe coding ese contexto interno desaparece, y leer el código se vuelve doloroso
    En cambio, leer código que yo mismo escribí sí me da gusto

    • Yo sigo sintiendo eso, pero ya no a nivel de código sino a nivel de sistema
      Entiendo las conexiones entre sistemas y el flujo de datos, pero los detalles de implementación se me vuelven difusos
  • A mí me pasó algo parecido. Los LLM le quitaron parte de la diversión a programar
    Mi rutina ahora es una secuencia de “escribir prompt → esperar un poco → repetir → revisar código”
    Entiendo la estructura del código, pero como ya no lo trabajo directamente con las manos, la profundidad de mi comprensión se vuelve más superficial
    Tal vez con el entrenamiento adecuado se pueda hacer bien, pero todavía no llego a ese punto

    • Yo no dejo el código en manos del LLM; lo uso solo para brainstorming de ideas
      Sí me sirve para generar tests. Escribo yo mismo un buen test y le encargo el resto a la IA para ahorrar tiempo
    • Como mínimo, al código generado por LLM sí le escribo yo las pruebas automatizadas
      Así puedo entender sus límites y luego reescribirlo con un mejor diseño de sistema
      Incluso el código verboso del LLM me parece mejor que el código rarísimo que dejaron algunos desarrolladores del pasado
  • El texto exagera un poco, pero igual me identifico
    Los LLM sirven para entender y resumir código existente, para autocompletado y para que personas no desarrolladoras hagan prototipos, pero
    nunca deberían usarse para escribir código de producción

  • La solución es hacer grounding del modelo
    En código, la forma de hacerlo es con desarrollo guiado por pruebas (TDD)
    Primero escribes los tests, confirmas que fallen, verificas por qué fallan y luego haces que escriba el código
    Así se crea una especificación de comportamiento del código, que después sirve como documentación para personas o agentes

  • Leí completo el README en GitHub y el autor admitía que 3/4 del código era generado por IA, pero aun así reclamaba copyright
    Ya existen precedentes legales que dicen que el contenido no creado por humanos no puede recibir protección de copyright