A Web Semântica há muito me intriga. A ideia de transformar a web numa base de dados compreensível e acessível à inteligência artificial tornou-se a base para a minha exploração contínua. A ideia de criar um sistema de alerta inteligente, uma sentinela digital que vigia o caos informativo da Internet, foi uma aplicação que despertou continuamente a minha curiosidade. Imagine um robô que vasculha incessantemente o vasto oceano da web, alertando você sobre a ocorrência de um evento específico, digamos, o lançamento de um novo livro. Este é um sonho que venho perseguindo há anos.
O surgimento de agentes autônomos como AutoGPT e BabyAGI despertou meu interesse. Esses sistemas representaram uma nova direção promissora para a tecnologia de IA. Decidi experimentar essas ferramentas, com o desejo de realizar meu sonho de um sistema de alerta inteligente. Minha excitação, no entanto, foi rapidamente atenuada. Esses sistemas, embora avançados, operam com foco em um objetivo e sua posterior divisão em etapas. Isto está muito longe do sistema de monitoramento contínuo e vigilante que imaginei. Para minha grande decepção, achei a arquitetura deles inadequada para tal tarefa. Você pode fazer com que funcione às vezes, mas não de forma confiável.
As deficiências dos modelos existentes acenderam a faísca para construir algo novo. Decidi criar meu próprio sistema, um sistema de agentes autônomos orientados a eventos. Eu chamo isso de WhenX.
O objetivo do sistema é criar alertas no formato “Quando X acontecer, então faça Y”. Nesta versão inicial, oferecemos suporte apenas a alertas por e-mail na forma de "Quando X acontecer, envie-me um relatório por e-mail".
O sistema é composto por quatro agentes: O Capitão, o Batedor, o Sentinela e o Soldado.
O Capitão é o maestro desta orquestra. Dada uma missão, ele é responsável por montar uma equipe de agentes – um Batedor, um Sentinela e um Soldado.
O Escoteiro atua como explorador, aquele que embarca na busca por informações relevantes, criando 'Observações' ao longo de sua jornada. Estas observações são as matérias-primas essenciais que alimentam o sistema WhenX.
O Sentinela , o porteiro, examina as últimas N Observações feitas pelo Scout. É uma entidade perspicaz, concebida para identificar alterações, por mais subtis que sejam, nos dados de Observação. Quando detecta algo digno de nota, ele aciona um 'Alarme', sinalizando ao Soldado para agir.
O Soldado , o executor, entra em ação ao receber Alarmes do Sentinela. Ele executa instruções com base nos alarmes, elaborando um 'Relatório' que encapsula a alteração ou evento detectado.
$ poetry install
$ poetry run alembic upgrade head
Copie o arquivo .env.example para .env e preencha os valores. Estamos usando o serviço Reenviar para enviar e-mails. Você pode criar uma conta gratuita e usá-la para testes.
O objetivo do sistema é criar alertas na forma de “Quando X acontecer” e depois “Envie-me um relatório”. Nesta versão inicial, oferecemos suporte apenas a alertas por e-mail.
Primeiro precisamos criar uma missão. Uma missão é uma descrição do alerta. Por exemplo, “Quando Haruki Murakami lança um novo livro”.
$ python -m whenx create --mission " when Haruki Murakami releases a new book. "
O sistema começará a funcionar e criará uma nova Observação todos os dias. A Observação é um instantâneo do estado atual da sua consulta. O sistema irá comparar as 2 últimas observações e caso detecte alguma alteração enviará um email com o relatório.
$ python -m whenx monitor
Você pode listar todos os alertas e seus status.
$ python -m whenx list
Você pode excluir um alerta pelo seu ID.
$ python -m whenx delete --id a5dc910a-4457-4911-8ba3-c7713588e7ff