Skip to main content

Boas práticas para usar IA no SDLC

Escrito por

Frank Fischer

blog feature ai

19 de julho de 2023

0 minutos de leitura

A IA virou assunto do momento graças às notícias recentes sobre o modelo de linguagem de grande escala (LLM) com uma interface simples: o ChatGPT. Desde então, o campo da IA tem estado em plena efervescência, com vários grandes players disputando a criação de modelos cada vez maiores, melhores e mais versáteis. Empresas como Microsoft, NVidia, Google e Meta, além de projetos de código aberto, publicaram listas de novos modelos. 

Na verdade, um documento vazado do Google dá a entender que em breve esses modelos estarão disponíveis para todos e serão onipresentes.

Gráfico de bolhas que compara o tamanho dos modelos de linguagem até março de 2023, com círculos dimensionados de acordo com os parâmetros e modelos identificados, incluindo MT-NLG, PaLM, GPT-4 e LLaMA.

Fonte: Dr. Alan D. Thompson, LifeArchitect.ai (maio de 2023), https://s10251.pcdn.co/wp-content/uploads/2023/03/2023-Alan-D-Thompson-AI-Bubbles-Rev-7b.png

Como alguém que atua intensamente na área de IA há muitos anos, fico muito animado com o interesse do público! Mas também acho muitas notícias, bem, um pouco preocupantes. A IA é uma tecnologia incrível, mas, depois de ver estudantes serem pegos entregando trabalhos escritos por IA e até um advogado citar casos inventados em uma petição judicial, é importante que todos entendamos que a IA não é uma solução mágica: é uma ferramenta. E ferramentas podem falhar. Até mesmo as mais sofisticadas, criadas com tecnologia de ponta.

Neste artigo, vamos ver como a IA pode ser usada para aprimorar o ciclo de vida do desenvolvimento de software (SDLC) e quais armadilhas podem surgir ao aplicá-la às cegas aos processos existentes.

IA e desenvolvimento de software: vantagens e desvantagens

Aplicar IA aos seus produtos pode destacá-los em meio à concorrência (mesmo que seja apenas com recursos extras), mas usar IA no SDLC (desenvolvimento, monitoramento, gestão etc.) pode mudar o jogo na hora de superar a concorrência. Veja algumas possibilidades:

  1. Eficiência: ferramentas baseadas em IA podem processar rapidamente enormes volumes de código ou arquivos de log.

  2. Mais segurança e qualidade no código: com as ferramentas certas, a IA pode encontrar problemas e sugerir correções para o código na hora.

  3. Mais inovação no código: sugestões de código podem trazer novas ideias e diferentes formas de resolver um problema.

  4. Mais agilidade nos processos: a IA pode acelerar o processo ao preparar as informações necessárias para uma decisão e fornecer elementos (como trechos de código) para que as equipes possam simplesmente executar. 

  5. Menor carga cognitiva: a IA pode ajudar as pessoas a compreender mais rapidamente uma situação desconhecida, tornando o trabalho menos exaustivo.

Mas uma nova ferramenta de produtividade também traz novos riscos e desafios:

  1. Vazamento de dados: informações confidenciais podem vazar acidentalmente se forem inseridas em uma ferramenta que usa consultas para treinar ainda mais os modelos. 

  2. Perda de habilidades: sua equipe pode começar a perder habilidades se depender demais da IA para fornecer respostas ou insights corretos.

  3. Alucinações: modelos de IA (como os LLMs) podem sofrer o que se chama de “alucinações”: eles produzem argumentos extremamente convincentes, mas que simplesmente não são verdadeiros.

  4. Sugestões ruins: se uma IA for treinada com código ruim, ela sugerirá correções ruins com base nos dados de treinamento.

  5. Farsantes: a IA permite que pessoas com pouca ou nenhuma experiência e conhecimento em programação produzam código. A expectativa é que a quantidade de código-fonte aumente significativamente nos próximos anos. Como CISO, líder de engenharia ou gerente de contratação, você precisa se preparar para isso.

  6. Violação de licenças: atualmente, há um amplo debate sobre o licenciamento dos dados de treinamento. No pior cenário, o código produzido por modelos que usam licenças copyleft também teria licença copyleft — o que significa que sua aplicação poderia se tornar de código aberto de repente.

  7. Agentes mal-intencionados: embora isso não seja específico do SDLC, não há como evitar que a IA seja usada por atacantes. Existem cenários mais sofisticados, como o envenenamento de dados (”treinar” um sistema de detecção de intrusões com determinado padrão para que, quando ele for usado depois, não seja reconhecido como malicioso), mas ainda não são comuns. Na prática, podemos esperar que o nível de conhecimento necessário para planejar e executar um ataque qualitativamente melhor tenha diminuído bastante. Portanto, provavelmente veremos ataques mais frequentes e sofisticados.

Adotar novas ferramentas é empolgante — e, às vezes, avassalador. Para simplificar a integração da IA ao seu SDLC, criamos um guia rápido com oito boas práticas para ajudar você a seguir no caminho certo.

Infográfico da Snyk com oito práticas recomendadas para usar IA no ciclo de vida do desenvolvimento de software, incluindo supervisão, políticas, ferramentas, adoção e dados.

Baixe o guia rápido hoje mesmo para saber mais e inicie seu teste grátis ou agende uma demonstração com um dos especialistas em segurança da Snyk para descobrir como DeepCode AI pode turbinar seu SDLC.

Assuma o controle da segurança de IA com a Snyk

Descubra como a Snyk ajuda a proteger o código gerado por IA pelas suas equipes de desenvolvimento, enquanto oferece às equipes de segurança visibilidade e controle completos.