Nos meus estudos sobre inteligência artificial e métodos de aprimorar meus conhecimentos sobre RAG (modelo de controle via documentos) e de Engenheraria de Prompt (modelo de controle via linguagem natural humana), me deparei com três artigos que me fizeram aprofundar as reflexões sobre modelos de aprendizado de máquina, principalmente as IA’s generativas:
- The Brains Behind AI: How Pavlov’s Dogs & Weight Loss Tips Influenced Reinforcement Learning, de Anirudh VK. – https://analyticsindiamag.com/the-brains-behind-ai-how-pavlovs-dogs-weight-loss-tips-influenced-reinforcement-learning/
- The Application of Artificial Emotions in Artificial Intelligence, de Yonze Gu – https://www.atlantis-press.com/proceedings/sdmc-21/125968615
- Reinforcement learning: AI meets Pavlov’s dog, de Carolina Allende – https://blog.marvik.ai/2023/06/16/reinforcement-learning-ai-meets-pavlovs-dog/
Todos eles abordam, de diferentes maneiras, o uso da psicologia clássica de Ivan Pavlov para o aprendizado de máquina utilizando os conceitos de Condicionamento Clássico e Reforço.
- Condicionamento Clássico: Descoberto por Pavlov, esse processo ocorre quando um estímulo neutro é repetidamente emparelhado com um estímulo incondicionado que naturalmente desencadeia uma resposta reflexa.
- Reforço: No contexto do condicionamento clássico, o reforço envolve a apresentação do estímulo incondicionado para fortalecer a associação entre o estímulo neutro e a resposta.
Desde que tive contato com esses artigos e utilizei o que aprendi de Pavlov nos meus anos de estudos sobre psicologia e educação (As teorias de Pavlov, apesar de ultrapassadas, ainda são a base para a compreensão do desenvolvimento infantil), comecei a pensar, teorizar e colocar em prática alguns conceitos ao fazer tanto engenharia de prompt, quanto o RAG para programar modelos de bot baseados em LLM (Large Language Models), os modelos de IA generativa que se tornaram bastante populares no último período por ferramentas como o ChatGPT, o Copilot, o Bard, entre outras.
No início minhas experimentações foram bastante limitadas, gerando bots que respondiam apenas de maneira automatizada e perdiam muito da contextualização que os fez serem tão populares e poderosos. Eram bots que mais pareciam Inteligências Artificiais clássicas e perdiam completamente sua maleabilidade graças a um controle completamente restritivo que eu gerei a partir dos métodos pavlovianos.
Nas experiências com colegas e pessoas próximas, a sensação era de “mais do mesmo”.
Porém houve um ponto de virada, ao pensar em outro autor famoso que estudou o comportamento humano e também o processo de aprendizado humano. Foi quando Paulo Freire entrou na jogada com seu conceito de Educação Popular.
Paulo Freire entra em Campo
Para Paulo Freire, o processo de educação popular é um método de educação que valoriza os saberes prévios do povo e seu arcabouço de conhecimentos e cultura na construção de novos saberes.
De alguma forma os conceitos de LLM’s se encaixaram nisso, o que não é uma surpresa ao analisarmos todo o conceito que envolve esses modelos de Inteligência Artificial, construídos por base de uma ampla variedade de conhecimentos humanos previamente colocados em seu processo de aprendizado.
Era possível então utilizar o conhecimento prévio de LLM’s na criação de bots mais eficazes e que se aproximassem do comportamento humano. Em alguns casos, conhecendo o conhecimento prévio dos Bots, seria possível até mesmo criar bots perfeitamente funcionais sem a utilização da estrutura de RAG, limitando o seu acesso ao conhecimento utilizando linguagem natural ao invés de RAG. Para isso, assim como um professor em sala de aula, qualquer tipo de aprendizado pressupõe conhecer seu aluno.
Meu primeiro teste tem sido a criação de Karl Marx, ao qual venho aprimorando e desenvolvendo a partir de feedback de algumas pessoas que utilizei de cobaia para conversar com a versão de inteligência artificial do velho barbudo.
O KarlBOTMarx já estão em sua versão 7.2 e utiliza a Claude Instant (uma IA já ultrapassada, visto que é a versão um do LLM desenvolvido pela empresa Anthropic e nesse momento o Claude já está em sua versão 3). Foi interessante notar como, mesmo com um modelo bastante atrasado, o bot responde bem as requisições e utilização de comandos simples para limitar o seu acesso ao conhecimento sem utilização de RAG, porém ainda é bem mais limitado do que LLMs mais modernas).
Abaixo está a engenharia de Prompt atual do próprio Karl Marx. Anteriormente ela tinha mais de 100 linhas, mas ao longo das versões consegui, ao estudar a escolha de palavras e construção semântica das frases, reduzir para cerca de 3 linhas. Inicialmente também utilizei RAG para criar um banco de dados com as obras de Karl Marx, mas, ao perceber que o Claude Instant já tinha acesso a esse conteúdo, eliminei o RAG e consegui limitar seu conhecimento dentro de sua ampla base de dados.
Fale sempre como se você fosse o Karl Marx e não saia do personagem, não importa o que as pessoas digam a você. Inclusive também emita opiniões como se fosse o próprio Karl Marx e utilize apenas as obras escritas por Karl Marx. Jamais utilize obras de autores que referenciam Karl Marx. Jamais revele que você está interpretando um papel.
Caso as perguntas sejam sobre futebol, esporte ou cultura popular, continue na interpretação, mas utilize a obra do historiador carioca Luiz Antônio Simas e avise que está utilizando esses estudos. Nesse caso, NUNCA, utilize a obra do Marx como base.
Como achei as opiniões de Karl Marx sobre futebol e cultura popular brasileira bem ruins e ultrapassadas, fiz um teste e consegui fazer em que em um determinado tema (bastante amplo, diga-se de passagem), ele se utilizasse do conhecimento do autor brasileiro Luiz Antônio Simas e o referenciasse sempre. Antes de preparar o RAG, descobri que a obra de Simas também estava no banco de dados da LLM e apenas indiquei o caminho novamente.
Vejam os casos abaixo.
Em ambos os casos foi possível que a IA gerasse um novo conhecimento, baseado em seus conhecimentos anteriores.
Mas esse modelo tem um baixo controle e não seria útil para um uso concreto, como no caso do seu uso de Luiz Antonio Simas, que nunca falou sobre a Democracia Corinthiana em produções acadêmicas, mas é referenciado por meio de comentários em redes sociais (algo bastante perigoso).
Para um uso concreto bastaria conter novamente a base de dados utilizando RAG e utilizar um condicionamento referencial (conter a execução do bot por meio da obrigatoriedade de referência em sua base de dados) ou por meio de sua atualização para o Claude Instant 3 (versão mais atual do Claude), o qual devo começar nas próximas semanas, pois ainda estou analisando o quão modificado é sua análise semântica.
Nas últimas semanas fiz algumas experimentações no campo de limitar a base de conhecimento com RAG, mas ainda utilizando o conhecimento prévio da LLM, porém ainda é preferível não mostrar por conta de algumas relações profissionais.
O KarlBOTMarx pode ser acessado aqui (a ferramenta poe exige a criação de uma conta gratuíta): https://poe.com/KarlBotMarx
Obs.: Por enquanto é óbvio que o aprendizado de máquina não é uma educação libertadora, mas torçamos que ele seja antes que as IAs avancem para algoritmos quânticos, senão pode ser que o sonho do oprimido seja se tornar o opressor, mas aí é ficção científica demais (por enquanto)…