Del código escrito a mano al software gestionado por IA: DHH reescribe una biblioteca de Python con Claude

Hace un año, David Heinemeier Hansson (DHH), el creador de Rails, era uno de los desarrolladores más firmes defensores del placer de escribir código a mano. Hoy, su postura es muy diferente.

发布于 2026年8月17日generalGEO 评分: 09 次阅读
Del código escrito a mano al software gestionado por IA: DHH reescribe una biblioteca de Python con Claude

Del código escrito a mano al software gestionado por IA: DHH reescribe una biblioteca de Python con Claude

Introducción

Hace un año, David Heinemeier Hansson (DHH), creador de Rails, era uno de los desarrolladores más conocidos que defendían la diversión de escribir código a mano.

Hoy, su postura es muy diferente.

Tras pasar más tiempo con Claude Code y Codex, DHH utilizó recientemente Claude Fable 5 para reescribir en Rust la biblioteca de Python TerminalTextEffects. Según el artículo de origen, el proyecto consumió aproximadamente 11 millones de tokens, y se completó principalmente mediante flujos de trabajo de agentes no supervisados.

Los resultados son notables: el tiempo de arranque pasó de 87 milisegundos a 2 milisegundos, y la velocidad de renderizado mejoró aproximadamente 9,6 veces.

Este experimento también planteó una pregunta más amplia. Si un programador experimentado puede delegar una tarea de reescritura a gran escala a agentes de IA y obtener resultados utilizables con casi ninguna intervención directa, ¿qué tendrán que hacer realmente los programadores dentro de cinco años?

¿Entregar el teclado a la IA y luego jubilarse?

El contraste con la postura de DHH del año pasado es evidente.

En mayo de 2025, publicó "¡Programar debería ser una sensación!", defendiendo que la IA debería parecerse más a un programador en pareja: adecuada para consultar APIs, responder preguntas y ayudar a resolver problemas específicos, pero no para reemplazar el acto mismo de escribir código.

El artículo de origen cita una postura aún más contundente: si los desarrolladores finalmente tuvieran que entregar el teclado por completo a la IA, DHH afirmó que preferiría jubilarse.

En una conversación de seis horas con Lex Fridman, DHH también describió la sensación de perder la "memoria muscular" cuando la IA generaba código repetidamente por él.

Uno de los ejemplos involucraba la construcción de una distribución de Linux. Hizo que la IA generara la misma sentencia condicional de Bash varias veces, pero descubrió que, al no haberla escrito manualmente, sentía que no la había aprendido realmente.

Esto le planteó una pregunta más profunda: ¿la programación asistida por IA está socavando gradualmente la forma en que los desarrolladores aprenden ingeniería de software?

Pero según el artículo de origen, para abril de 2026, su postura ya se había orientado hacia flujos de trabajo centrados en agentes.

Hoy reflexiona públicamente: ¿cómo será el desarrollo de software cuando el teclado ya no sea la interfaz principal?

Claude Fable 5 desmonta una biblioteca de Python y la reconstruye en Rust

El proyecto elegido por DHH fue TerminalTextEffects (TTE), un motor de efectos visuales para terminal que puede utilizarse tanto como aplicación de línea de comandos como biblioteca de Python.

TTE ofrece movimiento de texto, colores, degradados, animaciones y otros efectos visuales para terminal. Su repositorio público lo describe como un motor de efectos visuales para terminal y documenta tanto su uso como CLI como su uso como biblioteca de Python.

El artículo de origen afirma que DHH pidió a Claude que reescribiera el proyecto en Rust.

El proyecto de Rust resultante se llama ttfx y está alojado bajo la organización Omarchy de DHH. Según el artículo, la nueva versión puede ejecutar 37 efectos, empaquetados en un ejecutable de aproximadamente 3 MB, sin necesidad de runtime de Python.

La ejecución duró aproximadamente 3 horas y 11 minutos.

La implementación en Rust contiene aproximadamente 21,000 líneas de código principal, una escala cercana a la versión original en Python.

El flujo de trabajo también es muy diferente del tradicional "autocompletado con IA".

El artículo de origen menciona que ocho agentes trabajaron en paralelo en ramas independientes. Cada uno leía código, generaba la implementación, compilaba el resultado, ejecutaba las pruebas, corregía los fallos y pasaba a la siguiente ronda.

En este sentido, la descripción de "hecho en una sola pasada" no significa que la IA produjera todo con una única generación. Más bien, significa que DHH delegó la tarea y dejó que los agentes asumieran por sí mismos el ciclo de desarrollo.

A Codex se le asignó la misma tarea

DHH repitió el experimento con Codex.

Según el artículo de origen, una sola instrucción fue suficiente para producir otro resultado sólido. Sin embargo, se informa que la versión de Codex tardó aproximadamente un 30% más y costó alrededor de 43 dólares, aproximadamente 290 yuanes.

Esta comparación es valiosa porque aleja la atención de la idea simplista de que "la IA que programa es o mágica o terrible".

Se puede asignar la misma tarea amplia a dos agentes de programación diferentes y que ambos produzcan resultados utilizables, con diferencias en velocidad, costo y comportamiento del flujo de trabajo.

El equipo de Anthropic también prestó atención a este experimento.

Según se informa, Boris Cherny, creador de Claude Code, respondió públicamente a los resultados, y el investigador de Anthropic Thariq preguntó a DHH cuánta planificación o diseño de flujo de trabajo había invertido en la reescritura.

La respuesta de DHH puede ser la parte más sorprendente.

Dijo que básicamente dejó que Claude elaborara el plan y luego se desentendió.

Sin flujos de trabajo preconstruidos meticulosamente, sin largas listas de hitos definidos manualmente, sin intervención continua para dirigir.

El enfoque fue adoptar deliberadamente una actitud de no intervención.

Hecho en una sola pasada no significa a ciegas

Aquí hay una distinción importante.

Una tarea de codificación totalmente autónoma sigue dependiendo de que el agente tenga suficiente información para juzgar cuáles son los criterios de éxito.

El artículo de origen afirma que DHH primero pidió a Claude que elaborara un plan y luego dejó que los agentes ejecutaran, probaran e iteraran por sí mismos.

Esto se acerca más a delegar un proyecto de ingeniería de software que a pedir a un sistema de autocompletado que genere las siguientes diez líneas de código.

Este estilo de desarrollo basado en agentes depende en gran medida de:

  • Repositorios de código con una estructura comprensible.
  • Suites de pruebas automatizadas sólidas.
  • Comandos claros de compilación y ejecución.
  • Capacidad para crear ramas y fusionar cambios.
  • Agentes capaces de examinar fallos y reintentar.

Sin estos cimientos, la automatización "en una sola pasada" se vuelve mucho menos fiable.

La demostración más grande: la migración de un millón de líneas de Bun

TerminalTextEffects sigue siendo un proyecto relativamente pequeño.

Por ello, el artículo de origen apunta a un caso más grande: Bun, el runtime de JavaScript creado por Jarred Sumner.

Bun se ha construido históricamente en torno a Zig. En 2026, su base de código experimentó una migración significativa a Rust, con un uso extensivo de agentes de codificación con IA.

El artículo de origen describe este trabajo como una migración de aproximadamente un millón de líneas, completada en menos de dos semanas.

Registros públicos posteriores confirman que la reescritura de Bun en Rust se fusionó en su repositorio principal. La solicitud de extracción en GitHub sobre la reescritura se fusionó el 14 de mayo de 2026, y esta migración reemplazó la ruta de compilación anterior basada en Zig por una arquitectura prioritaria en Rust.

La migración es más matizada que un simple "la IA reescribió Bun".

La narrativa pública de Jarred Sumner, resumida por Simon Willison, describe un flujo de trabajo complejo de agente, con descomposición dinámica de tareas, ejecuciones de prueba, revisiones adversariales y verificación reiterada.

Esta es una distinción significativa.

Las migraciones de software asistidas por IA a gran escala siguen requiriendo una cantidad considerable de arquitectura de ingeniería. La diferencia es que, una vez que los sistemas circundantes están suficientemente bien diseñados, gran parte del trabajo de implementación ahora puede delegarse en agentes.

El costo marginal del código tiende a cero

El artículo de origen extrae una conclusión más amplia de estos ejemplos.

A medida que las capacidades de los agentes de codificación mejoran, el costo marginal de generar otra implementación sigue disminuyendo.

Generar código es cada vez más barato.

Probar, refactorizar, portar entre lenguajes e iterar sobre defectos puede realizarse cada vez más en paralelo mediante agentes.

Esto cambia la estructura de costos del desarrollo de software.

La pregunta ya no es simplemente:

¿Cuántos desarrolladores podemos contratar para escribir este código?

Cada vez más se convierte en:

¿Cuántas tareas útiles de software puede delegar un desarrollador a un conjunto de agentes de IA?

Esta es la transición de la programación asistida por IA hacia el desarrollo de software gestionado por IA.

La próxima generación de programadores podría parecerse más a domadores de dragones

El miedo evidente es que, si hay menos personas escribiendo o leyendo código directamente, los programadores desaparecerán.

El artículo de origen sostiene que esta conclusión es demasiado simplista.

"Que nadie escriba código a mano" no significa "que no haya programadores".

La naturaleza del trabajo puede transformarse.

En lugar de pasar la mayor parte del día implementando funcionalidades línea por línea, los desarrolladores podrían dedicar más tiempo a:

  1. Definir qué es lo que debe construirse.
  2. Establecer restricciones e interfaces.
  3. Diseñar los sistemas de pruebas.
  4. Revisar la arquitectura y las compensaciones.
  5. Verificar que el código generado por IA sea realmente correcto.
  6. Decidir qué debería automatizarse y qué no.

En este modelo, la habilidad escasa ya no es teclear sintaxis.

Es saber qué merece la pena construir y qué significa realmente un comportamiento correcto.

Cuando la IA escribe código, ¿qué adquiere valor?

Si la implementación se vuelve cada vez más barata, otras habilidades adquieren más valor.

Juicio de producto

Sigue siendo necesario que alguien decida qué problemas merece la pena resolver.

IA

Puede generar rápidamente diez implementaciones, pero eso no le dice qué problema tiene valor comercial, qué compensaciones son críticas o qué función debería construirse primero.

Diseño de sistemas

Los agentes pueden escribir funciones y clases, pero los sistemas más grandes aún requieren límites, interfaces, modelos de datos, reglas de implementación y requisitos de confiabilidad.

Pruebas

Cuanto más código pueda generar la IA, más importantes son las pruebas automatizadas.

Sin una capa de validación sólida, aumentar la velocidad de codificación solo incrementa la cantidad de código que podría contener errores.

Dirección técnica

Alguien debe decirle al agente qué restricciones debe seguir.

Esto incluye presupuestos de rendimiento, requisitos de compatibilidad, límites de seguridad, dependencias y objetivos de mantenimiento a largo plazo.

En otras palabras, el papel humano se desplaza hacia niveles más altos de abstracción.

En el futuro, quizás menos sobre codificar y más

sobre guiar

Los ejemplos del artículo original apuntan a una definición alternativa de programación.

Los desarrolladores aún pueden necesitar comprender profundamente el código, pero el producto principal ya no es necesariamente el archivo fuente en sí.

El producto es el sistema de requisitos, restricciones, pruebas y juicio que permite que surja el software correcto.

Por eso, incluso si la codificación manual se vuelve menos central, los ingenieros experimentados pueden seguir siendo valiosos.

Aquellos que comprenden la arquitectura, los modos de fallo, las necesidades del usuario y el comportamiento del sistema estarán mejor preparados para dirigir agentes de codificación autónomos.

Preguntas frecuentes

¿DHH realmente reescribió una biblioteca de Python con IA?

Según el artículo original, sí. David Heinemeier Hansson, fundador de Rails, utilizó Claude Fable 5, mediante un flujo de trabajo multiagente muy autónomo, para reescribir TerminalTextEffects de Python a Rust.

¿Qué es TerminalTextEffects?

TerminalTextEffects (TTE) es un motor de efectos visuales para terminal que también funciona como biblioteca de Python. Su documentación pública describe efectos para movimiento de texto, colores, degradados, animaciones y otros tratamientos visuales en terminal.

¿En qué se diferencia la reescritura en Rust de la codificación normal con IA?

El artículo original describe múltiples agentes trabajando en ramas independientes, compilando código, ejecutando pruebas, corrigiendo fallos y fusionando resultados. La diferencia clave es que la IA manejó la mayor parte del ciclo de desarrollo, no solo sugiriendo líneas de código sueltas.

¿Codex también completó la reescritura?

El artículo original afirma que DHH le dio a Codex la misma tarea amplia y también obtuvo un resultado excelente. Supuestamente tardó alrededor de un 30% más y costó aproximadamente 43 dólares.

¿Bun también se reescribió con agentes de IA?

Sí. La reescritura a gran escala de Bun de Zig a Rust se completó con la asistencia de numerosos agentes de IA, y el código resultante, priorizando Rust, se fusionó en el repositorio principal en mayo de 2026.

Si la IA escribe la mayor parte del código, ¿desaparecerán los programadores?

No necesariamente. El cambio probable es que los programadores dediquen menos tiempo a escribir detalles de implementación y más tiempo a definir requisitos, restricciones, arquitectura, pruebas y criterios de aceptación.

¿Qué habilidades son más importantes en un flujo de trabajo de codificación con IA?

El diseño sólido de sistemas, las pruebas, la depuración, el juicio de producto y la capacidad de definir restricciones claras se vuelven especialmente importantes. Saber cómo revisar y validar el código generado por IA también es crucial.

Herramientas relacionadas

  • Claude Code: el entorno de codificación agéntico de Anthropic para trabajo de desarrollo de software a nivel de repositorio.
  • OpenAI Codex: el agente de codificación de OpenAI para tareas de desarrollo de software en múltiples pasos.
  • TerminalTextEffects: el proyecto de efectos de terminal en Python discutido en el artículo original.
  • Bun: un runtime de JavaScript que completó una importante reescritura de Zig a Rust en 2026.
  • Rust: el lenguaje de programación de sistemas utilizado para reescribir las implementaciones de TTE y Bun.

Enlaces relacionados

Resumen

El experimento de TerminalTextEffects de DHH es un ejemplo útil de cómo los agentes de programación con IA pueden cambiar la unidad de trabajo de software. En lugar de pedirle a la IA que escriba una función a la vez, los desarrolladores delegan cada vez más tareas completas de refactorización y migración a equipos de agentes.

La reescritura de Bun apunta en la misma dirección a mayor escala: cuando el repositorio, las pruebas, las herramientas y los flujos de trabajo son lo suficientemente sólidos, la IA ahora puede participar en trabajos de ingeniería de software amplios y de múltiples pasos.

El mayor cambio puede no ser que la IA escriba más código, sino que el trabajo del programador pase de escribir código a definir qué debería lograr el código y demostrar que efectivamente lo logra.