Migración de código con IA: GitHub reescribe 800.000 líneas de Copilot en Rust en 14,5 semanas
Migración de código con IA: GitHub reescribió 800.000 líneas de Copilot en Rust en 14,5 semanas y bajó el arranque de 5,25 s a 292 ms. Lecciones clave.

Un proyecto que antes exigía a un equipo completo entre uno y dos años lo terminó, básicamente, un solo desarrollador en pocos meses. GitHub acaba de reescribir el runtime que mueve Copilot CLI, la app de Copilot y el Copilot SDK: pasó de TypeScript y Node.js a más de 800.000 líneas de Rust en producción. La migración de código con IA tardó unas 14,5 semanas y se entregó en 128 pull requests, sin detener los lanzamientos del producto.
Los resultados explican el esfuerzo. Según GitHub, un escenario medido de arranque de cliente, creación de sesión y un turno de conversación bajó de 5,25 segundos a 292 milisegundos con el runtime de Rust embebido en el proceso. Cuando se mide solo el ciclo de vida de cliente y sesión, el análisis de Rustify sobre los benchmarks de GitHub lo sitúa en 55,3 ms. El rendimiento pasó de 7,55 a 120 ciclos por segundo, y el consumo de memoria con diez clientes cayó de 1.383 MB a 126 MB. La arquitectura anterior necesitaba Node.js y V8 y se comunicaba con las aplicaciones a través de un límite de proceso, lo que sumaba unos 100 MB por cliente. Ahora el runtime se integra mediante una interfaz C ABI, y el modo fuera de proceso sigue disponible.
Cómo se hizo la reescritura de software con IA sin un «big bang»
La decisión clave no fue elegir Rust, sino cómo migrar. GitHub descartó la reescritura paralela con un cambio final y reemplazó los componentes de TypeScript uno a uno. Una capa temporal de interoperabilidad N-API mantuvo conectados ambos mundos. Así, las pruebas end-to-end existentes ejercitaban el código nuevo mientras el resto seguía en TypeScript. Esa capa llegó a 2.019 exports internos y 3.356 puntos de llamada antes de eliminarse.
El ritmo fue intenso: 135 releases durante la migración (35 estables y 100 preliminares). A fecha de 21 de agosto, el runtime sumaba 832.378 líneas de Rust de producción y 468.689 de pruebas unitarias. Los agentes de IA generaron la mayor parte del código, pero la compilación, los tests y la revisión humana atraparon regresiones de comportamiento, manejo de estado y tiempos de vida, semántica de librerías y optimizaciones perdidas. Hubo 4.478 ejecuciones directas de `cargo check`, y el 87,1 % terminó limpio.
El contexto importa. Este runtime ya no es una herramienta de terminal: es infraestructura compartida que respalda VS Code, Visual Studio, Copilot Code Review, Copilot Studio y productos de Microsoft 365. Cuando una pieza sirve a tantos productos, el arranque lento y el consumo de memoria dejan de ser un detalle y pasan a ser un problema de costos y densidad de servidores.
Lo que no dicen los titulares: ojo con los benchmarks
Conviene leer la letra pequeña. Rustify advierte que son mediciones de GitHub sobre una carga de trabajo concreta, no prueba de que toda aplicación TypeScript deba pasarse a Rust. Además, la arquitectura cambió junto con el lenguaje: se pasó de JSON-RPC entre procesos a un runtime embebido. Parte de la mejora viene de eliminar el proceso intermedio, no solo de Rust.
La comunidad de InfoQ apuntó al mismo punto. Un lector resumió que lo interesante no es que Copilot escribiera Rust, sino si la migración mantuvo estable el comportamiento en los bordes: cancelaciones, reintentos y backpressure exigen validación más allá de la compilación. Otro especialista señaló el reto de descubrir «contratos de comportamiento no documentados» en sistemas heredados.
Cómo aplicar la migración de código con IA en tu empresa
Si lideras tecnología, la lección no es «reescribe todo en Rust». Es cómo ejecutar con rigor una migración de código con IA:
El caso se suma a otros comparables. En Akka, que portó 65 proyectos con agentes en menos de 100 horas, el patrón es similar: la IA acelera la ejecución, pero el proceso define el resultado. Y conviene no olvidar la advertencia sobre el código generado con IA que necesita refactorización en pocos meses: la velocidad inicial no garantiza calidad sostenida. Para estructurar la supervisión, puedes inspirarte en modelos de desarrollo con IA supervisada como el de Thoughtworks.
El verdadero cambio: reescribir ya no es un lujo
GitHub lo resume con una frase: una reescritura de este tamaño no era asequible antes de los agentes. Eso cambia el cálculo económico de la deuda técnica. Sistemas heredados que se aplazaban por años porque el costo era prohibitivo pueden volver a la mesa, siempre que exista una base de pruebas sólida y una estrategia incremental.
La pregunta para tu próximo comité de arquitectura ya no es si puedes permitirte reescribir, sino qué componente medible te frena hoy y si tu organización tiene las pruebas y el criterio humano para verificar lo que los agentes produzcan. Quien lo responda primero tendrá una ventaja real en su próxima migración de código con IA.
Preguntas frecuentes
¿Cuánto tiempo tardó GitHub en migrar Copilot a Rust con IA?
La migración del runtime de Copilot de TypeScript a Rust tomó unas 14,5 semanas. Se entregó en 128 pull requests y 135 releases (35 estables y 100 preliminares), sin detener el producto. GitHub afirma que un proyecto así habría requerido a un equipo entre uno y dos años antes de los agentes.
¿Qué resultados obtuvo GitHub con la reescritura en Rust?
En un escenario de arranque de cliente, sesión y un turno, el tiempo bajó de 5,25 segundos a 292 ms. En el ciclo de vida de cliente y sesión, Rustify reporta 55,3 ms, y la memoria con diez clientes cayó de 1.383 MB a 126 MB. Son mediciones de una carga concreta.
¿Debe mi empresa reescribir su software en Rust con IA?
No necesariamente. La mejora de GitHub combinó el cambio de lenguaje con una nueva arquitectura embebida, y los benchmarks corresponden a una sola carga de trabajo. Antes de una migración de código con IA, mide un cuello de botella real, cuenta con pruebas sólidas y migra de forma incremental con revisión humana.
Fuentes
- Github Migrates Copilot Runtime to Rust with AI-Assisted Rewrite
- Migrating the GitHub Copilot runtime to Rust, using Copilot
- Why GitHub Rewrote the Copilot Runtime in Rust | Rustify
- How GitHub Rewrote the Copilot Runtime in Rust — Using Copilot Itself
- What GitHub Learned Rewriting 800,000 Lines of Copilot in Rust
- Github Migrates Copilot Runtime to Rust with AI-Assisted Rewrite