![OTel é o segredo para o sucesso do DevOps](https://optimuscloud.com.br/wp-content/uploads/2024/07/1719854523_OTel-e-o-segredo-para-o-sucesso-do-DevOps-150x150.jpg)
OTel é o segredo para o sucesso do DevOps
1 de julho de 2024![Deepfakes custarão US$ 40 bilhões até 2027, à medida que a IA adversária ganha impulso](https://optimuscloud.com.br/wp-content/uploads/2024/07/1719879723_Deepfakes-custarao-US-40-bilhoes-ate-2027-a-medida-que-150x150.jpg)
Deepfakes custarão US$ 40 bilhões até 2027, à medida que a IA adversária ganha impulso
1 de julho de 2024Agora que a IA está sendo amplamente utilizada no setor de tecnologia – juntamente com um aumento correspondente no número de plataformas, ferramentas e serviços de codificação baseados em IA disponíveis – os desenvolvedores estão lutando para descobrir como podem usar melhor a IA para ajudá-los a realizar suas tarefas de programação. e objetivos, usando-o para se tornar mais produtivo enquanto lida com algumas das tarefas de programação mais onerosas e demoradas.
Para esse fim, conversei com vários desenvolvedores para saber sua opinião sobre algumas das maneiras criativas como estão usando a IA. Embora muitos estejam usando ferramentas como GitHub Copilot, Claude 3 Opus, Pieces for Developers e Codeium para ajudar a gerar código e automatizar tarefas, os desenvolvedores têm explorado outras maneiras pelas quais a IA pode ajudá-los a ser mais produtivos.
1. Teste de código e análises de relações públicas
“Conheço uma pessoa que usa IA para escrever testes unitários para o código que escreve”, disse Shane Thomas, engenheiro de software veterano e cofundador da Audiofeed. “Isso economiza muito tempo escrevendo os mesmos tipos de testes repetidamente. Eles ainda precisam validar os resultados, mas parecem estar obtendo bons resultados”.
Embora o uso de IA para testes unitários tenha vantagens, outros especialistas (como Swizec Teller, líder técnico da Tia) recomendaram cautela ao confiar no uso de IA para testes. Em uma nota publicada no X, Teller sugere que os desenvolvedores devem usar IA para testes em alguns casos, como usar IA para gerar grandes quantidades de “insumos variados de produção”.
Os desenvolvedores também estão usando IA para simular revisões de código, o que pode ajudar os desenvolvedores a se prepararem para revisões com seus colegas humanos. “Conheço alguém que usa IA como primeira passagem para revisões de solicitações pull para seus colegas de equipe”, diz Thomas. “Ele me disse que recebeu comentários de outros engenheiros sobre a minuciosidade de suas análises de relações públicas… mas muitas de suas anotações foram inicialmente sinalizadas pela IA.”
2. Caminhos de aprendizagem
A educação e a aprendizagem são outra área em que os desenvolvedores estão fazendo bom uso da IA.
“Tenho usado o ChatGPT para criar um caminho de aprendizagem para mim à medida que me aprofundo nas sugestões”, disse Bekah Hawrot Weigel, defensor técnico de IA da OpenSauced. Dei-lhe instruções sobre o que deveríamos fazer todos os dias e pedi-lhe que criasse uma atividade que pudéssemos discutir.”
3. Automatizando tarefas repetitivas
Outro uso criativo da IA pelos desenvolvedores é automatizar algumas das tarefas de desenvolvimento mais onerosas e demoradas, como ajudar na manutenção de código e rastrear bugs obscuros por meio da análise de código complexo. Em um artigo recente para The New Stack, o CTO e cofundador da Tabnine, Eran Yahav, sugere que a IA ajudará a remover parte do trabalho enfadonho.
“As ferramentas de codificação de IA automatizam tantas tarefas que os desenvolvedores provavelmente descobrirão que algumas das habilidades que adquiriram não serão mais necessárias”, escreveu Yahav. “Mas tudo bem, porque muitos envolvem trabalho penoso que os desenvolvedores ficarão felizes em deixar de lado.”
4. Pesquisa baseada em IA para programadores
Embora todos os desenvolvedores dependam de ferramentas de pesquisa e IA para ajudá-los a resolver problemas de código, alguns têm usado novas ferramentas baseadas em IA para ajudar a encontrar conhecimento humano.
“Sou tendencioso aqui porque trabalho para o OpenSauced, mas criamos uma ferramenta chamada StarSearch que permite encontrar as ‘estrelas’ no espaço de código aberto indexando várias formas de atividade do desenvolvedor, incluindo o histórico do git”, disse Weigel. . “Por exemplo, você pode pedir ajuda para encontrar desenvolvedores do Tailwind que também conheçam Rust. É um ótimo exemplo de como a IA pode ir além da conclusão do código e fornecer insights mais profundos sobre código aberto, melhorando a descoberta e a colaboração do desenvolvedor.”
5. Gerando Documentação e Modelos de Dados
“Alguns dos (exemplos) realmente incríveis que uso o tempo todo são (usar IA para) escrever testes de unidade, documentação e ajudar com modelos de dados e geração de nomes”, disse Mark Widman, CTO e engenheiro fundador da Pieces for Developers.
O contribuidor do New Stack Jon Udell também escreveu sobre o uso de IA para melhorar a documentação e detalhou suas experiências com o uso de uma ferramenta baseada em LLM como Unblocked para aprimorar a criação e manutenção de documentação de código.
“Escrever documentação do zero é tão incomum quanto escrever código do zero. Mais normalmente, você está atualizando, expandindo ou refatorando documentos existentes”, escreveu Udell. “Minha expectativa era que uma ferramenta baseada em LLM preparada com código e documentação pudesse fornecer uma ajuda poderosa, e o Unblocked o fez.”
Cuidado e preocupações
Embora Widman tenha gostado de ver todo o progresso da OpenAI em geral (e da API OpenAI em particular) – especialmente como esta última está se aproximando dos fluxos de trabalho dos desenvolvedores – ele adverte que ainda há muito trabalho a ser feito para melhorar o que foi feito até aqui. “Acredito que eles ainda têm um longo caminho a percorrer em relação à privacidade de dados, suporte adicional ao sistema operacional e (e redução do grande) custo de latência”.
Já mencionei um pouco sobre o trabalho que os fornecedores de IA ainda precisam fazer na área de privacidade de dados – veja a seção “contras e advertências” em meu último artigo focado em ferramentas de desenvolvimento baseadas em IA – mas os desenvolvedores devem ter outras preocupações quando eles estão considerando usos criativos para IA. Um perigo é depender demais da IA para muitas tarefas, o que pode se traduzir em menor qualidade do código e na incapacidade dos desenvolvedores de realizar tarefas de desenvolvimento sem a ajuda da IA.
Em 2023, GitClear publicou um estudo que mostrou que o desenvolvimento assistido por IA estava colocando uma “pressão descendente na qualidade do código”, estava criando “tendências desconcertantes para a manutenção” e destacou que “… a porcentagem de linhas (de código) que são revertidos ou atualizados menos de duas semanas após serem criados – está projetado para dobrar em 2024 em comparação com sua linha de base pré-IA de 2021.”
Programação assistida por IA: o melhor ainda está por vir?
Apesar das advertências e potenciais desvantagens, o avanço inexorável da tecnologia significa que haverá ainda mais desenvolvimentos alimentados por IA no futuro, que os programadores poderão esperar e adaptar de forma criativa às suas necessidades personalizadas. Kristian Ranstrom, proprietário da Rainstorm Technologies e desenvolvedor de software experiente, aponta como ferramentas futuras, como o GitHub Copilot Workspace, podem levar a produtividade do desenvolvedor a novos patamares.
“Ainda não está aberto ao público, mas estou muito animado com o Copilot Workspace”, disse Ranstrom. “Estou na lista de espera para isso e estou animado para ver como isso vai me acelerar.”
Widman incentiva os desenvolvedores a examinar como a IA está sendo usada de outras maneiras fora do desenvolvimento de software para se inspirar e, em seguida, adaptar e aplicar esses exemplos para os desenvolvedores. Ele também acredita que surgirão casos de uso ainda mais criativos, graças ao trabalho pioneiro de pesquisadores e desenvolvedores de IA.
“Uma das coisas mais importantes pelas quais vivo é que construímos sobre ombros de gigantes, então não há mal nenhum em ver o que está disponível atualmente e aplicar em sua área para ajudar a melhorar processos, economizar tempo (e) dinheiro, e muitas outras coisas incríveis!”
A postagem 5 maneiras criativas que os desenvolvedores estão usando IA apareceu pela primeira vez em The New Stack.