語意網長期以來一直引起我的興趣。將網路轉變為人工智慧可訪問的可理解資料庫的想法成為我繼續探索的基礎。創建智慧警報系統的想法是一個不斷激發我好奇心的應用程序,它是一個數位哨兵,守護著網路上資訊的混亂。想像一下,機器人不斷在浩瀚的網路海洋中搜尋,提醒您特定事件的發生,例如一本新書的發布。這是我多年來一直追求的夢想。
像 AutoGPT 和 BabyAGI 這樣的自主代理的出現引起了我的興趣。這些系統代表了人工智慧技術的一個有前途的新方向。我決定嘗試使用這些工具,以實現我的智慧警報系統夢想。然而,我的興奮很快就平息了。這些系統雖然先進,但運行時重點關注目標及其隨後的步驟劃分。這與我設想的持續、警覺的監控系統相去甚遠。令我非常失望的是,我發現他們的架構不適合這樣的任務。有時你可以讓它工作,但不可靠。
現有模型的缺點點燃了建造新模型的火花。我決定創建自己的系統,一個事件驅動的自主代理系統。我稱之為WhenX。
該系統的目標是以「當 X 發生時,然後執行 Y」的形式建立警報。在此初始版本中,我們僅支援「當 X 發生時,向我發送電子郵件報告」形式的電子郵件警報。
該系統由四個代理人組成:隊長、偵察兵、哨兵和士兵。
隊長是這個樂團的指揮。接到任務後,它負責組建一支特工團隊——一名偵察兵、一名哨兵和一名士兵。
偵察兵充當探險家,開始尋找相關資訊,並在旅途中創建「觀察結果」。這些觀察結果是為 WhenX 系統提供動力的重要原料。
哨兵,看門人,仔細檢查偵察兵所做的最後 N 個觀察。它是一個有洞察力的實體,旨在識別觀察數據中的變化,無論變化多麼微妙。當它檢測到值得注意的事情時,它會觸發“警報”,向士兵發出採取行動的信號。
士兵,即執行者,在收到哨兵的警報後立即採取行動。它根據警報執行指令,製作封裝偵測到的變更或事件的「報告」。
$ poetry install
$ poetry run alembic upgrade head
將 .env.example 檔案複製到 .env 並填寫值。我們正在使用重新發送服務來發送電子郵件。您可以建立一個免費帳戶並將其用於測試。
該系統的目標是以「當 X 發生時」然後「向我發送報告」的形式建立警報。在此初始版本中,我們僅支援電子郵件警報。
首先我們需要創建一個使命。任務是對警報的描述。例如「當村上春樹發行新書時」。
$ python -m whenx create --mission " when Haruki Murakami releases a new book. "
系統將開始運作並每天創建一個新的觀察。觀察是查詢目前狀態的快照。系統將比較最後 2 個觀察結果,如果偵測到變化,則會發送一封包含報告的電子郵件。
$ python -m whenx monitor
您可以列出所有警報及其狀態。
$ python -m whenx list
您可以透過警報 ID 刪除警報。
$ python -m whenx delete --id a5dc910a-4457-4911-8ba3-c7713588e7ff