Há uns tempos para cá, a inteligência artificial tem vindo a se desenvolver. Isto permite que muitas das nossas coisas que fazemos no dia a dia sejam feitas de forma automática. Neste ano, entrou na moda o nosso amigo ChatGPT e entre outras tecnologias baseadas na framework GPT-3.5 e GPT-4.
Estava eu na universidade e vi os meus colegas a utilizar esta nova ferramenta. Ao início, como estudante, não acreditava nessa ferramenta e achava uma coisa estranha. Em fevereiro deste ano entrei em estágio e decidi dar uma olhadela na ferramenta. Eu achei espetacular e ele dava ideias inovadoras sobre determinado assunto. No meu estágio, tive dificuldades numa implementação que tive que fazer que foi o seguinte.
A empresa onde estava queria utilizar procedimentos de CI/CD(Continuous Integration e Continuous Delivery). Mais para a frente vou escrever um post sobre o que é este conceito, visto que foi a cereja no topo do bolo do meu estágio. Mas para quem lê isto, vou só dar umas luzes.
Basicamente, vocês escrevem testes unitários e de integração. Vocês conseguem rodar os testes no vosso computador. Quando vocês fazem commit ou pull request de algo vocês disparam um evento no repositório Git(o pull request depende se é GitHub ou BitBucket por exemplo é o chamado webhook)
Ao disparar esse evento, uma outra máquina local ou na cloud encontra-se à escuta e vai receber esses eventos e executar uma série de comandos para testar o vosso código num ambiente próximo do servidor de produção. No fundo é isto.
Ora, eu estudei Sistemas Operativos no 2º. ano usando o sistema Linux. E falámos na rama sobre containers e abordámos muito pouco sobre o Docker.
No estágio senti dificuldade com o Docker porque estavam-me a pedir algo que eu nunca fiz principalmente num ambiente de desenvolvimento um pouco estranho para mim isto é em Windows Server 2019. O Docker também funciona com Windows. O Docker do Windows dá para Linux e para Windows mas o Docker do Linux não dá para Windows.
Ainda mais estranho era para mim.
A parte de instalar o Docker na máquina Windows até não foi a mais complicada. Eu trabalhei com virtual machines visto que o meu Windows não tinha licença para usar o Docker. Quer dizer podia usar mas com WSL(Windows Subsystem for Linux). O mais complicado foi meter o meu computador a rodar containers em máquinas virtuais. Tinha de habilitar uma opção no VirtualBox ou VMWare para suportar isso só que essa opção estava desabilitada e não dava para habilitar.
A dificuldade que tive foi com os Dockerfile. Aí é que eu fiz amizade com o ChatGPT.
Pedi ao ChatGPT para me gerar um Dockerfile que importasse o Docker do Windows Server 2019 do DockerHub e instalasse as dependências necessárias para instalar o backend.
Ele gerou-me um Dockerfile com praticamente tudo, mas teve um porém.
Compilei o Dockerfile que ele me deu e tentei executar as ferramentas que instalei e ele não funcionava por algum motivo. O ChatGPT neste aspecto não conseguiu me ajudar porque supostamente a imagem deveria funcionar. Sinceramente acho muito estranho a imagem oficial não funcionar mesmo executando como administrador de sistema. O Stack Overflow foi me útil neste momento e o meu orientador de estágio até me sugeriu divulgar a questão num fórum. Até que encontrei já alguém com o mesmo problema e afinal era da imagem. E não é que aquilo que eu queria funcionou ?
A partir daí comecei a utilizar bastante o ChatGPT nos meus estudos. E tive que aprender a filtrar aquilo que ele diz porque na verdade nem tudo o que ele diz está atualizado ou correto visto que a base de dados que ele usa é de dezembro de 2021 ou seja, ele só tem conhecimento de algumas coisas até à época da Covid-19. Se lhe perguntarem como está a Guerra da Ucrânia e da Rússia provávelmente o que ele vai dizer será qualquer coisa deste tipo: "A minha base de dados é de 2021. A única coisa que eu posso dizer é que a Rússia e a Ucrânia têm estes problemas assim e que poderão disparar uma guerra"
E outra coisa, ele até a dizer o nome das pessoas ele se engana. Se lhe pedirem para dizer quem é o YouTuber A, ele pode dar informações falsas.
E vocês perguntam-me. Porquê que isso acontece ?
O ChatGPT é uma inteligência artificial ainda em desenvolvimento. Baseia-se no chamado teste de Turing que é abordado no livro Artificial Intelligence: A Modern Approach (Russell, 1995), isto é máquina é considerada inteligente 'quando um interrogador depois das perguntas a uma máquina e a um ser humano não consegue dizer se foi a máquina ou o computador'. O ChatGPT tem muito essa característica. E todas as inteligências artificiais têm um grau de precisão que pode ser 90%, 95%, 99%( (nunca chega aos 100% sendo que se der 100% algo não está correto).
Ou seja ela nem sempre está correta mas pode ser aperfeiçoada com as atualizações.
E o quê que vocês podem fazer com o ChatGPT por exemplo como programador ?
Ora, vocês podem por exemplo fazer role plays com o ChatGPT. Se vocês querem aprender arquitetura de software e design de software, vocês podem pedir ao ChatGPT para ele vos dar um conjunto de requisitos e pedir ideias do que implementar. Isto para um programador em inícios de carreira é muito bom.
Podem pedir a ele por exemplo para ver e avaliar o vosso código e dizer se está a seguir princípios de código limpo por exemplo.
Podem pedir para vos dar uma ideia de como implementar um certo serviço.
E para outras utilidades, como por exemplo estudantes ?
Para estudantes, a primeira coisa que eu considero muito importante é verificar sempre se aquilo que ele diz é verdade. No entanto, não deixa de ser uma boa ferramenta de estudo. Por exemplo vocês podem utilizar o ChatGPT para vos dar questões de exame nacional ou questões de teste. Mas recomendo utilizar o ChatGPT para ciências e não para disciplinas como Português, porque provavelmente ele vai dar informações erradas. Por exemplo Filosofia, acho que o ChatGPT é útil por causa de argumentos lógicos embora tenham de ter cuidado com aquilo que ele diz e verificar sempre as fontes. Lá está verifiquem sempre se a informação está correta. Uma coisa que eu fiz no contexto universitário(falando agora de universidade), é se tiverem testes de um determinado professor (tem de ser perguntas teóricas) colocar as perguntas no ChatGPT e ele vai vos gerar perguntas semelhantes às do teste. Podem também colocar os temas do teste no ChatGPT e ele vai vos gerar perguntas só para aquele tema. Ele pode colocar perguntas sobre coisas que vocês não deram. Por isso tenham atenção a isso.
Em suma, a inteligência artificial veio para ficar e está evoluindo cada vez mais todos os dias. O ChatGPT já é base de algumas IA's como por exemplo o GitHub Copilot X o Bing da Microsoft e entre outras. O ChatGPT como viram tem as suas vantagens e desvantagens, e há que aprender a filtrar e a usar bem o ChatGPT. Uma coisa muito importante, o martelo foi feito para pregar, mas também pode ser usado para fazer outras coisas erradas. Ou seja, o martelo é uma ferramenta e o homem é que escolhe como a usar. Se eu usar o ChatGPT muito bem, ele vai me dar aquilo que eu quero. Se eu usar mal, ele vai dar coisas erradas.