Como seria implementar um Jarvis similar ao da Marvel em 2024
Disclaimer: Isso não é um tutorial, e nem é orientado a ser. É só um conjunto da minha visão sobre o que é o Jarvis da Marvel e como eu poderia trazer - lo para a realidade usando as ferramentas que temos em 2024.
Recentemente eu tive um insight de como poderia trazer o Jarvis para a realidade, destrinchando como funciona a tecnologia e as limitações da inteligência artificial.
Em vez de pensarmos em um LLM que é um nome que vem aparecendo cada vez mais em pesquisas do Google e que todos esperam que se torne um AGI, podemos pensar em modelos menores e mais precisos.
Podemos pensar no seguinte:
-
Um orquestrador de modelos feitos em C++ com TensorFlow que valide os resultados da resposta conforme as Leis de Asimov. Esse orquestrador de modelos deve usar Smart Pointers e agir de forma similar ao AgentGPT ou ao Jarvis da Microsoft.
-
Um runtime baseado em luajit misturado com o mentat configurado de forma que garante que o código consiga corrigir os próprios erros e expandir o próprio Jarvis de acordo com sua necessidade.
-
E finalmente um Processador de Linguagem natural que consiga aceitar corretamente os comandos feitos em português/inglês (já que temos o costume de usar estrangeirismo)
Isso inicialmente não teria como expandir, seria algo monolítico que não seria tão útil, mas existem alguns truques que podemos fazer para mitigar - los.
- Podemos ensinar novas coisas usando embeddings para capturar novas semânticas e melhorar compreensão de novos termos. Claro que para isso funcionar precisaríamos criar um scrapper para novos conteúdos e um modelo de geração de código em lua.
Isso supondo que os modelos sejam pequenos e precisos o suficiente para não haver muitas alucinações.
Agora uma pergunta que você deve ter na cabeça, como podemos montar um modelo de NLU/NLP e para quem não sabe a Mozilla que é a principal empresa atrás do Firefox, Thunderbird, Rust tem o projeto chamado Common Voices para criar um banco de dados para software de reconhecimento de fala.
Com essa teoria em mente, seria possível criar um Jarvis? E sua resposta seria, sim, é, mas teria muitas nuances que viriam primeiro. Espaço e processamento vindo primeiro além de como os scripts seriam feitos e outros.
Por exemplo, o uso de lua seria interessante porque podemos integrar lua com c++ de forma facilitada.
Espero que tenha gostado do post e se um dia decidir criar seu assistente virtual, pense nisso.