Modelos

Github migra runtime do Copilot para Rust com reestruturação assistida por IA

12 de outubro de 2026 · 3 min de leitura

Também publicado em Nederlands, Türkçe, Italiano, Svenska, Polski

a dark blue background with lots of lines
Sandip Kalal / Unsplash

O GitHub migrou o runtime por trás do GitHub Copilot CLI, do aplicativo Copilot e do Copilot SDK da TypeScript e Node.js para o Rust, substituindo mais de 800 mil linhas de código de produção através de uma reestruturação assistida por IA. A migração levou aproximadamente 14,5 semanas e foi entregue através de 128 pull requests enquanto o GitHub continuava liberando o runtime. O GitHub reporta que um tempo medido de inicialização de cliente, criação de sessão e cenário de turno único caiu de 5,25 segundos com o runtime anterior para 292 milissegundos quando o runtime Rust foi incorporado em processo.

A migração também mudou como as aplicações se integram ao runtime. A implementação anterior exigia Node.js e V8 e comunicava-se com aplicações host através de uma fronteira de processo. O GitHub diz que isso adicionou aproximadamente 100 MB de conjunto de trabalho por cliente. A implementação Rust pode ser incorporada diretamente em aplicações host através uma ABI C, enquanto um modo out-of-process permanece disponível. O Copilot SDK atualmente suporta TypeScript, Python, Go.NET, Java e Rust.

O GitHub utilizou uma estratégia de substituição incremental em vez de uma reestruturação paralela seguida por um único corte. Componentes TypeScript individuais foram substituídos por implementações Rust, com interoperabilidade temporária N API conectando os dois. Isso permitiu que testes end-to-end existentes exercitassem o novo código enquanto outros componentes permaneciam em TypeScript. O GitHub lançou 135 releases durante a migração, incluindo 35 versões estáveis e 100 versões prerelease.

A camada de compatibilidade atingiu 2.019 exportações N API internas e 3.356 sites de chamada TypeScript antes de ser removida. Até 21 de agosto, o runtime continha 832.378 linhas de produção Rust e 468.689 linhas de testes unitários Rust. Agentes de IA geraram a maior parte da implementação, enquanto compilação, testes e revisão humana ajudaram a identificar regressões envolvendo comportamento, estado e manipulação de ciclo de vida, semântica de biblioteca e otimizações perdidas. O GitHub registrou 4.478 execuções diretas de cargo check, com 87,1% concluindo limpas.

Respostas da comunidade também focaram nos desafios de verificação de migrações assistidas por IA e apontaram para cancelamento, tentativas e backpressure como exemplos que exigem validação além da compilação. PLBjt escreveu que

A parte interessante aqui é menos que o Copilot escreveu Rust e mais se a migração manteve o comportamento estável do runtime nas fronteiras.

Francesco Pira, chefe de tecnologia XR da Leonardo, destacou:

Testes de pequenas alterações revisáveis, camadas de compatibilidade e julgamento de engenharia humana como elementos importantes da abordagem.

Côme Redon, engenheiro de soluções sênior da Microsoft, apontou:

O desafio de identificar contratos comportamentais não documentados em sistemas legados.

A arquitetura resultante fornece um runtime Rust nativo que pode ser incorporado diretamente em aplicações host ou operado separadamente, enquanto o Copilot SDK mantém interfaces específicas por linguagem em seus idiomas suportados. A migração combinou implementação gerada por IA com integração incremental, fronteiras de compatibilidade temporárias, validação automatizada e revisão humana enquanto o runtime de produção continuava a evoluir.