聞樂 發自 凹非寺量子位 | 公眾號 QbitAI
Claude Code 原始碼洩漏的餘波,仍在 AI 圈持續發酵!
說起來還挺反常,Claude 幾乎 Contribute 了所有 RAG 記憶專案,結果洩漏的程式碼卻顯示——
它自己根本沒在用主流的 RAG 技術??
這就很矛盾了,Anthropic 在官方文件和技術部落格裡,一直明確提到支援 RAG 檢索。
而它「棄用」傳統 RAG 的玩法,其實恰恰也說明了一個問題:現有的 RAG 解決方案,效能並沒有達標。
從 2023 年起,混合檢索就成了記憶引擎的標配邏輯,向量 + 關鍵字、加權排序……這些套路不斷迭代。
但隨著 AI 記憶場景越來越複雜,傳統 RAG 的瓶頸也徹底暴露,明明叫記憶引擎,卻還在乾著搜尋引擎的活兒,只會匹配相似文字,做不到真正的理解,更談不上聯想推理。
那怎麼辦?答案很簡單——
推倒,重來。
回頭看 AI 記憶的演化路徑,脈絡其實非常清晰:
第一代是直接硬塞全量上下文,就像通讀日記;第二代依靠向量 + 關鍵字匹配,類似查字典,可是只能找到相似內容,抓不住真實關聯;
現在,第三代記憶模式已經來了。
能夠自主聯想、推理、跨結構建立關聯的認知模型。
中國團隊自研架構領跑 Benchmark
讓 AI 能夠實現推理與聯想,大家都知道跨粒度記憶的有效組織是關鍵。
簡單點說就是讓 AI 能同時處理細顆粒的事實和粗顆粒的上下文,還能在它們之間自由跳轉(切換關聯)。
但這個問題正是 2023 到 2026 年間,整個記憶引擎行業難以突破的核心瓶頸。
不過最近,我們觀察到一個平均年齡 19 歲的中國年輕團隊,心流元素,給出了可行解法——
M-FLOW,憑藉自研的圖路由 Bundle Search 架構,實作了 benchmark 的現象級領先。
對比 Mem0、Graphiti、Cognee 等主流方法,M-FLOW 在多輪對話、長期記憶、多跳推理三大核心場景下,效能優勢顯著。
對齊 Mem0 的官網 benchmark 測試(LoCoMo),領先 Mem0 36%; 對齊 Graphiti 的官網 benchmark 測試(LongMemEval),領先 Graphiti 16%; 在長期事件演變測試(EvolvingEvents)中,領先 Cognee 7%,領先 Graphiti 20%。
△測試未做任何篩選,採用行業通用 Benchmark
深度測評之後,可以更清晰地看到在覆蓋寫入、檢索、預處理、知識組織等環節等 29 項能力維度中,M-FLOW 在絕大多數關鍵維度上都實作了完整支援。(下圖可上下滑動完整查看)
尤其在圖增強檢索、指代消解、多粒度索引等決定記憶品質的核心能力上表現突出。
這份成績的背後,其實可以看到的是 M-FLOW 架構帶來的系統性優勢:
檢索環節不依賴 LLM,能夠實作毫秒級回應; 在超大記憶量場景下,依然能保持接近常規 Benchmark 的穩定表現; 業內首個支援指代消解的記憶引擎,讓 AI 對資訊的理解更貼合人類思維(指代消解是指能區分事件中的「他」和「它」)。
而且基本沒什麼使用門檻,部署流程非常簡單,在具備 Docker 環境時只需要一行程式碼就能完成接入。
當然了,雖然上手簡單,但在部署之前,咱也先說說大家好奇的問題:
M-FLOW 是怎麼做到的?
答案其實還是開頭的那句話:推倒,重來。
與當前行業裡大量同質化的記憶方案不同,M-FLOW 並不是用 LLM 輔助檢索來抬高 Benchmark 分數,也不是簡單疊加功能。
準確說,它是從根本上重構了 AI 記憶的組織與使用體系。
讓記憶會關聯、能推理
事實上,所有 RAG 系統都會面臨的一個問題是,給定使用者查詢,如何精準定位儲存的相關知識?
主流方案的邏輯很直接,就是將文件切塊、向量化後存入向量庫,檢索時按餘弦相似度排序。
這種方式本質上只回答「哪段文字和查詢語意最接近」這一個層次的問題,對簡單事實查找的效果還不錯,但在複雜場景中會完全失效,因為:
答案跨文件分布:文件切塊間缺乏結構性連接,無法將分散在不同文件中的關聯資訊整合; 查詢與儲存粒度不匹配:巨觀問題檢索到瑣碎片段,微觀問題匹配到籠統摘要; 同實體異語境割裂:兩份文件討論同一實體但語境不同時,向量空間中距離遙遠,無法建立關聯。
究其原因,是因為平坦向量檢索丟棄了知識的內在結構。
它能判斷文字與查詢的相似度,卻完全不清楚這段文字在整個知識體系中的拓樸位置。
在這一點上,M-FLOW 以圖路由檢索替代傳統平坦檢索,核心邏輯圍繞分層知識拓樸展開,其核心洞察是:
不止找到「匹配的文字」,更要定位匹配點所屬的完整知識結構,再對整個結構進行評分。
倒錐結構設計
M-FLOW 將所有攝入的知識組織為一個四層有向圖,形成一個倒錐(inverted cone):
這個結構的方向性是反直覺的:在傳統的知識圖譜或分類樹中,越往下越具體。
但在 M-FLOW 中,搜尋的「入口在錐尖」(細粒度的 Entity 和 FacetPoint 是最容易被向量搜尋精確命中的),而搜尋的「目標在錐底」(Episode 是最終返回給使用者的知識單元)。
資訊流從尖銳的匹配點向下匯聚到寬廣的語意落點。
這打破了「從上到下瀏覽」的傳統檢索範式。
使用者不是在層級中逐層縮小範圍,而是系統在最尖銳的點上捕獲信號,然後沿圖結構向下傳播到它所歸屬的完整語意單元。
這是一個從細到粗的過程,先在最尖銳的點上捕獲信號精準瞄準,然後沿圖結構向下傳播到它所歸屬的完整語意單元。
圖路由 Bundle Search 的工作方式
當查詢到達時,系統不是簡單地找到最近的節點。
它透過評估圖中所有可能到達每個 Episode 的路徑,找到最優的 Episode。
階段一:在錐尖廣撒網
查詢被向量化後,同時在七個向量集合中搜尋,從錐尖到錐底覆蓋每一層。每個集合返回最多 100 個候選。
最容易被精確命中的是錐尖處的節點,一個 Entity 名稱、一個 FacetPoint 的斷言。
這些細粒度錨點的語意極度聚焦,向量距離小。
錐底的 Episode 摘要也可能被命中,但因為語意更寬泛,匹配通常不如錐尖精確。
階段二:投影到圖中
這些錨點被用作進入知識圖譜的入口節點。
系統提取它們周圍的子圖,邊、鄰居、連接關係,然後擴充套件一跳鄰居。
這將一組孤立的向量命中點轉化為一個連通的拓樸結構。
階段三:從錐尖向錐底傳播代價
這是核心步驟,也是圖路由 Bundle Search 的本質——
在錐尖捕獲信號,沿圖邊向錐底傳播,在 Episode 處匯聚評分。
對於子圖中的每個 Episode,系統評估從錨點到達它的所有可能路徑:
每條路徑的代價由三部分構成:
起始代價,錨點的向量距離(信號的尖銳程度); 邊代價,沿途每條邊的向量距離(連接關係與查詢的相關度)加跳躍懲罰; 未命中懲罰,邊沒有被向量搜尋命中時的預設高代價。
Episode 的最終得分是所有路徑中的最小代價。
三大打破常規的設計
1.邊也攜帶語意,成為主動過濾器
傳統知識圖譜中,邊(圖譜中節點之間的連線)只是作為型別標籤,比如'works_at'、'located_in',不參與語意檢索。
查詢一個圖時,你要麼遍歷邊,要麼忽略邊,因為邊本身不攜帶可被搜尋的語意。
而 M-FLOW 中,每條邊都附帶自然語言描述文字,這些文字會被向量化、同樣參與搜尋。
這意味著邊不再是被動連接器,而是主動的語意過濾器。
在代價傳播階段,系統不僅知道兩個節點之間存在連接,還知道這條連接關係本身與當前查詢有多相關。
這樣一來,即便一條邊的兩個節點都被搜尋命中,只要這條邊本身的語意和查詢無關,就會被判定為高代價,從而直接切斷這條不合理的關聯路徑。
2.取路徑最小代價,而非平均代價
為什麼取最小值呢?團隊主要考慮到一個檢索哲學——一條強的證據鏈就足以證明相關性。
一個 Episode 可能關聯 10 個 Facet,但 9 個與查詢都無關。
傳統方式會平均所有路徑代價,這就會讓無關路徑拉高分數;
而 M-FLOW 只看那條最好的路徑。
只要有一個 Facet 透過低代價路徑連接到查詢,這個 Episode 就應該被檢索到。
這也對應了人類記憶的工作方式,比如你想起一件事,通常是因為某一個線索足夠強烈,而不是因為所有線索都指向它。
3.懲罰直接命中,偏好精準錨點路徑
這是最反直覺的設計,當查詢直接匹配了 Episode 摘要時,系統反而對這條路徑施加額外懲罰。
懲罰最直接命中的原因是,它們和很多查詢看起來相關。
一個關於專案管理的 Episode 摘要,可能和任何提到專案或管理的查詢都有不錯的向量距離。
但這種匹配是寬泛的、缺乏焦點的,這其實也反映了眾多 RAG 系統檢索噪聲的根本原因。
M-FLOW 系統的設計偏好,是優先選擇從錐尖(FacetPoint、Entity)出發的精確路徑。
即使多走幾跳,也優先選擇它,直接的 Episode 命中只在沒有更好替代路徑時才勝出。
這樣就確保了檢索結果的精確性——不是什麼都沾點邊的寬泛摘要,而是有具體證據鏈支撐的 Episode。
拓樸論證
要說這套機制為什麼有效,根本優勢還是在於圖拓樸編碼了向量本身無法捕獲的知識組織結構。
多粒度均可找到錨點。比如問「資料庫遷移發生了什麼?」這類巨觀問題時,系統會直接匹配到 Episode 摘要。
雖然會受到直接命中懲罰,但因為沒有更精確的錐尖路徑,這條結果依然會勝出。
而像「P99 目標是否低於 500ms?」這類精確問題,則會強匹配一個 FacetPoint,從錐尖經過兩跳到達 Episode,極小的起始距離讓整體代價非常低。
系統不需要人為選擇粒度,倒錐拓樸會自動在最合適的層級找到錨點。
跨文件實體橋接。當「張博士在 MIT 工作」出現在文件 A,「MIT 發表了量子計算突破」出現在文件 B 時,兩個 Episode 會共享同一個 Entity 節點:MIT。
使用者查詢 MIT 時,錐尖命中該實體,代價會同時向下傳播到兩個 Episode,從而從兩個獨立文件中拿到關聯結果,不需要 LLM 做額外推理,圖結構本身就完成了橋接。
結構噪聲過濾。在傳統平坦檢索中,很多語意相似但主題無關的文字片段會排在前面。
而在 Bundle Search 中,任何片段都必須沿著邊追溯到某個 Episode。
如果沿途的邊和查詢語意無關,路徑代價會迅速升高,讓不相關結果自然下沉。
圖結構本身就是一層強大的語意噪聲過濾器。
代價傳播即推理。圖中的每一條路徑,本質上都是一條推理鏈——
查詢匹配這個事實→事實屬於這個維度→維度屬於這個事件。
路徑代價量化了這條推理鏈的緊密程度,系統在 2–3 跳內就能完成輕量級多跳推理,檢索階段不需要呼叫 LLM。
自適應置信度
並不是每一層向量集合對每個查詢都同樣可靠。
系統會為每個集合計算兩個指標,絕對匹配強度與區分度,然後把集合分為「節點類」和「邊類」,按置信度動態分配權重。
比如某一次查詢中,Entity 集合的置信度明顯高於 Facet 集合,系統就會自動提高 Entity 路徑的影響力。
它不是用固定權重,而是根據本次搜尋中哪個粒度的命中更可信,實時調整檢索策略。
一個額外的調節機制
還有一個額外的調節機制是,當某個 Facet 與查詢向量距離極小、高度吻合時,系統會顯著降低這條路徑上的邊代價和跳躍代價。
邏輯很直觀,如果一個 Facet 已經幾乎完美匹配查詢,那麼它到 Episode 的連接基本就是可靠的,不需要再透過邊語意反覆驗證。
除此之外,系統還包含查詢預處理、並行多模式排程、結果裁剪等機制……
所以總結來看,M-FLOW 的檢索並不是向量搜尋 + 圖資料庫的簡單疊加,圖本身就是檢索機制。
中國記憶引擎後發先至?
這個最普遍的問題,恰恰是 AI 記憶解決方案的核心癥結。
從初代全量上下文硬塞式記憶,到第二代向量 + 關鍵字的檢索式記憶,AI 始終停留在文字形態匹配,離真正的理解與聯想相去甚遠。
而 M-FLOW 用圖結構重構了 AI 記憶的底層邏輯,解決了記憶圖譜的粒度與聯繫問題,讓 AI 記憶完成了從形態相似匹配到聯想與推理的跨越。
而且值得一提的是,這個專案是由一支平均年齡 19 歲、從常春藤輟學的團隊獨立開發的。
在 AI 圈裡,天才少年的故事總是備受矚目。在這次技術突破之後,我們也想知道:
這群年輕人,未來又可以走多遠呢……
專案位址:https://github.com/FlowElement-ai/m_flow產品網站位址:https://m-flow.ai公司位址:https://flowelement.ai
一鍵三連「讚好」「轉發」「小心心」
歡迎在留言區留下你的想法!
— 完 —
🌟 點亮星標 🌟