Show HN: Antfly:以 Go 語言開發的分散式多模態搜尋、記憶與圖譜系統
Antfly 是一個基於 Go 語言與 etcd raft 函式庫建構的分散式搜尋引擎,它結合了全文檢索、向量相似度以及針對多模態資料的圖譜遍歷,並內建 RAG 代理程式將這些功能整合在一起。
背景
Antfly 是一款由 Go 語言開發的分散式文件資料庫與搜尋引擎,其核心特色在於將全文檢索、向量相似度比對以及圖譜遍歷整合在單一系統中。開發者旨在解決現行 AI 應用中需要同時維護多種資料庫的痛點,透過內建的 Termite 引擎實現原生機器學習推理,讓使用者無需依賴外部 API 即可完成嵌入、分塊與重排序等任務。
社群觀點
在 Hacker News 的討論中,社群對 Antfly 試圖統一多種搜尋範式的嘗試展現了高度興趣。許多開發者指出,目前在建構代理人系統時,往往需要分別維護向量資料庫、Elasticsearch 與圖譜存儲,這種碎片化的架構增加了維運成本。針對這點,開發者解釋 Antfly 的設計初衷正是為了簡化流程,其 JSON 查詢語言允許使用者在單次查詢中同時進行語義相似度、全文檢索與圖譜遍歷的管線化操作,這對於追求開發效率與單一二進位檔部署的團隊具有極大吸引力。
關於效能與底層技術,社群成員深入探討了其分散式架構與數值計算的優化。開發者透露 Antfly 採用了基於 etcd 的 Multi-Raft 共識協議,並使用 CockroachDB 的 Pebble 作為存儲引擎。在向量索引方面,該專案參考了微軟與 Google 的多篇學術論文,採用了具備層次化平衡聚類特性的演算法。為了提升計算速度,Antfly 在 Go 語言層面大量運用了 SIMD 指令集優化,甚至針對 Darwin 系統加入了 SME 支援,這在純 Go 開發的專案中較為罕見,也獲得了技術硬核用戶的肯定。
然而,社群也對實際應用場景提出了務實的疑問,特別是關於圖譜遍歷的必要性。部分討論者認為知識圖譜雖然是目前的熱點,但其具體應用門檻較高。對此,開發者與資深用戶補充道,圖譜在處理非遞迴的複雜關係(如身分層級、組織架構)時比傳統 SQL 更有優勢,且在產品知識圖譜(PKG)的應用中,能有效整合 CRM、代碼庫與銷售紀錄,為企業提供全方位的洞察。此外,針對從 Elasticsearch 遷移的疑慮,開發者介紹了其「線性合併 API」,允許用戶在不中斷服務的情況下,以可控的速度增量同步外部數據,這緩解了企業用戶對大規模重索引風險的擔憂。
延伸閱讀
在討論過程中,開發者分享了 Antfly 向量索引演算法所參考的核心學術論文,包含關於動態向量索引的 SPFresh、針對磁碟優化的 SPANN、量化技術 RaBitQ 以及高效能索引框架 DiskANN。此外,針對 Go 語言的數值計算優化,開發者也推薦了其使用的 go-highway 函式庫,該工具為 Go 提供了高效的 SIMD 指令封裝。