71 puntos por bboydart91 11 일 전 | 20 comentarios | Compartir por WhatsApp

TL;DR;

  • La habilidad clave para usar bien la IA es poder juzgar y corregir la calidad de lo que produce, pero esa capacidad en realidad se debilita cuanto más se depende de la IA
  • Según la teoría de las "dificultades deseables" de Bjork, la información procesada con facilidad no permanece en la memoria de largo plazo
  • En el estudio de Roediger & Karpicke (2006), la tasa de retención una semana después fue aproximadamente un 50% más alta en el grupo de práctica de recuperación que en el grupo de relectura repetida
  • Cuando la IA escribe el código en lugar del desarrollador, elimina incluso la carga cognitiva germana (germane load), por lo que desaparece la oportunidad misma de formar esquemas
  • Cuanto más experimentado es un desarrollador, menos carga genera en el cerebro simplemente leer la salida de la IA debido a la eficiencia neuronal
  • Incluso antes de la IA ya existía una ruta en la que el crecimiento se detenía, pero la IA elimina de forma drástica la fricción de ese camino

Resumen detallado

La paradoja de que para usar bien la IA hay que saber de código

  • Hay muchas personas que pueden decir "haz esto", pero son muchas menos las que pueden ver el resultado de la IA y corregirlo de forma concreta con comentarios como "esta estructura es frágil ante cambios" o "esta interfaz tiene dos responsabilidades"
  • Esa capacidad se parece más a una intuición formada a partir de innumerables fracasos, depuraciones y experiencias de refactorización
  • Aprender a usar la IA y aprender patrones de código no son opciones excluyentes; lo segundo es la base de lo primero
  • "Los desarrolladores que mejor pueden aprovechar la IA son los que también pueden juzgar código sin IA"

El cerebro no recuerda cuando todo es fácil

  • "Dificultades deseables" de Bjork: cuando en el proceso de aprendizaje existe una dificultad y resistencia adecuadas, el rendimiento a corto plazo puede ser más lento, pero mejoran la retención a largo plazo y la transferencia
  • Roediger & Karpicke (2006): experimento de relectura repetida vs. práctica de recuperación
    • Prueba a los 5 minutos: el grupo de relectura repetida obtuvo mejores resultados
    • Nueva prueba una semana después: la retención del grupo de práctica de recuperación fue aproximadamente un 50% mayor
  • En el grupo de recuperación activa se fortaleció la conectividad entre el hipocampo y la corteza prefrontal, y también aumentó la activación de la red sensoriomotora
  • En el aprendizaje pasivo, el cerebro solo activa la conectividad entre el hipocampo y el giro fusiforme: se parece más a "solo mirar información sin procesarla realmente"
  • Efecto de generación (Slamecka & Graf, 1978): el grupo que completó por sí mismo algo como "caliente-frí___" mostró una retención significativamente mayor que el grupo que leyó pares ya completados
  • Ilusión de fluidez: sentir que una información se procesa con facilidad lleva a la falsa impresión de que también se recordará bien

La habilidad para programar es memoria procedimental

  • Gran parte de la habilidad para programar es memoria procedimental: como andar en bicicleta, una vez incorporada se ejecuta automáticamente sin necesidad de pensarla de forma consciente
  • Modelo ACT (Adaptive Control of Thought) de Anderson: 3 etapas en la formación de la memoria procedimental
    • Etapa cognitiva: todo se ejecuta conscientemente, paso por paso, consumiendo la mayor parte de la memoria de trabajo
    • Etapa asociativa: los procedimientos individuales se integran y ya pueden ejecutarse como un solo flujo
    • Etapa de automatización: ejecución automática con muy poca ocupación de la memoria de trabajo; el margen restante puede usarse para juicios de diseño
  • La transición entre etapas solo ocurre mediante repetición y ejecución directa
  • Chunking (estudio de ajedrez de Chase & Simon): la diferencia entre expertos y principiantes no está en la cantidad de slots de memoria de trabajo, sino en cuánta información puede contener un solo chunk
    • Los expertos en ajedrez no reconocen posiciones individuales de piezas, sino patrones con significado como "una disposición típica de medio juego en la Defensa Siciliana" como un solo chunk
    • Esto se comprobó porque la diferencia entre expertos y principiantes desapareció en experimentos con posiciones aleatorias

La IA interfiere con este proceso

  • Si se delega la implementación a la IA, esta también procesa por el desarrollador la carga cognitiva germana (germane load), por lo que desaparece la oportunidad misma de construir esquemas
  • Desde la perspectiva de la memoria procedimental, al reducirse el tiempo de esfuerzo en la etapa cognitiva, se retrasa la transición a la etapa asociativa y se dificulta llegar a la automatización
  • Leer el código generado por la IA equivale a "leer pares de palabras ya completados" en el experimento del efecto de generación: parece que uno entendió, pero no queda grabado con profundidad
  • Cuanto más experimentado es el desarrollador, más código procesa con menos recursos gracias a la eficiencia neuronal; por eso, leer la salida de la IA casi no genera carga en el cerebro
  • Al escribir código directamente, las sinapsis se modifican mediante un bucle de predicción-retroalimentación, pero leer código terminado por la IA no pasa de ser una interpretación posterior en la que se omitió el proceso de predicción
  • Es especialmente grave para los juniors: si todavía tienen muchos patrones en etapa cognitiva y la IA les hace saltarse esa fase, acumularán años de experiencia sin formar memoria procedimental

Cómo generar carga en el cerebro

  • Antes de delegar a la IA, redactar primero una propuesta de diseño propia: usar intencionalmente el efecto de generación; al comparar y evaluar la salida de la IA, se activan al mismo tiempo las áreas cerebrales de procesamiento semántico y control ejecutivo
  • Revisar código en serio: preguntarse conscientemente "¿por qué esta estructura?" y "si hubiera que modificar esto dentro de 6 meses, ¿dónde aparecerían los problemas?"; esa misma molestia es una dificultad deseable
  • Reservar tiempo para escribir código directamente: es insustituible para formar memoria procedimental; cuando uno se atasque, pedir a la IA no la respuesta completa sino solo la pista mínima necesaria
  • La estrategia óptima para producir y para aprender no es la misma: la IA es excelente como herramienta de producción, pero tiene límites como herramienta de aprendizaje
  • Al final, lo que queda en el cerebro determina la calidad de la revisión de código, la precisión del juicio de diseño y, paradójicamente, la capacidad para aprovechar la IA

20 comentarios

 
jeeeyul 11 일 전

Personalmente, siento de forma muy clara que la IA es bastante mala en mi área de especialidad. Supongo que para los expertos de otros campos pasa lo mismo. Claro que ayuda mucho. Aunque termino escribiendo documentos fastidiosos todo el día, de ninguna manera se compara con la productividad de antes.

La atención se forma por mayoría.
Los agentes de verificación solo necesitan pasar la función de evaluación.
La mayor parte del buen código industrial no está público.
El código open source es código hecho para mostrarse.

Hay que usarla teniendo siempre presente este punto.

 
koreacglee 10 일 전

Coincido. En sectores como el aeroespacial, el médico y el control de precisión, los datos clave de dominios altamente especializados están estrictamente cerrados dentro de redes internas, y para acceder a ellos hay que ser un insider clave o, si eres externo, apenas se abren tras pagar una suma considerable y firmar un NDA.

La mayor parte de los datos con los que aprende la IA son públicos en internet, y si se trata de servicios web/app basados en Python o JavaScript, la automatización completa es posible hasta cierto punto.

Como los algoritmos de gráficos 3D y basados en CAD que se usan en dominios avanzados están dispersos fragmentariamente en internet o directamente no están disponibles, incluso la IA no puede hacer más que producir resultados superficiales con vibe coding. Creo que, teniendo un agente principal y alimentándole de forma continua el contexto del dominio a un nivel de microgestión, desarrollar con un ciclo de Planning → Redirection → Review, no como automatización total dirigida por la IA sino como una forma de amplificación continua guiada directamente por el desarrollador, es un enfoque seguro y realista.

 
b8g6pn 10 일 전

Yo también todavía siento que me falta mucho en mi área de especialidad, así que procuro ser cuidadoso pensando que en las áreas donde recibo ayuda el nivel probablemente sea más o menos ese. En cambio, como la velocidad de avance es bastante alta, sí intento usarlo en tareas donde seguir con más o menos esa calidad sea suficiente.

 
wedding 9 일 전

¿Será idea mía o aquí también parece haber muchos comentarios escritos por IA?

 
kuthia 9 일 전

Se siente como haber llegado a una distopía.

 
awfulanthropic 5 일 전

Al final, los humanos terminamos eligiendo lo que es más cómodo. Como resultado, aunque sabemos que el contenido de formato corto no es bueno, hoy en día casi todo el mundo lo consume. Del mismo modo, la IA dejará de ser una opción para convertirse en una necesidad, y en la práctica la diferencia de productividad entre usarla y no usarla es distinta. Esto aplica tanto para desarrolladores como para no desarrolladores. Lo único que cambia es el método y la forma. Tal como mencionaste abajo con la analogía del teléfono y ya no tener que memorizar números telefónicos, la gente moderna ya no puede conducir solo mirando un mapa si no tiene navegación, y ni siquiera memoriza rutas que recorre siempre.
Entonces, ¿eso significa que nuestra capacidad para conducir, nuestra percepción espacial o nuestra memoria se han deteriorado? No. Gracias al desarrollo de la navegación, ahora podemos ir a cualquier lugar siempre que tengamos el navegador.

Además, se habla de que usar IA provoca un deterioro de la capacidad cognitiva humana, pero yo creo que no es un deterioro, sino que la capacidad cognitiva cambia hacia otra forma.
Últimamente también se habla mucho de programar a mano. Estoy de acuerdo en que enfrentar, dentro del ámbito del hobby, el miedo a que las habilidades heredadas de uno queden obsoletas tiene sentido, pero no me gustaría que esto se convirtiera en una postura de que, como si fuera la respuesta correcta, ¡los desarrolladores deben programar a mano sí o sí para mejorar sus habilidades básicas!
De hecho, la evolución de los lenguajes de programación, en última instancia, ha avanzado gradualmente en la dirección de acercarse a un lenguaje natural más familiar para los humanos. Y me parece que este momento es una etapa de transición hacia ese objetivo final.

 
indigoray 11 일 전

Este tipo de contenido parece una fijación con formas de trabajo del pasado. De todos modos, en esas partes la IA terminará haciéndolo mejor. Lo importante ahora es la experiencia de mejorar lo que no sale bien al usar la IA. Pero también creo que esto será algo temporal.

 
baam12 10 일 전

No es algo limitado solo a la programación. La dificultad deseable no es simplemente un eslogan trillado, sino que se basa en diversos fundamentos científicos.

 
secwind 10 일 전

Tener una calculadora y aun así memorizar las tablas de multiplicar parece un apego a una forma de trabajo del pasado. De todos modos, esa parte la terminará haciendo mejor la calculadora. Lo importante ahora es ganar experiencia mejorando lo que no sale bien mientras usas la calculadora. Pero creo que incluso esto también será temporal.

 
reagea0 10 일 전

Siento que siempre responden con un argumento parecido a este... Las calculadoras no se equivocan al calcular. Cumplen bien su función.

 
aer0700 10 일 전

A veces me preocupa que un día se descomponga la calculadora y diga que 3 X 3 = 10, y que nadie se dé cuenta de que está mal... Si eso pasara en la computadora del programador que maneja mi cuenta bancaria... creo que no está de más ser cautelosos.

 
ohmybreaktime 11 일 전

La frase “gran parte de la habilidad para programar es memoria procedimental” realmente me llegó mucho.
Resolver problemas de matemáticas también es el acto de recordar procedimientos y practicar para poder producir el mismo resultado.
Está bien programar con IA, pero creo que igual hay que exigirle carga al cerebro para poder generar repetidamente resultados del mismo nivel o mejores.

 
csakgw 9 일 전

Es un pensamiento breve, pero últimamente me he puesto a pensar esto. Dicen que antes los expertos en ensamblador miraban a los desarrolladores en C y les decían cosas como “no saben valorar la memoria” o “no entienden el hardware”, y ahora, si lo vemos, no será una crítica parecida en el mismo sentido. Al final, desde la perspectiva del desarrollo de software, no será que simplemente estamos pasando a desarrollar con un lenguaje más abstraído (IA) que los lenguajes de programación que ya existían. Por eso, naturalmente, también termina bajando la especialización en los lenguajes que se usaban antes. Aun así, así como hasta hace poco a quienes desarrollaban manejando lenguajes más low-level que los actuales se les llamaba “monstruos”, quizá ahora quienes desarrollan con vibecoding pero aun así entienden los principios de los lenguajes tradicionales puedan llegar a ser vistos como personas fuera de lo común.

 
dongho42 11 일 전

“Si no eres nada sin el traje, entonces no deberías tenerlo.” - Tony Stark

 
awbrg789 11 일 전

Parece que incluso de forma intencional habrá que pasar por el proceso de lidiar con algo de incomodidad.

 
calculus9006 10 일 전

Me revienta ver a desarrolladores haciendo vibe coding sin pensar. Si la calidad de tu resultado es un desastre, a ver si lo vas a justificar diciendo que lo escribió la IA. La responsabilidad la tienes tú.

 
runableapp 11 일 전

La IA se siente como usar un taladro eléctrico, una motosierra o una excavadora. Desde que usamos celulares, hay mucha gente que ni siquiera recuerda su propio número de teléfono.

...Esto también podría verse como un deterioro, pero yo lo veo como eficiencia. Desde mi experiencia como desarrollador y en varios otros roles, considero que las herramientas de IA son también una oportunidad y una ayuda para salir del mundo exclusivo de los desarrolladores y tener una perspectiva más amplia. En una parte puede haber deterioro, pero ese espacio se llena con otras cosas.

 
aura01 10 일 전

Yo también coincido con esta opinión.
Al final, lo veo como una herramienta con un trade-off claro.
Me preocupa que, mientras más use IA, mis habilidades de programación puedan disminuir, pero también es cierto que me lleva a pensar en otras cuestiones que antes no abordaba (o no podía abordar).

 
tsboard 11 일 전

Como mínimo, al darle instrucciones a la IA, parece útil no limitarse a soltar unas pocas palabras breves, sino explicar de forma concreta y lo más detalladamente posible mis ideas y el desarrollo lógico de mi razonamiento; y después, antes de que empiece a trabajar, hacer que pregunte obligatoriamente si hay algo más que deba verificarse antes de continuar.

 
runedia 11 일 전

Es un texto que me hace pensar en el término demencia digital.