在 AI Agent (像是聊天機器人、會話助手)需要隨時間變化追蹤狀態與知識更新的情況下,傳統的檔案檢索法(Retrieval-Augmented Generation, RAG)常因為資料滯後或靜態摘要而表現不佳。Graphiti 是由 Zep 團隊打造的開源 Python 框架,專門用來建構與查詢具「時間維度」(temporal awareness)的知識圖譜,能持續整合用戶互動、商業資料與結構或非結構化資訊,保持歷史狀態與改變的可追蹤性。
核心特色
-
時間感知(Temporal Knowledge Graphs):Graphiti 不只是記錄「什麼資料」,更記錄資訊「何時發生」與「何時被接收/失效」,讓 AI 能針對過去某個時間點的狀態或關係做查詢與推理。
-
資料持續更新,不需重建整個圖:當有新資料進來,系統可以增量更新知識圖,不用每次都完全重新計算。這樣能支援高頻率、動態資料來源(如聊天、用戶操作、日誌等)。
-
混合檢索機制:同時支援語義搜尋、關鍵字搜尋(keyword match),以及圖遍歷(graph-based search)的方法,以提升檢索精準度與效率。
-
支援多種資料庫後端:Graphiti 可以配合 Neo4j、FalkorDB、Kuzu、Amazon Neptune 等後端使用。這樣開發者可根據需求與基礎設施選擇最合適的後端。
-
MCP Server 的整合:Graphiti 提供 MCP Server(Model Context Protocol server)實現,可讓 AI 助手(如與 Claude、Cursor 等)透過 MCP 使用知識圖譜的記憶與查詢功能。
限制與挑戰
雖然 Graphiti 功能強大,但也有一些要注意的地方:
-
學習曲線:因為涉及知識圖譜、時間維度、資料庫設置、混合檢索等技術,對沒有 Graph 或資料庫經驗的開發者會比較吃力。
-
資料規模與延遲:在超大規模資料(很多結構與非結構資料、高頻更新)時,雖然 Graphiti 支援增量與效能優化,但硬體與資料庫後端(如 Neo4j vs FalkorDB 等)的選擇仍會顯著影響表現與成本。
-
成本與資源需求:要運作一個良好的 Graphiti 系統,需要有穩定的後端資料庫設施、LLM 提供者(例如 OpenAI、Anthropic 等)、監控與維運的能力。
結論
Graphiti 是一款為動態與頻繁變動資料設計的開源框架,它在記憶、推理與上下文保持上的能力比傳統 RAG 更強。對於需要 AI 助手能夠隨時間追蹤事件、理解過去狀態與持續更新知識的專案來說,Graphiti 是非常值得考慮與實驗的選項。