top of page

Microsoft usa IA para reescrever 430 mil linhas do Copilot e gasta US$ 120 mil

há 15 minutos
3 min de leitura

A Microsoft concluiu a migração para Rust do runtime que sustenta o GitHub Copilot e diversos produtos da empresa, usando agentes de inteligência artificial para realizar grande parte da conversão. O projeto transformou cerca de 430 mil linhas de TypeScript em aproximadamente 800 mil linhas de Rust, ao custo de cerca de US$ 120 mil em tokens de IA e três semanas de trabalho de um desenvolvedor.


A migração ocorreu ao longo de 14,5 semanas e passou por mais de 135 versões, com uma média de 1,3 pull request de portabilidade aberto por dia. Em vez de redesenhar toda a arquitetura, os agentes substituíram os módulos TypeScript gradualmente, preservando a estrutura existente para reduzir a complexidade do processo. Uma etapa posterior deverá trabalhar na otimização do runtime.


O runtime está por trás da CLI, aplicativo, SDK e cloud agent do GitHub Copilot, além de aparecer em produtos como VS Code, Visual Studio, Excel, Outlook e PowerPoint e em outros serviços de nuvem da Microsoft. A implementação anterior utilizava TypeScript, Node.js e o mecanismo V8, uma combinação adequada ao desenvolvimento rápido, mas que apresentava limitações de inicialização e densidade de servidores em grande escala.


Os primeiros benchmarks apontaram ganhos expressivos. Em um teste envolvendo mil ciclos de sessões de uma única interação, com cliente compartilhado e 100 pipelines simultâneos, a versão TypeScript processou 7,55 ciclos por segundo, enquanto o runtime Rust executado no mesmo processo chegou a 120, uma melhoria de 15,9 vezes nesse cenário específico.


A diferença também apareceu no consumo de memória. Um conjunto de dez clientes de agentes utilizou 1.383 MB com TypeScript, contra 126 MB na implementação em Rust. A nova arquitetura também permite que o trabalho permaneça no mesmo processo, enquanto a versão TypeScript precisava iniciar processos externos em segundo plano.


Segundo Stephen Toub, Distinguished Engineer da Microsoft, a escolha de Rust não significa que grandes aplicações TypeScript devam necessariamente ser reescritas nessa linguagem. No caso do Copilot, os requisitos incluíam integração por meio de uma C ABI, baixo overhead durante a inicialização e execução e consumo previsível de recursos.


Um dos aspectos mais incomuns do projeto foi o uso do próprio Copilot para reescrever componentes do runtime do Copilot. Diferentes modelos de linguagem foram empregados de acordo com suas características, incluindo GPT-5.6 Sol e Claude Opus 4.8. Toub avaliou que uma migração dessa escala, se realizada manualmente, poderia levar anos e custar milhões de dólares.


Os agentes também apresentaram comportamentos que foram além da simples geração de código. Segundo o engenheiro, eles passaram grande parte do tempo analisando documentação e o estado do software, formulando hipóteses e realizando mudanças específicas de forma iterativa. Algumas sessões chegaram a criar outros agentes e coordenar tarefas entre si.


Um exemplo ocorreu durante a conversão do arquivo session.ts, com mais de 30 mil linhas e dependências espalhadas pelo runtime. A tarefa levou aproximadamente 25 horas. Antes de alterar o código, o agente passou 56 minutos consultando documentação e realizou 122 chamadas a ferramentas. Depois, criou 15 sessões subordinadas, cada uma com seu próprio ambiente de trabalho, e coordenou atividades entre elas.


A automação, porém, não eliminou a necessidade de revisão humana. O projeto encontrou dezenas de regressões no código convertido, mesmo quando o compilador Rust aceitava a implementação. Entre os problemas identificados estavam diferenças semânticas, divergências entre branches, funcionalidades que não haviam sido migradas e comportamentos diferentes entre o código original e o substituto.


O caso evidencia uma limitação importante do desenvolvimento de software com agentes de IA: código que compila não necessariamente reproduz corretamente o comportamento esperado. O compilador pode impedir determinadas classes de erros, especialmente relacionados à segurança de memória, mas não consegue determinar sozinho se uma função implementa corretamente requisitos funcionais ou regras não documentadas do sistema.

 
 
image.png
Cópia de Cyber Security Brazil_edited.jpg

Cyber Security Brazil desde 2021, atuamos como referência nacional em segurança digital, oferecendo informação confiável, conteúdo especializado e fortalecendo o ecossistema de cibersegurança no Brasil.

Institucional

(11) 93937-9007

INSCREVA SEU EMAIL PARA RECEBER

ATUALIZAÇÕES, POSTS E NOVIDADES

  • RSS
  • Instagram
  • LinkedIn

© 2025 Todos os direitos reservados a Cyber Security Brazil

bottom of page