2023 foi um ano marcante para desenvolvedores e IA generativa. GitHub Copilot concluiu seu estágio de visualização técnica em junho de 2022, e OpenAI lançou ChatGPT em novembro de 2022. Apenas 18 meses depois, de acordo com uma pesquisa da Sourcegraph, 95% dos desenvolvedores relatam que usam IA generativa para ajudá-los a escrever código. A IA generativa pode ajudar os desenvolvedores a escrever mais código em um espaço de tempo mais curto, mas precisamos considerar o quanto isso pode ser bom.
Quando falamos sobre ferramentas de IA para desenvolvimento de software, no momento isso significa principalmente ChatGPT e GitHub Copilot, embora haja concorrência do Google Bard, Amazon CodeWhisperer e Cody da Sourcegraph. Os desenvolvedores estão obtendo sucesso usando IA generativa para resolver problemas de codificação comuns, repetitivos e de baixa complexidade. No entanto, esses assistentes não conseguem compreender bases de código complexas, reconhecer padrões intrincados e detectar problemas e vulnerabilidades complexas.
De acordo com as primeiras pesquisas do GitHub sobre o uso do Copilot, os desenvolvedores estão escrevendo códigos com mais rapidez e se percebem mais produtivos, menos frustrados e mais realizados. O que poderia dar errado?
Código inseguro gerado por IA
Um estudo de Stanford realizado na mesma época descobriu que os participantes que tinham acesso a um assistente de IA eram mais propensos a escrever códigos inseguros e mais propensos a classificar suas respostas como seguras em comparação com um grupo de controle. Enquanto isso, uma pesquisa da Sauce Labs descobriu que 61% dos desenvolvedores admitem usar código não testado gerado pelo ChatGPT, com 28% fazendo isso regularmente.
Assim, os desenvolvedores estão escrevendo códigos com mais rapidez e produzindo mais com a ajuda da IA generativa. Mas é mais provável que eles escrevam códigos inseguros, embora acreditem que sejam seguros, e até mesmo os coloquem em produção sem testes. Em 2024, é provável que vejamos as primeiras grandes vulnerabilidades de software atribuídas ao código gerado por IA. O sucesso da utilização de ferramentas de IA para construir software levará a um excesso de confiança nos resultados e, em última análise, a uma violação que será atribuída à própria IA.
Para evitar tal experiência, a indústria como um todo precisa de redobrar as práticas de desenvolvimento que garantam que o código, escrito tanto pelos programadores como pela IA, seja analisado, testado e compatível com os padrões de qualidade e segurança. É importante que as organizações criem processos que garantam que o código seja analisado, testado e revisado para que possa ser confiável, independentemente de como foi criado.
Essas práticas criam um buffer para que os desenvolvedores aproveitem os geradores de código de IA sem riscos, agora e no futuro. É importante agora porque as ferramentas generativas de IA são novas e bastante rudimentares e requerem muita supervisão humana para guiá-las na direção certa. Também é importante no futuro, pois a IA generativa e a tecnologia que a utiliza continuam a evoluir rapidamente. Não sabemos como será no futuro, mas sabemos que sem as ferramentas e os processos para manter o código sob controle, talvez não entendamos o que estamos implantando.
Colocando o foco no código limpo
À medida que aumenta a adoção de ferramentas de IA para criar código, as organizações terão que implementar verificações e equilíbrios adequados para garantir que o código que escrevem seja limpo, sustentável, confiável, de alta qualidade e seguro. Os líderes precisarão priorizar o código limpo se quiserem ter sucesso.
Código limpo – código consistente, intencional, adaptável e responsável – garante software de alta qualidade durante todo o seu ciclo de vida. Com tantos desenvolvedores trabalhando em código simultaneamente, é imperativo que o software escrito por um desenvolvedor possa ser facilmente compreendido e modificado por outro a qualquer momento. Com código limpo, os desenvolvedores podem ser mais produtivos sem gastar muito tempo descobrindo o contexto ou corrigindo o código de outro membro da equipe.
Quando se trata de produção em massa de código assistido por IA, manter um código limpo é essencial para minimizar riscos e dívidas técnicas. Implementar uma abordagem “limpa enquanto você codifica” com testes e análises adequados é crucial para garantir a qualidade do código, seja ele gerado por humanos ou por IA.
Falando em humanos, não acredito que os desenvolvedores irão embora, mas a maneira como eles fazem seu trabalho todos os dias certamente mudará. A maneira como os desenvolvedores usam a IA será tão simples e comum quanto pesquisar algo no Google como um atalho. Há muito a ser explorado sobre o uso da IA moderna, e devemos considerar o elemento humano na vanguarda para verificar as desvantagens da IA.
Ao garantir que o software gerado por IA contém código limpo, as organizações podem evitar ser vítimas das potenciais desvantagens da IA, como bugs subtis ou falhas de segurança, e podem obter mais valor do seu software de uma forma previsível e sustentável. Isto não é negociável quando o status e o futuro do desenvolvimento de software como profissão estão intrinsecamente ligados à integração da IA.
A IA tem um potencial transformador para o desenvolvimento de software, mas não devemos deixá-la funcionar sem verificações – especialmente quando as empresas digitais hoje dependem do software que as sustenta.
Phil Nash é um defensor do desenvolvedor do Sonar, atendendo comunidades de desenvolvedores em Melbourne e em todo o mundo. Ele adora trabalhar com JavaScript ou Ruby para construir aplicações web e ferramentas para ajudar desenvolvedores. Ele pode ser encontrado participando de encontros e conferências, brincando com novas tecnologias e APIs ou escrevendo código-fonte aberto. Antes de trabalhar na Sonar, ele foi principal evangelista de desenvolvimento na Twilio.
–
Generative AI Insights oferece um local para líderes de tecnologia – incluindo fornecedores e outros colaboradores externos – explorarem e discutirem os desafios e oportunidades da inteligência artificial generativa. A seleção é ampla, desde aprofundamentos tecnológicos até estudos de caso e opiniões de especialistas, mas também subjetiva, com base em nosso julgamento de quais tópicos e tratamentos servirão melhor ao público tecnicamente sofisticado do InfoWorld. A InfoWorld não aceita material de marketing para publicação e reserva-se o direito de editar todo o conteúdo contribuído. Contato [email protected].