El 2 de agosto, el ingeniero de software Ankur Sethi lanzó una propuesta contracultural en su blog: al programar con IA, no copies ni pegues el código; escríbelo a mano línea por línea en el editor. Sethi estableció una regla estricta para la IA: solo se le permite mostrar el código en la ventana de chat, sin editar archivos directamente. El artículo alcanzó 363 puntos y más de 300 comentarios en Hacker News, convirtiéndose en el segundo tema más debatido del día.
Figura: El hilo de discusión en Hacker News. Fuente: news.ycombinator.com
La sección de comentarios no tardó en dividirse en dos bandos. “Es un nuevo ritual inventado por personas incapaces de dejar la IA.” “La mejor manera de mantenerse en forma es caminar detrás de un coche.” “Esta idea es absurdamente ridícula.” A pesar de las duras críticas, muchos expresaron su apoyo. Un comentario fue ampliamente citado: “Antes sabíamos que los programadores que pasaban a gestión perdían práctica. Ahora, todos nos hemos convertido en gestores.”
La deuda de comprensión: El dilema de la “deuda cognitiva”
¿Por qué adoptar un enfoque aparentemente tan ineficiente? Sethi tiene más de diez años de experiencia en programación y utiliza asistentes de IA con regularidad. Cuando deja que la IA trabaje libremente, una función puede estar lista en minutos. Sin embargo, comenzó a notar algo alarmante: el código entraba en el repositorio, pero la comprensión no entraba en su cabeza. La funcionalidad estaba en producción, pero él mismo no podía explicar cómo funcionaba en detalle.
Él denomina a esto deuda cognitiva (cognitive debt): la deuda pendiente de una comprensión real. Cuando necesita modificar ese código más adelante, tiene que volver a preguntar a la IA: “¿Qué hace exactamente este fragmento?”. Es similar al estudiante que copia los deberes antes de un examen y descubre que no entiende ni una palabra cuando intenta repasarlos.
Sethi tampoco es ajeno a las prácticas habituales de la industria. El flujo estándar actual consiste en que el bot propone código y el humano lo revisa línea por línea. Pero revisar cientos de líneas de código ultradefensivo, mal comentado y con errores sutiles resulta agotador y desmotivador. En su blog, Sethi señala: en el trabajo empresarial uno puede soportarlo, pero en los proyectos personales no; el disfrute de un proyecto propio proviene del proceso y de cada línea escrita a mano.
Este dilema cuenta con respaldo científico. Un estudio del MIT evaluó a 54 estudiantes universitarios divididos en grupos para escribir ensayos: un grupo usó ChatGPT, otro motores de búsqueda y el tercero trabajó sin ayuda. Las mediciones de EEG mostraron que el grupo de IA presentó la conectividad neuronal más débil. Al pedirles que resumieran lo escrito minutos después, el grupo de IA obtuvo los peores resultados: apenas sentían haber escrito el texto ellos mismos. Cuanto más asumen las herramientas, menos se involucra el cerebro. El estudio advierte que se trata de una señal de alerta considerable.
Figura: Datos de EEG del estudio del MIT (Kosmyna et al.): cuanto más intervienen las herramientas externas, menor es la conectividad cerebral. Fuente: brainonllm.com
La solución de Sethi fue establecer límites claros a la IA. En el archivo de instrucciones de su proyecto escribió: “Quiero entender cada línea de código que entra en este proyecto. Salvo petición explícita, no debes crear, editar, mover ni eliminar ningún archivo. Muestra todas las sugerencias en el chat y yo las introduciré manualmente. Incluso la instalación de dependencias y comandos los ejecutaré yo mismo.” La IA actúa como consultora, no como redactora fantasma.
¿Qué se entrena realmente al reescribir código a mano?
El método suena deliberadamente lento: la IA genera el código en la pantalla de chat, Sethi lo escribe línea por línea en el editor y, cuando encuentra algo que no comprende, se detiene a consultar la documentación o pide explicaciones a la IA. Afirma que su velocidad pasó de “10x” a “2x”, pero a cambio garantiza que cada línea pasa por sus manos y sus ojos.
Detrás de esto hay un principio clásico de aprendizaje. Quienes aprendieron a programar en los años 80 y 90 recuerdan bien que el código de libros y revistas no se podía copiar: había que escribirlo a mano, ejecutarlo y modificarlo. La entrada manual fuerza a frenar el ritmo: mientras los dedos teclean, los ojos leen y el cerebro procesa qué hace esa línea específica.
La memoria muscular al teclear graba la estructura del código en los dedos; la próxima vez que se desarrolla una función similar, las manos recuerdan el patrón antes que la mente.
Además, teclear sirve como una revisión de código activa. Sethi señala que le resulta mucho más fácil identificar alucinaciones de la IA y malos diseños mientras escribe: las manos se mueven y la mente se activa, por lo que los fallos no pasan desapercibidos. Al terminar, se genera un “mapa de código” mental: se sabe exactamente dónde está cada módulo y qué cambiar si es necesario. Esto también mejora las instrucciones futuras para la IA. En los comentarios, se recordó cómo el escritor Hunter S. Thompson reescribió a máquina las novelas de Hemingway en su juventud solo para captar el ritmo del maestro. Reescribir código sigue la misma lógica.
Los argumentos en contra: ¿Memoria o intuición?
La objeción más fuerte provino del usuario f311a, quien argumentó que reescribir código es como copiar respuestas de cálculo: entrena la memoria pero no la intuición. Quien copia sabe escribir los pasos, pero ignora por qué se eligió esa solución o qué alternativas existían. Su propuesta es la opuesta: escribir uno mismo primero y usar la IA después para optimizar.
Esta postura encontró bastantes defensores. Algunos señalaron con ironía que, bajo esa lógica, los programadores deberían reescribir a mano el código ensamblador generado por el compilador. Otros indicaron que “la velocidad de tecleo rara vez es el cuello de botella” y que reescribir malgasta tiempo en tareas de poco valor. También se advirtió sobre el riesgo de ser etiquetado como “lento” por los compañeros de trabajo. Por el contrario, los defensores citaron investigaciones cognitivas que demuestran que el consumo pasivo de código “sintácticamente correcto pero semánticamente vacío” deteriora el aprendizaje: leer no equivale a comprender.
| A favor de reescribir | En contra de reescribir |
|---|---|
| Copiar la tarea = no aprender; reescribir = comprensión real | Copiar soluciones ejercita la memoria, no la intuición |
| Reducir la velocidad ayuda a detectar alucinaciones de la IA | El cuello de botella rara vez es teclear; es una pérdida de tiempo |
| Memoria muscular + mapa de código facilitan cambios futuros | Escribir uno mismo primero y optimizar con IA es más eficiente |
| Regla clásica: la programación se aprende escribiendo a mano | Las herramientas deben liberar al humano para tareas más valiosas |
La controversia refleja dos caras de una misma pregunta: tras delegar en la IA, ¿tus habilidades aumentan o se deterioran? Los partidarios temen el deterioro, mientras que los opositores consideran que reescribir a mano es un método ineficiente para evitarlo.
Un desafío universal más allá de la programación
Aunque el debate surgió entre desarrolladores, plantea un dilema común a todos los profesionales en la era de la IA. Si la IA redacta tus informes anuales, ¿seguirás sabiendo redactar? Si la IA diseña tus presentaciones y hojas de cálculo, ¿cuánta capacidad de análisis y expresión te queda? “Dejar de progresar porque la IA lo resuelve todo” es un desafío global; los programadores simplemente han sido los primeros en chocar contra esa realidad.
Quienes no programan pueden aplicar tres ideas clave de este debate: Primero, pedir a la IA un borrador y reescribirlo manualmente con palabras propias; el proceso de edición es el proceso de comprensión. Segundo, solicitar a la IA la estructura general y completar los detalles a mano. Tercero, poner en práctica una recomendación muy votada en los comentarios: tras terminar un trabajo con IA, pedirle a la propia IA que te haga preguntas sobre el resultado. Lo que no sepas responder marcará la deuda cognitiva pendiente.
Determinar si reescribir a mano es la solución óptima sigue sin consenso tras más de 300 comentarios. El propio Sethi admite que la medida parece “casi cómicamente ineficiente”. Sin embargo, el debate deja una pregunta fundamental: Cuando tus herramientas te hacen 10 veces más rápido, ¿qué estás dispuesto a entregar a cambio de mantener la comprensión? Esa pregunta no la responderá ninguna IA. Correr rápido está bien, pero no debemos olvidar cómo caminar por nosotros mismos.
Referencias:
- Ankur Sethi: Prevent cognitive debt by manually retyping LLM-generated code
- HN Discusión (item?id=49153374)