Como desenvolvedores da Microsoft usam IA em projetos reais

Já se perguntou como as pessoas que constroem as ferramentas que usamos todos os dias estão aproveitando a IA no próprio trabalho delas? Bem, Stephen Toups e David Fowler da equipe .NET da Microsoft recentemente levantaram a cortina sobre exatamente isso. Em uma apresentação franca, esses desenvolvedores compartilharam exemplos reais de como estão usando GitHub Copilot, ChatGPT e outras ferramentas de IA – não para demos chamativos ou material de marketing, mas para trabalho de desenvolvimento real no próprio .NET.

O que é refrescante na abordagem deles é a honestidade. Eles não estão afirmando que a IA vai substituir desenvolvedores ou resolver todos os problemas. Em vez disso, eles mostram como a IA se tornou uma ferramenta prática no kit de ferramentas deles para tudo, desde brainstorming de soluções até automatizar tarefas chatas de documentação. Desde resolver bugs de uma década até otimizar performance e gerar milhares de linhas de documentação, os exemplos deles oferecem uma visão realista de onde ferramentas de IA realmente agregam valor no desenvolvimento profissional de software.

Se você tem curiosidade sobre como integrar praticamente IA no seu fluxo de desenvolvimento além de completar código básico, vale a pena conferir.

IA para Ideação e Resolução de Problemas

O grande destaque foi David Fowler usando IA para resolver um problema de memória do Kestrel que existia há uma década e causava erros de falta de memória. Em vez de buscar uma solução rápida, ele usou o ChatGPT para fazer brainstorming de diferentes abordagens – tratando essencialmente como um problema de mini garbage collector. A IA gerou quatro soluções potenciais em segundos, ajudando-o a iterar através de ideias muito mais rápido que métodos tradicionais. Isso eventualmente levou a uma implementação pronta para produção que agora está indo para a branch principal.

Melhorando Performance com Sugestões de IA

Stephen Toups compartilhou algumas vitórias impressionantes usando IA para otimizar o engine regex do .NET. Após fornecer exemplos específicos e prompts concretos, o Copilot sugeriu otimizar lookaheads – algo que havia sido previamente ignorado. Isso resultou em uma melhoria de performance de 10x para padrões regex usados em parsing de declarações SQL. Ele também usou IA para implementar o novo método shuffle do LINQ, onde o Copilot sugeriu reservoir sampling para melhor performance.

Documentação e Manutenção Facilitadas

Uma das aplicações mais práticas foi usar IA para lidar com as coisas chatas mas necessárias. Stephen usou o Copilot para gerar comentários XML para 3.000 linhas de código críptico do interpretador regex de 2003. Para a biblioteca Model Context Protocol, a IA gerou 6.000 linhas de comentários de documentação, que Stephen depois editou para 4.000 linhas – economizando dias de trabalho e resolvendo o temido problema da página em branco.

Debugging e Resolução de Issues

Os exemplos de debugging foram bem convincentes. Stephen colou um email sobre vazamento de memória no System.IO.Pipes no Copilot, e ele identificou o problema exato e localização em cerca de 45 segundos. Embora as soluções propostas pela IA não fossem perfeitas, ela o apontou na direção certa para uma correção rápida. Eles também mostraram o Copilot Agent criando um pull request completo para corrigir um issue da equipe de networking em apenas alguns minutos.

Demo de Live Coding

David demonstrou o Copilot em Agent Mode ao vivo no palco, adicionando propriedades a múltiplos recursos Azure no projeto Aspire. A IA escaneou a base de código, identificou o que precisava ser feito, e fez mudanças em seis arquivos diferentes incluindo adicionar comentários obrigatórios. Ela até gerou a descrição do pull request e revisou seu próprio trabalho.

Principais Conclusões

Ambos os desenvolvedores enfatizaram que a IA funciona melhor quando você tem algum contexto sobre a área do problema e a usa para trocar ideias ao invés de apenas completar código. Eles veem a IA como transformando desenvolvedores em “desenvolvedores 10x” ao automatizar as tarefas triviais que eles sabem fazer mas não querem fazer, liberando tempo para resolução de problemas mais criativa.

Confira o vídeo:

Rolar para cima