# Reescribir un programa de TypeScript a Rust con agentes de Copilot

> Ingenieros de GitHub usaron agentes de Copilot para reescribir en Rust, en 128 propuestas, unas 800.000 líneas del motor de Copilot.

- **Tipo:** Caso de uso
- **Tema:** Programación
- **Herramientas:** GitHub Copilot
- **Dificultad:** avanzada
- **Origen:** [github.blog](https://github.blog/ai-and-ml/generative-ai/migrating-the-github-copilot-runtime-to-rust-using-copilot/)
- **En el directorio desde:** 13 de octubre de 2026
- **URL:** https://conqueia.com/caso/reescribir-un-programa-de-typescript-a-rust-con-agentes-de-copilot

## 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

1. Define el componente que quieres migrar y por qué. Empieza por uno solo.
2. Comprueba que tienes pruebas completas y que pasan antes de tocar nada.
3. 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.
4. 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.
5. Pide que anote las diferencias de comportamiento que encuentre.
6. Revisa cada propuesta, cuestiona las decisiones y exige los controles de calidad antes de aceptarla.
7. Si lanzas varios agentes a la vez, limita quién puede compilar al mismo tiempo.

## Pruébalo con GitHub Copilot

```
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

- [github.blog](https://github.blog/ai-and-ml/generative-ai/migrating-the-github-copilot-runtime-to-rust-using-copilot/)

---

Fuente: conqueia.com/caso/reescribir-un-programa-de-typescript-a-rust-con-agentes-de-copilot
