Se você é um desenvolvedor, programador ou engenheiro de software, pode ter ficado alarmado com os recursos demonstrados pelo aplicativo de software em alta do momento.
O ChatGPT foi lançado em forma beta pública um pouco antes do Natal. É um chatbot desenvolvido com o GPT-3 large language model (LLM) projetado para usar IA generativa e processamento de linguagem natural (PLN) para produzir texto quase indistinguível daquele escrito por humanos. Devido às suas habilidades impressionantes, rapidamente se tornou viral e, até agora, acumulou milhões de usuários.
Diga ao ChatGPT para escrever um poema sobre árvores no estilo de Shakespeare, ou um artigo sobre as aplicações da IA na indústria, e é isso que você receberá.
O que chocou muitos que ganham a vida escrevendo software, no entanto, é que ele também é capaz de criar código de computador. Diga a ele para fazer isso e ele criará com prazer páginas Web, aplicativos e até mesmo jogos básicos em qualquer uma das várias linguagens de programação diferentes. Isso inclui Python, C e JavaScript, algumas das linguagens mais usadas para desenvolvimento de software.
Romancistas, redatores e jornalistas estão confiantes de que, embora possa produzir resultados impressionantes, o ChatGPT ainda não está no estágio em que eles ficam imediatamente preocupados com seus empregos. O texto em prosa que o ChatGPT produz carece de personalidade, um tanto sujeito a erros factuais e criado principalmente com o objetivo de incluir todas as informações necessárias. Isso significa que não leva em consideração se sua saída é interessante, divertida, assustadora ou capaz de provocar qualquer outra emoção que um escritor pretenda transmitir. Todos esses fatores são importantes se a sua escrita precisa envolver os leitores.
Quando se trata de escrever código, no entanto, nada disso realmente importa – tudo o que é importante é que o programa criado faça o trabalho que deve fazer. Ou funciona, ou não. Os intérpretes que pegam código gerado por humanos (ou máquinas) e o executam como aplicativos não desistem de lê-lo no meio do caminho porque não é interessante o suficiente!
ChatGPT e PLN são uma ameaça para o trabalho de programação e engenharia de software?
Apesar de tudo isso, parece que o pensamento atual é que o ChatGPT e outras tecnologias de PLN disponíveis hoje não tornarão imediatamente redundantes todos os desenvolvedores, programadores e engenheiros de software.
Para começar, o ChatGPT só pode criar programas relativamente simples. Peça algo muito complexo – como um jogo sofisticado ou aplicativo de negócios, e ele admitirá sua fraqueza e dirá que a tarefa está além de suas habilidades.
Os computadores ainda não podem nos dizer, por exemplo, que tipos de código ou aplicativos são necessários para alcançar o que estamos tentando fazer. Mesmo que saiba disso porque contamos, então o ChatGPT, em particular, não pode (no momento) tentar criar este software que especificamente nos dá como usuários uma vantagem competitiva sobre os usuários de outro software.
Por exemplo, não podemos dizer a ele para “crie uma plataforma de comércio eletrônico mais eficaz em vendas do que a Amazon”. Se quiséssemos isso, ainda teríamos que gastar tempo e esforço para primeiro descobrir o que torna a plataforma da Amazon tão boa e depois encontrar uma maneira de fazê-la melhor.
Devido a isso, o ChatGPT (e outras ferramentas atuais baseadas em PLN) ainda têm eficácia limitada quando se trata de criar software projetado para nos dar uma vantagem nos negócios ou, de fato, para competir com a criatividade e engenhosidade humana.
Uma ressalva aqui é que, embora possamos fazer o possível para extrapolar o que pode acontecer no futuro, na realidade ninguém tem uma bola de cristal. É justo dizer que muitas pessoas que estavam acostumadas com IAs conversando no nível de Alexa ou Siri ficaram um tanto chocadas com a qualidade do ChatGPT.
Desenvolvimentos futuros podem de fato aumentar a velocidade com que estamos viajando para um ponto no tempo em que programadores humanos – ou muitos outros tipos de profissionais – simplesmente não serão necessários. Por enquanto, no entanto, podemos ter certeza de que ainda existe uma ampla gama de habilidades necessárias para desenvolver software que os computadores provavelmente não serão capazes de replicar tão cedo.
Então, como o ChatGPT e outras ferramentas de PLN podem ser usadas pelos desenvolvedores hoje?
Os programadores com quem conversei sobre o ChatGPT – e possíveis evoluções futuras da tecnologia – me dizem que, em vez de uma ameaça, no momento, é uma ferramenta muito valiosa.
Ele pode ser usado para gerar estruturas rapidamente e delinear compilações de aplicativos, fornecendo informações sobre como os dados devem ser estruturados e quais recursos de interface do usuário são necessários.
Como resultado disso, pode ser ótimo como uma ajuda para “marcar caixas” – em outras palavras, garantir que sua estrutura de código cubra todas as bases necessárias para que seu aplicativo faça o trabalho.
Costuma-se escrever que, assim que o ChatGPT tornar os cargos redundantes, ele criará novos. O ChatGPT aparentemente tem a capacidade de acelerar enormemente muitas tarefas de rotina – tanto em programação quanto em outras funções – mas isso envolverá novos conjuntos de habilidades. Isso inclui desenvolver as habilidades necessárias para criar os prompts que farão com que ele faça o que é necessário.
Como mencionado acima, diga a ele para criar um software complexo e ele encolherá os ombros. Mas diga a ele para dividir as tarefas necessárias para fazê-lo em partes e, em seguida, comece a trabalhar nessas partes uma a uma, e é mais provável que você comece a chegar a algum lugar.
Portanto, é improvável que todos os anos que você passou aprendendo sobre programação e engenharia de software tenham sido desperdiçados. Você ainda precisará desse conhecimento e experiência para ajudá-lo a escolher os prompts certos e garantir que a saída do ChatGPT esteja no caminho certo.
Como um desenvolvedor com quem conversei sobre essa situação me disse: “Sinto que é mais provável que meu papel se torne supervisor – estarei supervisionando equipes de programadores de robôs e fazendo coisas que eles ainda não podem fazer. Por exemplo, apresentar as ideias originais para quais tipos de aplicativos são necessários.”
Além de criar um novo código, outra função útil do ChatGPT é depurar o código existente (ou mesmo o código que ele mesmo criou). Qualquer programador lhe dirá que a depuração – o processo de encontrar e corrigir erros – geralmente é um processo trabalhoso que requer a verificação de grandes quantidades de código para descobrir o que está errado. De acordo com quem já está usando para ajudar na codificação, o ChatGPT não só pode automatizar esse processo, mas também pode explicar por que o código não está funcionando.
Nos últimos cinco anos, passei muito tempo conversando com as pessoas sobre como a IA provavelmente afetará seus empregos ou indústria, e a única palavra mencionada em quase todas as conversas é “aumento”.
O que isso significa é que aqueles de nós que são capazes de descobrir como pegar a nova geração de tecnologia e usá-la para aumentar nossas próprias habilidades provavelmente prosperarão.
Isso significa usar o ChatGPT para automatizar as tarefas repetitivas e de baixo valor que anteriormente ocupavam muito do nosso tempo. Ao mesmo tempo, temos que descobrir como usar melhor o tempo que isso libera para usar com mais eficiência as habilidades que os computadores ainda não podem substituir – pensamento criativo, estratégia, solução de problemas e inteligência emocional são alguns exemplos principais. Adotar essa abordagem para o surgimento disruptivo de ferramentas e aplicativos de IA em nosso setor – seja você um programador de computador ou um médico – é a melhor maneira de garantir que permaneçamos úteis e relevantes na era da IA.
Traduzido do original: How ChatGPT And Natural Language Technology Might Affect Your Job If You Are A Computer Programmer
David Matos
Referências:
Fundamentos de Linguagem Python Para Análise de Dados e Data Science (com ChatGPT)
How ChatGPT And Natural Language Technology Might Affect Your Job If You Are A Computer Programmer