Escrito por Hamilton Francisco Culik,

4 minutos de leitura

ChatGPT: usos da perspectiva de um Dev Junior

O ChatGPT é um modelo de IA conversacional que veio para ajudar e melhorar nosso trabalho, podendo gerar respostas de texto semelhantes às humanas.

Compartilhe este post:
mãos segurando um celular usando o chatgpt
exemplo de uso do chatgpt

Dall-E cria uma visualização comparando o interesse em buscas sobre IAs acabarem com empregos desde o lançamento do ChatGPT. Por /u/Metalytiq ChatGPT:

 

Usando o ChatGPT como ferramenta de crescimento

Em tempos recentes (2022-2023), uma nova onda de poderosos modelos generativos de IA vem ganhando popularidade, capazes de produzir textos, arte, música e muito mais, com uma qualidade altamente sofisticada. Embora este aspecto da tecnologia da IA tenha crescido constantemente ao longo dos últimos anos, suas impressionantes conquistas parecem explodir com avanços inovadores a cada ano e, finalmente, chegamos ao ponto crítico em que suas capacidades atraíram os olhos e a atenção do público.

Embora o poder desses modelos seja impressionante o suficiente para que alguns estejam preocupados com seu impacto em seus empregos e estilo de vida (a longo prazo), a verdade é que esses modelos ainda estão longe de substituir completamente os empregos de qualquer pessoa, ao invés disso, eles podem ser ótimas ferramentas para ajudar e melhorar nosso próprio trabalho da mesma forma que um segundo par de olhos ou mãos treinadas seria capaz de nos ajudar em nossos esforços intelectuais.

Um desses modelos de IA que vem fazendo ondas é o ChatGPT, que é baseado no modelo de linguagem Generative Pre-trained Transformer (GPT). O ChatGPT é um modelo de IA conversacional que pode gerar respostas de texto semelhantes às humanas. É importante notar que, como o ChatGPT foi treinado em um grande conjunto de dados de conhecimento, ele também é capaz de reproduzir uma quantidade muito ampla de ‘conhecimento’ reunida por seu treinamento. Assim, ele é capaz de ajudar com muitos assuntos diferentes (Sério, o céu é o limite), ao mesmo tempo em que tem também grandes habilidades de Processamento de Linguagem Natural, sendo capaz de inferir o contexto e entender profundamente a relação entre todos os assuntos em qualquer coisa que você possa inserir como seu texto de entrada.

 

Casos de uso e os mecanismos do ChatGPT

Para deixar as informações reaplicáveis desse blog concisas para os leitores, os exemplos aplicados serão deixados após a conclusão, para que assim você possa ler primeiro a mensagem principal e, caso queira ver uma demonstração, poderá acompanhá-la depois da leitura.

Naturalmente, estaremos prefaciando nossos casos de uso mencionando também que, mais uma vez, o ChatGPT está muito, muito longe de ser perfeito. Ele não é consciente e não compreende nada do que você possa dar a ele. Ajuda muito ver tudo o que ele produz num sentido matemático e estatístico muito rigoroso de “Dado o texto anterior, quais são as palavras mais prováveis para segui-lo de tal forma que a totalidade do texto faça o maior sentido possível”. Este ponto de vista nos permite chegar a duas lições importantes que, se você tivesse que escolher, também deveriam ser as que você deve tirar deste post.

 

As duas lições de ouro para o uso do ChatGPT 

1. O ChatGPT não é confiável quando se trata de informações lógicas ou factuais correlacionais. Ele pode fazer alguns pequenos deslizes na lógica inerente da linguagem, precisamente porque ele não entende a linguagem em si, a informação real e como todos os conceitos que interagem estão, neste momento, muito além do que um modelo de linguagem como o GPT é capaz de entender. Ênfase na palavra entender, ele meramente irá produzir estatisticamente o que parece razoável para seguir qualquer declaração ou palavras anteriores. Ele lançará alguns números simplesmente estranhos para coisas que, para um leitor atento, saltarão imediatamente a atenção, portanto NÃO confie cegamente nele. Ao utilizá-lo para assistência, se você depender de qualquer informação factual em qualquer ponto, tente procurar a frase exata que o modelo retornou e sempre verifique se o que ele diz está válido e consistente. Para os desenvolvedores, um exemplo em que o modelo pode se confundir é com nomes de bibliotecas ou sintaxe específica para bibliotecas: ele pode fundir a sintaxe para duas bibliotecas diferentes ou até mesmo criar métodos e funções com nomes razoáveis, simplesmente porque é o que faria sentido de seguir o conceito do texto que está sendo gerado.

2. “Prompt Engineering” (Engenharia de prompt) é um conceito crucial. Resumidamente, tudo da forma que você inseriu sua entrada importa para a saída que você terá, por isso, para obter bons resultados do ChatGPT, esteja sempre consciente que o que você inserir afetará diretamente na saída pela tendência do modelo de “repetir” conceitos passados nas perguntas. Muito da intuição virá com experiência e é por isso que pensar em todo o modelo em um sentido estatístico pode ser de grande ajuda, as palavras-chave que você usa direcionam para o que parece ser uma saída válida no espaço latente. Se eu te perguntasse o que vem depois de “A União faz a…?”, você diria “Açúcar” ou “A força”? Conversamente, o que seria uma resposta para “A união faz…?”. As respostas possíveis aumentam bastante.

 

Os casos de uso

Finalmente, focalizando inteiramente nos casos de uso para um desenvolvedor, lembre-se que ele deve ser usado principalmente como um catalisador de crescimento e considere que sua pergunta sempre orienta muito da solução para quaisquer problemas que você possa dar ao ChatGPT. Se você for muito específico e limitante em suas exigências, a solução também tenderá a ser muito específica e possivelmente você não aprenderá nada de novo, entretanto, se você entregar ao ChatGPT um problema como é sem restrições, você poderá se surpreender com as soluções que ele oferece. Quando confrontado com problemas que você não tem ideia de como resolver, deixar o ChatGPT produzir uma solução possível sem dizer explicitamente suas limitações muitas vezes levará a soluções criativas das quais você não tinha ideia, o que poderá levá-lo a novos locais de pesquisa para seu próprio crescimento, como um Desenvolvedor Sênior poderia identificar casos de uso para uma técnica obscura que ele teve que usar anteriormente e você não poderia saber como procurar por ela. Afinal, como se sabe e se busca o que não se sabe procurar?

Este vão de conhecimento entre o que você sabe, o que poderia perguntar e o que o ChatGPT é realmente capaz de produzir pode ser usado de muitas maneiras produtivas não só para encontrar novas soluções para alguns problemas, mas também como uma diretriz geral de estudo. Você pode pedir exemplos aplicados em algumas técnicas com as quais você não está familiarizado, ou até mesmo pedir técnicas gerais de codificação agrupadas em grupos de dificuldade (como Iniciante , Intermediário e Avançado). O ChatGPT produzirá em segundos o que levaria pelo menos algumas horas de boa pesquisa na internet, ou uma boa sessão de leitura de livros.

+++

Não se assuste com os recentes desenvolvimentos dos modelos generativos, mas também não permita que a oportunidade de pelo menos experimentar esses modelos passe intocada. Os modelos generativos atuais serão ferramentas extremamente úteis que poderão ajudar muito uma boa parte das atividades e sem dúvida terão um impacto muito substancial em nossa cultura. Se você lembra de alguns de seus professores dizendo que você não estaria andando com uma calculadora por onde quer que fosse, agora é o momento de pensar na verdadeira lição que veio com o que eles disseram e considerar como serão as coisas pro futuro. Então, não tenha medo de experimentar com a tecnologia a vontade.

 

Amostras de usos aplicados

+++Consulta dinâmica de SQL

Um caso aplicado no qual foi utilizado o ChatGPT para auxílio foi na elaboração de uma consulta no SQL que estava, no momento, além dos conhecimentos que eu tinha sobre SQL em geral. Tendo o desafio de elaborar uma consulta capaz de realizar um Checksum em diversas colunas simultaneamente, porém, ainda mostrar o resultado individual de cada coluna (O propósito da consulta era validar o processo de migração entre dois sistemas), fez com que eu me visse sem saída para como criar uma consulta capaz de realizar essa validação apenas recebendo o schema e nome da tabela.

Oferecendo o desafio diretamente ao ChatGPT foi possível obter alguns direcionamentos para a solução em geral, note que durante a formulação da pergunta em si, eu já ofereci as informações importantes que eu tinha de como eu gostaria que a solução parecesse ou que eu já sabia, como por exemplo a existência do INFORMATION_SCHEMA.COLUMNS como meio de obter o nome das colunas de uma tabela sem conhecer a tabela em si, além da limitação do uso de Cursors.

exemplo de uso do chatgpt

Logo de início, já temos novas informações, o conceito de consultas dinâmicas não era conhecido por mim antes dessa resposta do ChatGPT, o que abriu alas a muitas pesquisas seguintes. Porém, é possível notar que mesmo a resposta oferecida atualmente ainda é imperfeita, por exemplo não utilizando o valor de COLUMN_NAME e também não utilizando o INFORMATION_SCHEMA.COLUMNS fornecido.

Redirecionando o modelo na mesma conversação e lembrando ele de utilizar as informações que demos antes (já que gostamos da solução fornecida), o modelo já aplica melhor a construção da consulta dinâmica. O resultado ainda não é perfeito, mas o caminho está andado o suficiente para que possamos terminar nós mesmos.

exemplo de uso do chatgpt

 

+++Técnicas de SQL do iniciante ao avançado

A resolução do problema anterior deu indícios que há muitas técnicas que eu ainda não saberia reconhecer por nome ou aplicabilidade possível, logo, a seguinte pergunta foi realizada com o intuito de ao menos listar e poder se adquirir o conhecimento das técnicas. Observe que o uso da formatação esperada (como uma lista ordenada, ou o agrupamento de categorias) é intencional, pois assim, é mais provável que o modelo “diga o óbvio primeiro” e logo após repasse informações úteis. Também são oferecidos alguns exemplos de técnicas esperadas, como as consultas dinâmicas do exemplo anterior, pivots e cursors para incentivar o modelo a gerar uma saída com conceitos relacionados a técnicas desse tipo.

exemplo de uso do chatgpt

exemplo de uso do chatgpt

Nesse contexto, já é possível observar que a consulta funcionou como esperado, deixando os conceitos mais básicos e óbvios pelo início e oferecendo sugestões mais realistas no final. Embora alguns dos conceitos gerados no final não sejam exatamente técnicas de consulta (Novamente, o modelo é longe de ser perfeito), já são bons indícios de alguns exemplos com boa utilidade para pesquisar e também estar ciente das possibilidades na hora de criar novas consultas em SQL para frente.

Compartilhe este post: