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