Copilotos de IA: como otimizar o desenvolvimento e a qualidade
Neste artigo, Justin Kuss, da Rackspace Technology, fala sobre os copilotos de IA e como as organizações devem adotar essas ferramentas de codificação orientadas por IA para melhorar a produtividade. É necessária uma nova governança corporativa, mas a tecnologia será uma bênção para o desenvolvimento em todos os lugares.
Os copilotos estão chegando. Para falar a verdade, já estão aqui. O desenvolvimento assistido por IA, na forma de copilotos alimentados por inteligência artificial, será o modelo dominante. É fácil olhar para os avanços e ficar receoso ou na defensiva, mas o impacto dos copilotos movidos a IA na produtividade é algo revolucionário para os trabalhadores de tecnologia. O desenvolvimento de software tornou-se sobrecarregado pela complexidade e pelas adjacências. Algo tinha que aliviar a pressão. Sem digressões demasiadas, nós "deslocamos para a esquerda" tarefas de infraestrutura, banco de dados e segurança, tudo em nome da celeridade. Estávamos caminhando para este momento. E aqui estamos.
O que é um copiloto de IA?
Um copiloto de IA, em desenvolvimento de software, é uma ferramenta que utiliza inteligência artificial para automatizar partes do processo de desenvolvimento a fim de auxiliar o programador humano. As ferramentas de geração de código já participam do processo de desenvolvimento há muitos anos, preenchendo e sugerindo códigos. Mais recentemente, no entanto, essas ferramentas vêm participando de tarefas adicionais. Hoje, os copilotos usam processamento de linguagem natural, funções analíticas preditivas e programação baseada em regras para acelerar o processo de desenvolvimento e garantir a qualidade.
Os casos de uso para copilotos de codificação incluem:
- As ferramentas de conclusão de código simplificam o processo de desenvolvimento sugerindo trechos de código e opções de preenchimento automático específicas para cada idioma, podendo integrar-se diretamente a muitos ambientes de desenvolvimento integrados (IDE).
- A geração de código vai além e cria métodos e classes completos com base no contexto existente ou usando um comentário, tal como um prompt que descreva a funcionalidade necessária.
- As ferramentas de produtividade de engenharia ajudam a criar scripts e arquivos de configuração usados durante o provisionamento de recursos de infraestrutura e a implantação de aplicativos.
- As ferramentas de revisão de código sugerem otimizações, encontram possíveis bugs, identificam vulnerabilidades de segurança e recomendam correções.
Exemplos de assistentes de codificação por IA incluem:
- O GitHub Copilot automatiza a geração de código por meio de integração IDE e se incorpora ao processo de revisão de código para automatizá-lo e sugerir otimizações.
- O Amazon CodeWhisperer é uma plataforma de codificação baseada em machine learning e processamento de linguagem natural (NLP). O CodeWhisperer agrega automação a grande parte do ciclo de desenvolvimento de software, semelhante ao GitHub Copilot, mas é capaz de integrar-se mais profundamente com soluções específicas do Amazon Web Services.
- O ChatGPT, provavelmente o chatbot de IA para uso geral mais famoso da atualidade, pode gerar ou sugerir revisões de código por meio de sua interface de chat ou de APIs.
Impacto
As empresas já estão constatando os benefícios do desenvolvimento assistido por IA na intensificação de produtividade da engenharia. Em março de 2023, Scott Guthrie, vice-presidente executivo de Nuvem e IA da Microsoft, compartilhou algumas estatísticas sobre quanto de impacto eles têm observado. "Hoje, os desenvolvedores que usam o GitHub Copilot são 55% mais produtivos em suas tarefas, e isso foi medido por estudos independentes. E 40% do código verificado por eles já é gerado por IA e não sofre modificações."
Três meses depois, em junho 2023, o CEO do GitHub, Thomas Dohmke, apresentou uma leve revisão na métrica, alegando que o GitHub Copilot está, em média, melhorando a produtividade do desenvolvedor em 30%, com quase um milhão de desenvolvedores incluídos no estudo. Pensando em 2030, Dohmke projeta "ganhos de desempenho de 30% com um adicional de 15 milhões de desenvolvedores efetivos na capacidade mundial", o que pode aumentar o PIB global em cerca de um 1,5 trilhão de dólares.
Ao analisar o impacto combinado, Dohmke, como muitos outros, considera os copilotos de IA uma extensão da equipe de engenharia. Os copilotos estão ampliando a eficácia e a produtividade de nossos engenheiros, possibilitando prazos de entrega mais rápidos na conclusão das tarefas e diminuindo as defasagens técnicas que sobrecarregam muitas organizações. Consequentemente, por meio da integração responsável dos copilotos de IA, as organizações podem melhorar os níveis de engajamento e incentivar uma cultura de TI mais sustentável que atraia, cultive e retenha os membros da equipe.
Além disso, os copilotos movidos a IA não estão beneficiando apenas os engenheiros de software. As organizações podem capacitar "tecnólogos empresariais" usando soluções low-code/no-code baseadas em IA para reduzir ainda mais o tempo de lançamento no mercado, baixar custos e fornecer soluções mais direcionadas. De acordo com o New York Times, é provável que a tecnologia no-code se torne uma parte cada vez mais importante do cenário de software nos próximos anos. À medida que as cadeias de ferramentas low-code/no-code forem adotando recursos de IA, isso se acelerará, permitindo que mesmo aqueles com pouca ou nenhuma experiência de codificação criem aplicativos poderosos.
Encontre o equilíbrio certo
Os líderes empresariais devem lembrar que os copilotos são uma ferramenta que melhora a produtividade dos engenheiros. No momento, ainda precisa haver um humano no circuito para revisar e aprovar as recomendações de código. Mesmo poderosos, os assistentes baseados em IA não são isentos de falhas. Como vemos em outras ferramentas generativas, a qualidade do conteúdo criado pode variar e está sujeita a possíveis "alucinações" ou imprecisões.
Em todos os níveis de habilidade, os engenheiros podem se beneficiar das ferramentas de desenvolvimento assistidas por IA. Seja aprendendo uma nova linguagem ou paradigma de programação, criando a estrutura para um novo projeto ou sugerindo um protótipo com base nos requisitos, os copilotos reduzirão a carga cognitiva sobre os engenheiros. Tenha em mente, porém, que o desenvolvimento assistido por IA também eleva o nível exigido. Todo mundo agora é, no mínimo, um desenvolvedor tão bom quanto o copiloto de IA. Usados de forma responsável, os copilotos são parte integrante do processo criativo. Eles não vão substituir os trabalhadores. Os desenvolvedores valem-se dos copilotos para tarefas repetitivas e concentram-se em solucionar problemas de ordem superior que diferenciem a empresa.
A maioria dos algoritmos de IA melhora mediante maior exposição a dados e às interações da pessoa que os utiliza. Os engenheiros, por outro lado, ganham produtividade e escala. O arranjo de trabalho resultante é simbiótico, pois ambas as partes melhoram ao longo do tempo.
No entanto, as organizações devem permanecer vigilantes e manter elevados níveis de critério e disciplina na produção de software. Cabe a cada empresa avaliar quais tarefas podem ficar a cargo de copilotos e quais ainda requerem supervisão humana.
Trate da necessidade de governança
Os líderes empresariais e tecnológicos devem ter como prioridade capacitar a força de trabalho para que adotem essas ferramentas em evolução. Por meio de políticas eficazes e de um entendimento completo da tecnologia, as organizações que utilizam a IA continuarão a prosperar. Frameworks de governança como a Estrutura de Gerenciamento de Risco de IA do NIST capacitam as organizações a gerenciar os possíveis riscos associados à engenharia de software assistida por IA, a criar confiança social e a garantir o desenvolvimento ético dos produtos.
Como parte do processo de avaliação, as organizações devem estar cientes de possíveis preocupações de confidencialidade, privacidade e segurança inerentes às interações com a IA. Quanto maiores as interações e o uso, mais os modelos de IA melhoram e aumentam sua utilidade geral. Ferramentas genericamente disponíveis, como o ChatGPT, por padrão, aprendem com os prompts e os dados que os usuários fornecem durante as interações, aumentando o risco de expor informações confidenciais ou proprietárias. É possível mitigar alguns riscos criando ou selecionando ferramentas que funcionem como uma porta de mão única — com aplicação de um modelo treinado ao prompt do usuário para produzir um resultado sem incorporar a interação ao ciclo de feedback de aprendizagem da ferramenta.
Os copilotos de IA são uma tecnologia fascinante, cujo tremendo potencial vem sendo assimilado pelas organizações, que já começam a idealizar e incubar possíveis casos de uso.
< entidade drupal data-align="left" data-embed-button="media_entity_embed" data-entity-embed-display="view_mode:media.full" data-entity-type="media" data-entity-uuid="ffc70d81-8bc0-42e9-b646-2faec089e354" data-langcode="en"> < /drupal-entity>
Aproveite o poder da IA de forma rápida e responsável com o Foundry for AI da Rackspace Technology (FAIR™). FAIR™ está na vanguarda da inovação global em IA, abrindo caminho para que as empresas acelerem a adoção responsável de soluções de IA. O FAIR se alinha com centenas de casos de uso de IA em uma ampla variedade de setores, ao mesmo tempo que permite a personalização por meio da criação de uma estratégia de IA sob medida que é aplicável às suas necessidades comerciais específicas. Capazes de implantação em qualquer plataforma de nuvem pública privada, híbrida ou de hiperescala, as soluções FAIR capacitam empresas em todo o mundo, indo além da transformação digital para desbloquear a criatividade, estimular a produtividade e abrir a porta para novas áreas de crescimento para nossos clientes.Siga a FAIR no LinkedIn.
Comece cedo e obtenha já as vantagens dos copilotos de IA
About the Authors
VP, Product and Architect for Application and Platform Modernization
Justin Kuss
Justin is an experienced IT professional with 18 years of expertise across various industries, including healthcare, technology, finance, education, and government. He specializes in assisting companies of all sizes in developing and implementing secure and sustainable technology modernization strategies. As the VP, Product and Architect for Application and Platform Modernization at Rackspace Technology, Justin leads the advancement of innovative solutions to keep businesses at the forefront of the ever-changing tech landscape.
Read more about Justin Kuss