{"id":506,"date":"2025-05-29T08:39:13","date_gmt":"2025-05-29T11:39:13","guid":{"rendered":"https:\/\/rodrigoduclerc.net\/site\/en\/?p=506"},"modified":"2025-05-30T08:51:06","modified_gmt":"2025-05-30T11:51:06","slug":"how-microsoft-developers-use-ai-in-real-world-coding","status":"publish","type":"post","link":"https:\/\/rodrigoduclerc.net\/site\/2025\/05\/29\/how-microsoft-developers-use-ai-in-real-world-coding\/","title":{"rendered":"Como desenvolvedores da Microsoft usam IA em projetos reais"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">J\u00e1 se perguntou como as pessoas que constroem as ferramentas que usamos todos os dias est\u00e3o aproveitando a IA no pr\u00f3prio trabalho delas? Bem, Stephen Toups e David Fowler da equipe .NET da Microsoft recentemente levantaram a cortina sobre exatamente isso. Em uma apresenta\u00e7\u00e3o franca, esses desenvolvedores compartilharam exemplos reais de como est\u00e3o usando GitHub Copilot, ChatGPT e outras ferramentas de IA &#8211; n\u00e3o para demos chamativos ou material de marketing, mas para trabalho de desenvolvimento real no pr\u00f3prio .NET.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O que \u00e9 refrescante na abordagem deles \u00e9 a honestidade. Eles n\u00e3o est\u00e3o 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\u00e1tica no kit de ferramentas deles para tudo, desde brainstorming de solu\u00e7\u00f5es at\u00e9 automatizar tarefas chatas de documenta\u00e7\u00e3o. Desde resolver bugs de uma d\u00e9cada at\u00e9 otimizar performance e gerar milhares de linhas de documenta\u00e7\u00e3o, os exemplos deles oferecem uma vis\u00e3o realista de onde ferramentas de IA realmente agregam valor no desenvolvimento profissional de software.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea tem curiosidade sobre como integrar praticamente IA no seu fluxo de desenvolvimento al\u00e9m de completar c\u00f3digo b\u00e1sico, vale a pena conferir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">IA para Idea\u00e7\u00e3o e Resolu\u00e7\u00e3o de Problemas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">O grande destaque foi David Fowler usando IA para resolver um problema de mem\u00f3ria do Kestrel que existia h\u00e1 uma d\u00e9cada e causava erros de falta de mem\u00f3ria. Em vez de buscar uma solu\u00e7\u00e3o r\u00e1pida, ele usou o ChatGPT para fazer brainstorming de diferentes abordagens &#8211; tratando essencialmente como um problema de mini garbage collector. A IA gerou quatro solu\u00e7\u00f5es potenciais em segundos, ajudando-o a iterar atrav\u00e9s de ideias muito mais r\u00e1pido que m\u00e9todos tradicionais. Isso eventualmente levou a uma implementa\u00e7\u00e3o pronta para produ\u00e7\u00e3o que agora est\u00e1 indo para a branch principal.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Melhorando Performance com Sugest\u00f5es de IA<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stephen Toups compartilhou algumas vit\u00f3rias impressionantes usando IA para otimizar o engine regex do .NET. Ap\u00f3s fornecer exemplos espec\u00edficos e prompts concretos, o Copilot sugeriu otimizar lookaheads &#8211; algo que havia sido previamente ignorado. Isso resultou em uma melhoria de performance de 10x para padr\u00f5es regex usados em parsing de declara\u00e7\u00f5es SQL. Ele tamb\u00e9m usou IA para implementar o novo m\u00e9todo shuffle do LINQ, onde o Copilot sugeriu reservoir sampling para melhor performance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Documenta\u00e7\u00e3o e Manuten\u00e7\u00e3o Facilitadas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Uma das aplica\u00e7\u00f5es mais pr\u00e1ticas foi usar IA para lidar com as coisas chatas mas necess\u00e1rias. Stephen usou o Copilot para gerar coment\u00e1rios XML para 3.000 linhas de c\u00f3digo cr\u00edptico do interpretador regex de 2003. Para a biblioteca Model Context Protocol, a IA gerou 6.000 linhas de coment\u00e1rios de documenta\u00e7\u00e3o, que Stephen depois editou para 4.000 linhas &#8211; economizando dias de trabalho e resolvendo o temido problema da p\u00e1gina em branco.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Debugging e Resolu\u00e7\u00e3o de Issues<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Os exemplos de debugging foram bem convincentes. Stephen colou um email sobre vazamento de mem\u00f3ria no System.IO.Pipes no Copilot, e ele identificou o problema exato e localiza\u00e7\u00e3o em cerca de 45 segundos. Embora as solu\u00e7\u00f5es propostas pela IA n\u00e3o fossem perfeitas, ela o apontou na dire\u00e7\u00e3o certa para uma corre\u00e7\u00e3o r\u00e1pida. Eles tamb\u00e9m mostraram o Copilot Agent criando um pull request completo para corrigir um issue da equipe de networking em apenas alguns minutos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Demo de Live Coding<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">David demonstrou o Copilot em Agent Mode ao vivo no palco, adicionando propriedades a m\u00faltiplos recursos Azure no projeto Aspire. A IA escaneou a base de c\u00f3digo, identificou o que precisava ser feito, e fez mudan\u00e7as em seis arquivos diferentes incluindo adicionar coment\u00e1rios obrigat\u00f3rios. Ela at\u00e9 gerou a descri\u00e7\u00e3o do pull request e revisou seu pr\u00f3prio trabalho.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Principais Conclus\u00f5es<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ambos os desenvolvedores enfatizaram que a IA funciona melhor quando voc\u00ea tem algum contexto sobre a \u00e1rea do problema e a usa para trocar ideias ao inv\u00e9s de apenas completar c\u00f3digo. Eles veem a IA como transformando desenvolvedores em &#8220;desenvolvedores 10x&#8221; ao automatizar as tarefas triviais que eles sabem fazer mas n\u00e3o querem fazer, liberando tempo para resolu\u00e7\u00e3o de problemas mais criativa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Confira o v\u00eddeo:<\/p>\n\n\n<p><iframe title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/gieL0bxyTUU?si=EwgU2Z5PcDl5eWOI\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stephen Toups e David Fowler da equipe .NET da Microsoft compartilham como usam ferramentas de IA como GitHub Copilot e ChatGPT no trabalho di\u00e1rio. Eles enfatizam que a IA n\u00e3o est\u00e1 substituindo desenvolvedores, mas tornando-os mais produtivos em idea\u00e7\u00e3o, codifica\u00e7\u00e3o, testes e debugging. Exemplos principais incluem resolver um problema de mem\u00f3ria do Kestrel de 10 anos, melhorar o engine regex do .NET e automatizar tarefas de documenta\u00e7\u00e3o.<\/p>\n","protected":false},"author":1,"featured_media":547,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[73],"tags":[],"class_list":["post-506","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-news"],"_links":{"self":[{"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/posts\/506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/comments?post=506"}],"version-history":[{"count":17,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/posts\/506\/revisions"}],"predecessor-version":[{"id":524,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/posts\/506\/revisions\/524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/media\/547"}],"wp:attachment":[{"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/media?parent=506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/categories?post=506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/tags?post=506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}