Saltar al contenido principal

Semanas de trabajo en 20 minutos: el creador de Redis afirma que la era del código escrito a mano ha terminado

Semanas de trabajo en 20 minutos: el creador de Redis afirma que la era del código escrito a mano ha terminado

El autor de este artículo, antirez, es el creador del famoso sistema de base de datos en memoria Redis. Su software sostiene las operaciones de decenas de millones de empresas en todo el mundo. antirez fue en su día un escéptico de la IA; incluso escribió una novela para expresar sus temores sobre la automatización por IA reemplazando a los seres humanos. Pero su experiencia reciente ha demostrado que la realidad de la programación ha cambiado para siempre. En las pruebas de antirez, Claude Code demostró una eficiencia histórica. Es capaz de escribir 700 líneas de código C riguroso y de alto rendimiento en 5 minutos. Puede iterar de forma autónoma para reproducir y corregir deadlocks y bugs de temporización extremadamente complejos en Redis. Incluso una reestructuración interna compleja de Redis Streams llevó solo 20 minutos. antirez cree que los programadores actuales deberían dejar de obsesionarse con teclear código línea a línea, porque en la mayoría de los casos ya no es la opción racional. Sugiere que todos aprendan a convertirse en excelentes colaboradores de la IA, canalizando su energía en definir problemas y diseñar soluciones. Anima a cada desarrollador a empezar a aprender y a usar a fondo Claude Code. En palabras del propio antirez: no pierdas la oportunidad de dar forma al futuro negándote a aceptar la realidad. Dedica unas semanas a probar estas nuevas herramientas y encuentra la manera de multiplicar tu productividad. La alegría más pura de la programación es construir, y la IA te permitirá construir más, construir mejor y construir con mayor satisfacción.

Me encanta escribir software, una línea cada vez. Se podría decir que toda mi carrera ha sido una búsqueda de código limpio, elegante y con buen gusto. Sinceramente, no quería que la IA ganase económicamente. No me importa si el actual sistema económico acaba trastocado por la IA; si conduce a una redistribución masiva de la riqueza, incluso me alegraría. Pero fingir deliberadamente que la realidad no existe debido a mis opiniones sobre el software y la sociedad sería una traición a mi propia razón. Los hechos son los hechos. La IA está cambiando, y cambiará para siempre, la programación informática.

En 2020 dejé mi trabajo para escribir una novela. Trataba sobre la IA, la renta básica universal y una sociedad que se adapta a la automatización del trabajo en medio de diversos desafíos. A finales de 2024 abrí un canal dedicado a hablar de la IA, de cómo se utiliza en tareas de programación y de los posibles impactos que puede conllevar. Aunque reconocí desde el principio que estos cambios se producirían, siempre supuse que todavía nos quedaban unos cuantos años antes de que la programación se remodelara de verdad. Ya no creo eso. Hoy en día, con los modelos de lenguaje grandes más avanzados, puedes dar un conjunto claro de objetivos y hacer que el modelo complete grandes subtareas —incluso proyectos medianos— casi por completo solo, con una asistencia humana mínima. Lo bien que funciona depende del tipo de programación que hagas (cuanto más autónoma y descriptible en texto sea la tarea, mejor; la programación de sistemas encaja perfectamente) y de tu capacidad para pensar el problema con claridad y comunicárselo al modelo con precisión. Pero en términos generales, hoy está claro: salvo que se haga puramente por diversión, escribir código a mano en la mayoría de los proyectos ya no es la opción más racional.

Durante la semana pasada me he dedicado sobre todo a escribir prompts y, de vez en cuando, a revisar código y orientar. En solo unas horas he completado las siguientes cuatro cosas, un trabajo que antes me habría llevado semanas.

Modifiqué mi librería linenoise para que soportara UTF-8. También construí un framework de pruebas de edición de líneas con un terminal simulado que informa del contenido de cada celda de caracteres. Era algo que siempre había querido hacer. Pero era difícil justificar invertir tanto esfuerzo en un subproyecto tan pequeño solo para hacer pruebas. Ahora basta con describir lo que quieres y se convierte en código. La situación es completamente distinta.

Arreglé fallos intermitentes en la suite de pruebas de Redis. Este tipo de trabajo es extremadamente tedioso: implica coordinación de temporización, deadlocks de TCP y problemas similares. Claude Code iteró de forma continua, dedicando el tiempo necesario a reproducir el problema, inspeccionar el estado de cada proceso, averiguar qué estaba ocurriendo y, finalmente, corregir el bug.

Ayer necesitaba una librería en C puro capaz de ejecutar inferencia con modelos de embedding estilo BERT. Claude Code la escribió en 5 minutos. La eficiencia de inferencia de la librería es más o menos comparable a la de PyTorch, solo unos puntos porcentuales más lenta (en torno a un 15%). Toda la librería son apenas 700 líneas de código C. Incluso generó una utilidad en Python para convertir el modelo GTE-small.

Durante las últimas semanas he estado modificando los interioridades de Redis Streams. Escribí un documento de diseño para este trabajo. Se lo pasé a Claude Code y, básicamente, rehizo todo mi trabajo en unos 20 minutos. Lo que más tiempo llevó fue mi propia revisión y confirmación de los comandos.

Lo que está ocurriendo ahora es imposible de ignorar. En la mayoría de los casos, los seres humanos ya no necesitan escribir código ellos mismos. La parte más interesante ahora es averiguar qué hacer y cómo hacerlo. En el terreno del "cómo hacerlo", los grandes modelos son excelentes colaboradores. Que las empresas de IA logren recuperar su inversión o que la bolsa se hunda no importa a largo plazo. Tampoco importa las barbaridades o absurdos que diga el CEO de alguna empresa unicornio. Pase lo que pase, la programación ha cambiado para siempre.

Para mí, el hecho de que el código que he escrito se haya usado para entrenar grandes modelos es algo maravilloso. Lo veo como la continuación de una búsqueda de toda la vida: democratizar el código, los sistemas y el conocimiento. Los modelos de lenguaje grandes nos ayudarán a escribir software mejor y más rápido. También darán a los equipos pequeños la capacidad de competir con las grandes corporaciones. Igual que hizo el software open source en los años noventa.

Como programador, ahora más que nunca quiero escribir open source. Quiero retomar algunos repositorios que había aparcado por falta de tiempo y mejorarlos. Quiero apostar de lleno por la IA dentro de mi propio flujo de trabajo con Redis. Primero mejorando la implementación de Vector Sets, luego pasando a otras estructuras de datos, igual que estoy haciendo ahora con Streams.

Pero me preocupa quienes van a perder su empleo. Todavía no está claro qué cambios exactos se desencadenarán. Puede que las empresas quieran que más gente haga más cosas. O puede que ocurra lo contrario: menos programadores, pero más competentes con la IA, para reducir los costes salariales. También me preocupa que, en muchos otros sectores, los seres humanos puedan volverse casi totalmente reemplazables.

En cuanto a cómo programar. Solo tengo un consejo para ti, amigo mío. Aquello en lo que creas que es "lo correcto" no puede influirse negando la realidad. Decidir no usar la IA no te hace ningún favor ni a ti ni a tu carrera. Piénsalo con detenimiento. Prueba estas nuevas herramientas en serio. Dedícale unas semanas, no cinco minutos a la ligera solo para confirmar lo que ya crees. Busca la forma de multiplicarte. Si al principio no encuentras el enfoque adecuado, vuelve a intentarlo dentro de unos meses.

Puede que pienses en lo mucho que te costó aprender a programar y que ahora las máquinas escriben el código por ti. Pero el fuego que te mantenía despierto hasta altas horas de la madrugada, solo para ver tu proyecto cobra vida, era la alegría de crear. Si encuentras la forma adecuada de usar la IA con eficacia, crearás más y crearás mejor. La alegría sigue ahí, totalmente intacta.