AnamDB: 一款使用 Rust 編寫的 AI 原生、可微分 Datalog 引擎

AnamDB: 一款使用 Rust 編寫的 AI 原生、可微分 Datalog 引擎

AnamDB 是一個新興專案,旨在彌合生成式 AI 的機率性質與 Datalog 的形式化、確定性邏輯世界之間的差距。AnamDB 使用 Rust 編寫以確保效能與安全性,被描述為一款 AI 原生、可微分的 Datalog 引擎。透過將可微分性整合進邏輯程式設計的世界中,AnamDB 尋求為能夠進行邏輯推理並透過基於梯度的世界內優化進行優化的系統提供一條路徑。

邏輯與 AI 的融合

傳統上,像 Datalog 這樣的邏輯程式設計語言用於靜態分析、網路配置和安全策略執行。這些系統是確定性的:一個事實(fact)要麼是真,要麼是假。相比之下,現代 AI,特別是大語言模型(LLMs)和神經網路,是機率性的。它們運作於權重與梯度,而這些與機率和近似值相關聯。

AnamDB 為 Datalog 提供了一種「可微分」的方法。在邏輯程式設計的世界中,「可微分」意味著系統的其餘部分可以計算世界內輸出對於其輸入的梯度。這使得邏輯引擎能夠被整合進一個更大的 AI 流水線中,其中世界內結果可以作為使用標準 AI 訓練技術(如反向傳播)進行世界內優化的路徑。

使用 Rust 的技術實作

選擇 Rust 作為實作語言對於資料庫引擎來說具有顯著優勢。Rust 的記憶體安全性保證與零成本抽象允許 AnamDB 以高效率運作,而不會受到困擾許多邏輯程式設計環境的垃圾回收(garbage collection)停頓。

該專案的關鍵技術目標包括:

  • AI 原生設計:從零開始構建,以支援現代 AI 工作負載的需求。
  • 可微分性:允許使用梯度來優化世界內邏輯規則或提供給引擎的事實。
  • Datalog 引擎:利用 Datalog 的確定性本質,以確保世界內結果是可重現且可驗證的。

潛在應用

雖然專案目前處於早期階段,但可微分 Datalog 引擎的潛在應用非常強大。此類系統可用於:

  • 神經符號 AI (Neuro-symbolic AI):神經符號 AI 是嘗試將神經網路的學習能力與符號邏輯的推理能力相結合的嘗試。AnamDB 可以作為此類系統的核心。
  • 知識圖譜優化:使用梯度來精煉知識圖譜事實,以達到預期的世界內輸出。
  • 可微分邏輯程式設計:允許邏輯規則本身從數據中學習,而不是由專家手動編寫。

目前狀態與社群回饋

當專案在 Hacker News 上分享時,最初的社群反應突顯了一個技術障礙:可及性。一位使用者指出在嘗試存取儲存庫時遇到 404 錯誤,這顯示專案目前處於非常早期、私有或不穩定的開發階段。這強調了開源專案的可見度與可用性對於早期採用者「探索」與研究技術實作的重要性。

Sources