A quién le sirve. Equipos de desarrollo que quieren pasar parte de un programa a otro lenguaje sin parar el producto, en un caso de gran escala y de programadores cuyo método de pasos pequeños vale para proyectos menores.
Qué hicieron
Un desarrollador, Stephen Toub, usó la aplicación y la línea de comandos de Copilot para trasladar el motor de ejecución sobre la marcha, un componente por propuesta de cambios. Cada propuesta sustituía TypeScript por una capa fina que llamaba a Rust y mantenía en marcha las pruebas completas existentes. Las sesiones principales lanzaban sesiones hijas, cada una en su propia copia de trabajo, además de subagentes. Él comprobaba los resultados, cuestionaba decisiones y hacía cumplir los controles de calidad.
Cómo salió
El motor pasó a ser 100 % Rust, unas 832.000 líneas de producción, repartidas en 128 propuestas durante unas 14,5 semanas. Unas pocas regresiones (fallos que reaparecen) se corrigieron rápido, y la publicación dice que el rendimiento mejoró en órdenes de magnitud.
Conviene saber
Quince agentes compilando a la vez bloquearon su portátil. Lo arregló dejando compilar solo al agente principal y, después, haciendo que una sesión de chat repartiera el permiso de compilar a una sesión cada vez.
Qué necesitas
- GitHub Copilot (aplicación y línea de comandos) con un plan que incluya agentes
- Un conjunto completo de pruebas que se pueda lanzar tras cada cambio
- El código de origen y alguien que conozca el lenguaje de destino
- Un ordenador con potencia suficiente si vas a lanzar varios agentes a la vez
- Una persona que revise cada propuesta de cambios
Cómo hacerlo tú, paso a paso
- Define el componente que quieres migrar y por qué. Empieza por uno solo.
- Comprueba que tienes pruebas completas y que pasan antes de tocar nada.
- Pega el prompt de la ficha: que escriba un plan que divida el trabajo en propuestas pequeñas y revisables, y que te lo enseñe antes de empezar.
- Avanza de una en una. Cada propuesta sustituye parte del código antiguo por una capa fina que llama al código nuevo, y debe pasar las pruebas existentes.
- Pide que anote las diferencias de comportamiento que encuentre.
- Revisa cada propuesta, cuestiona las decisiones y exige los controles de calidad antes de aceptarla.
- Si lanzas varios agentes a la vez, limita quién puede compilar al mismo tiempo.
Quiero migrar [módulo o componente] de [propietario/repositorio] de [lenguaje actual] a [lenguaje de destino]. Primero escribe un plan que divida el trabajo en propuestas de cambios pequeñas que se puedan revisar por separado y enséñamelo antes de empezar. Después avanza de una en una, haciendo que cada propuesta pase las pruebas existentes, y enumera las diferencias de comportamiento que encuentres. Habrás terminado cuando todas las propuestas del plan estén listas para revisión.
Consejos
- Quince agentes compilando a la vez bloquearon el portátil del autor. Deja compilar a un agente cada vez.
- Migra por componentes, con propuestas pequeñas que se puedan revisar y deshacer por separado.
- Las pruebas existentes son tu red de seguridad. Si no las tienes, escríbelas antes de migrar.
Preguntas frecuentes
¿Se puede hacer sin parar el producto?
Sí, ese es el enfoque: cada propuesta sustituye un componente por una capa fina que llama al código nuevo y mantiene las pruebas en marcha.
¿Tiene sentido en un proyecto pequeño?
El método sí, con un solo agente y pocas propuestas. No hace falta lanzar sesiones en paralelo.
¿Qué riesgos hay?
Las regresiones, es decir, fallos que reaparecen. En el caso aparecieron pocas y se corrigieron rápido gracias a las pruebas y a la revisión; sin ellas, el riesgo sube.
Fuentes
En el directorio desde el 13 de octubre de 2026.