Do xadrez ao código, chat gpt se contradiz dentro de suas próprias sugestões
Fala pessoal, sou novo aqui e esse é meu primeiro post.
Eu resolvi testar alguns limites do chatgpt e saber como ele se comporta no contexto de uma conversa aonde eu tentasse força-lo a fazer algo um pouco complicado. A ideia era utilizar a linguagem do xadrez, que, pra quem não sabe, tem um linguajar próprio para o movimento das peças (ex: Kc5 significa que o cavalo está pulando para a casa c5) para jogar uma partida por texto contra o chatgpt.
A primeira coisa que tentei perguntar pra ele é se ele era capaz de jogar xadrez:
ele respondeu que, por ser uma IA, ele não era capaz de jogar xadrez comigo, mas poderia me dar conselhos e me mostrar estratégias. Eu não desisti, então resolvi enviar uma possível jogada inicial, aonde o peão branco da casa e2 se moveria para a casa e4, para ver o que ele me responderia
A resposta dele foi exatamente o que ele disse que iria fazer, me dar informações sobre a jogada que acabei de enviar para ele. Mas e se eu pedisse para ele escolher uma possível jogada de pretas?
Bom, ele escolheu a jogada dele e deu informações sobre o que poderia acontecer após aquela jogada que ele escolheu.
Mas, se eu fiz uma jogada e ele fez a outra, tecnicamente estamos jogando, não!? Pra melhorar isso eu resolvi pedir pra que ele não me desse mais informações sobre próximas jogadas e, depois, fiz mais uma jogada.
Ela a princípio pareceu entender que já estavamos jogando, respondeu dizendo que iria continuar jogando comigo e só iria responder aos meus movimentos. Desta vez, joguei o cavalo, que começa na casa b1, para a casa b4. Após fazer a jogada o chat parece que esqueceu da mensagem anterior dele dizendo que apenas responder as nossas jogadas anteriores e me deu, novamente, uma resposta dando contexto sobre a jogada e falando sobre quais são as possíveis próximas jogadas de preto.
Eu segui nessa tentativa de fazer com que eu não tivesse necessidade de explicar que estamos jogando e pudesse mandar apenas a próxima jogada esperando q ele me devolvesse com a jogada dele
Mas, como podem ver, se eu não fosse conciso e falasse ${jogada}, your turn
ele tendia a voltar a me dar contexto sobre o que poderia fazer a seguir.
O jogo terminou exatamente nessa parte, pois a jogada que ele tentou fazer Nd4 não era uma jogada válida a ser feito, uma vez que o meu bispo estava bloqueando o cavalo dele, havia uma cravada no rei. Tentei fazer ele refletir sobre aonde estavamos no jogo para avaliar se a jogada realmente poderia ser feita
Ele insistiu no erro e, de novo, disse que Nd4 era uma jogada válida. O que me deixou um pouco inseguro, será que eu tinha entendido errado? ou será que eu reproduzi as jogadas de forma incorreta no meu tabuleiro de xadrez? Então perguntei pra ela se o bispo bloqueava o cavalo de fazer a jogada para d4 e só após essa pergunta sobre o erro que ela percebeu que não era uma jogada válida
Isso me trouxe uma boa visão sobre possíveis erros que podem acontecer por causa da IA. A tendência é que essas IAs melhorem com o tempo, principalmente com o google e a microsoft tentando trazer essas IAs para os buscadores online
Outra dúvida que me vem é se ferramentas de IA conseguiriam substituir a experiência de fóruns de discussão, como o stackoverflow. Nos fóruns temos acesso a diversas opiniões e pontos de vista diferentes sobre o mesmo tópico. Caso essas opiniões virem um 'monopólio' da IA, a princípio, perderiamos um pouco o acesso a informações diferentes. E, se a nossa fonte de informação for única, caso a nossa fonte erre nós também erramos.
Um exemplo na programação foi um dia em que eu implementei o seguinte trecho de código para gerar um id de 8 digitos
Esse dia estava testando o uso do chat pra code review, para saber se conseguia bons insights e possibilidades de melhoria no meu código. O chat criticou essa parte informando que poderia haver um hash collision, ou seja, diferentes inputs gerando um mesmo id.
Eu já sabia dessa possibilidade, mas para o caso de uso daquela classe faria sentido pra mim correr esse pequeno risco, visto que a variedade de dados não vai ser muitos grande e eu só precisava de um identificador simples. Por curiosidade eu queria saber mais sobre o que o chat estava me sugerindo de fazer. Então tentei explorar esse tópico com a seguinte mensagem:
Eu fui tentando entender o por quê dele ter me sugerido o bcrypt com salt, mas acredito que tenha sido pelo mesmo motivo do jogo de xadrez, o chatgpt ainda se embaralha no contexto das informações.
No fim ele avisa que eu poderia usar o sha1 de uma forma truncada, e aí eu, desacreditado, pedi pra ele me explicar o que era isso.
)
Ele me sugeriu de utilizar o código que eu já havia implementado inicialmente, o que me deixou muito surpreso hahah
Ao avisar para ele o que ele avia feito ele também percebeu que se contradisse
chat percebe que foi contraditorio
O que vocês acham sobre isso? será que no futuro poderemos confiar em uma única fonte de dado como uma IA?