Executando verificação de segurança...
3
nauva
2 min de leitura ·

Sobre a notícia: Programação não é com IA - Os atuais LLMs são bons o suficiente para muitas aplicações, mas não para programação

Bom, estou iniciando minha vivência no TabNews com uma pequena curiosidade, mais para fins de teste da plataforma e saber principalmente qual a opinião de vocês a esse respeito.

Hoje eu recebi a newsletter do Deschamps, intitulada: "Programação não é com IA / Nova UI / Governo: fuga de talentos", e confesso que ao ler o trecho "Para respeitado professor de Ciência da Computação, os atuais LLMs são bons o suficiente para muitas aplicações, mas não para programação", vi ecoar o meu grito de desabafo silencioso. O professor Bertrand Meyer disse exatamente aquilo que eu vinha percebendo no decorrer da minha experiência com a plataforma da OpenAI, o ChatGPT. A cada 10 respostas da IA, 11 são pedidos de desculpas, ao invés do ChatGPT progredir e aprender a não ser desleixado nas respostas, ele simplesmente aprendeu o pior que temos a oferecer: Pedidos de desculpas esfarrapadas e intermináveis. E num lapso de empatia, como que conversando com outro humano, quando pergunto se a desculpa foi sincera ele ainda diz que não é uma pessoa para pedir desculpas. Eu tento ser o mais pragmático possível na geração de prompts, afinal estou lidando com uma 'máquina', mas às vezes me foge a coinsciência e me pego discutindo com a IA: "Não peça desculpas, forneça a resposta sem conceitos genéricos...", "Não peça desculpas, o tempo que você gasta pedindo desculpas poderia ser melhor usado em uma resposta correta..." Você sabe qual é a resposta da IA, mais uma vez ela pede desculpas.

Na minha opinião, o ChatGPT se tornou uma 'máquina' especialista em pedir desculpas por dar respostas tão desleixadas e desprovidas de senso de confiança, pelo menos na progamação. Eu gostaria muito de saber o que vocês acham a respeito do assunto, é só impressão minha? Acontece o mesmo com outras IAs?

Obrigado pela oportunidade de fazer parte disso (TabNews).

Carregando publicação patrocinada...
2

Muito se fala sobre como o chatGPT e as IAs vão substuir os humanos, mas confesso que sempre que tento utilizar o GPT para alguma ajuda de código só piora minha situação, fica tudo muito confuso e desorganizado, prefiro eu mesmo quebrar a cabeça e escrever meu proprio codigo que pelo menos vai ser legível e limpo.

2

Pois é, eu vejo muita gente dizendo que consegue fazer coisas incríveis, códigos maravilhosos, ganhos de produtividade absurdos, etc. E fico com a impressão de que sou o único que não consegue.

Sempre perco mais tempo do que eu gastaria se fizesse sozinho ou pesquisando no Google. Devo ser muito burro ou azarado, <sarcasmo>talvez eu devesse fazer aquele curso de engenharia de prompt que vi no YouTube</sarcasmo>.

1

Veja https://www.tabnews.com.br/kht/video-entendendo-como-chatgpt-funciona-rodando-sua-propria-ia. E lá eu dou link para outro vídeo bem interessante.

Há uma histeria muito grande. Tão grande que eu acho um dos maiores fenômenos da sociedade, parecido com a grande inquisição da igreja católica. O que é irônico. Nem todo mundo entenderá a ironia.

Como dito em outros comentários aqui e em outros lugares, está difícil ver esse ganho todo que as pessoas dizem que tem. Até mesmo de pessoas que eu sempre considerei sensatas. Mas elas não conseguem demonstrar o resultado. Por incrível que pareça, e pelo que conheço de algumas, eu acho que elas estão subestimando a capacidade delas, sei lá porque, não sou psicólogo.

Claro que a IA é uma ferramenta que ajuda, mas muito menos do que parece, ainda. Eu ainda não consigo usar de forma positiva. Tenho mais prejuízo do que ganho. O saldo é negativo. Pode ser que dê mais ganho que perda para algumas pessoas. Mas ainda não me entra na cabeça como bons programadores conseguem dizer isso.

Mas isso parece ser um sintoma geral da sociedade. Tem horas que eu me pego questionando se não sou eu que estou fora da realidade, de tanto que as pessoas são insistentes nessa ideia que a IA está fazendo tudo isso. Mas há indícios que estou mais perto da verdade, ainda que eu sei que errarei nos detalhes, por isso não falo muito deles.

O que me deixa mais confortável é que tem um assunto, que não vou dizer qual é porque gera muita polêmica, e quero respeitar as pessoas que pensam diferente, alguns dizem que 75%, ou por outro critério pode ser 93% das pessoas que acreditam que certa coisa é de um jeito e a ciência claramente diz que é de outro jeito. Então estar com a maioria não é sinal de estar certo. Poderíamos pegar vários exemplos na programação para mostrar o mesmo. A histeria tende a pegar a maioria, e esse mesmo assunto pega pessoas com doutorado porque elas foram acostumadas com essa mentira desde criança, ela não consegue largar.

Eu espero que a histeria diminua, mas o que vemos nas redes sociais, em diversos assuntos, principalmente sócio-políticos, não acontece, é um fenômeno muito forte. O fato de ser fácil achar pessoas da mesma bolha para confirmar o viés falso acaba dificultando chegar em um termo mais razoável.

A IA tem exatamente essa limitação que está vendo agora. Não importa o tipo. Vai melhorar, mas não será exponencial como as pessoas acham. A não ser que descubram algo que revolucione o universo.

Eu adoraria que a IA fosse tudo o que as pessoas acham que ela é.

Hoje, para programação, só ajuda de verdade programadores que não sabem programar. Os outros ela ajuda também, como IDE ajuda. Mas sabe quais são as maiores ajudas que o programador recebeu até agora?

  1. Linguagem de alto nível
  2. Modularização
  3. Gerenciamento automático de memória

Todas inventadas nos anos 50, quando começou se falar em IA, curiosamente essas invenções foram criadas mais ou menos para a linguagem que deveria ser usada para IA :D

Curiosamente frameworks também ajudaram muito, mas com menos qualidade e mais para quem não sabe programar. A IA pode entrar nesse patamar.

Mas o maior problema da IA é que ela erra demais, e não sabe disso. E não consegue se corrigir tanto quanto as pessoas acham. Existe sim uma alucinação sobre o assunto. Ou então eu estou alucinando junto com tantos outros.

Na programação o resultado é até acima da média,na minha percepção. Mas é das áreas que mais podemos provar o erro dela.

Entenda que boa parte do que as pessoas estão falando do uso de IA estão arrumando mídia para si. Ela desvaloriza o próprio trabalho para aparecer porque está fazendo algo diferente e incrível. Ele é o "homem que mordeu um cachorro" para usar um exemplo do que o jornalismo usa sobre o que é notícia, ninguém quer noticiar o cachorro que mordeu o homem.

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

1

Se você quer ter uma resposta mais específica para o seu caso de uso, você pode tentar enviar esses dados pro chatgpt: Linguagem, framework, caminho+conteúdo dos arquivos importantes e uma mensagem pedindo o que você quer em forma de prompt.

Eu estou fazendo vários experimentos nesse sentido porque tenho um projeto pessoal que é exatamente isso, fazer o chatgpt programar em projetos específicos.

Ainda assim o ChatGPT erra bastante, então comecei a desenvolver uma forma de melhorar isso e esse é o meu plano:

Criação de um Dataset

É possível fazer o ChatGPT responder com os seus dados, mas para isso é necessário que você faça "fine tuning" (simplificando, você monta um arquivo de texto com uma lista de jsons, cada json com "input" e "output", e aí quando o chatgpt receber determinado input, vai retornar seu output correspondente).

O bom é que o chatgpt vai generalizar seus inputs e outputs usando algoritmos avançados da OpenAI, ou seja, com uma quantidade relativamente pequena de dados, você consegue bons resultados.

Na programação é muito fácil ver projetos com estrutura e padrões diferentes, mesmo dentro de uma mesma empresa, seres humanos conseguem distinguir bem um padrão do outro, mas uma LLM não (a não ser que seja ensinada...).

O dataset que estou montando pro meu projeto tem esses campos:

  • linguagem
  • framework
  • arquivos_de_contexto { path, original_content, modified_content }
  • mensagem

Feedback Humano

Pra montar um dataset, é quase inevitável ter algum tipo de feedback humano, por isso montar datasets é algo trabalhoso e demorado.

No meu projeto, criei um banco de dados MongoDB que salva os dados acima junto com um ID e um STATUS que diz se aquela "missão" já foi revisada ou não. É possível fazer alterações na mensagem, no código e nos arquivos de contexto.

Aprendizagem Contínua

Se você quer fazer o chatgpt ficar afiado em algum assunto específico, incluindo programação, você precisa fazer o "fine tuning" de novo e de novo... Essa parte eu ainda não fiz, provavelmente vai demorar algumas semanas até eu conseguir transformar um banco MongoDB em um arquivo "jsonl" de fine tuning. Se tudo for dando certo, pretendo deixar esse processo rodando em uma cron, assim a cada X dias a IA fica mais esperta.

Comunidade

Esse é o ponto mais difícil pra mim, mas se você conseguir se juntar com pessoas que também querem fazer o chatgpt programar, juntos talvez consigam chegar mais longe.


É isso, acho que não tem uma "fórmula mágica", pro ChatGPT ficar bom ele precisa de uma ajudinha, e precisa que entusiastas, engenheiros e cientistas continuem tentando. Acho que também foi difícil criar uma lâmpada pela primeira vez, e ela não era muito boa... Hoje em dia faz parte do cotidiano, talvez o ChatGPT seja a nova lâmpada

1

Rapa, que texto bom!!! A um tempo eu tenho percebido a mesma coisa, quanto mais me aprofundo em problemas complexos, mas eu olho pro gepeto com desdém "Eu produzo mais e peço menos desculpas" kkkkkkkkk