19歲,常青藤輟學,這群中國年輕人重構了AI記憶

19歲,常青藤輟學,這群中國年輕人重構了AI記憶

文章圖片

19歲,常青藤輟學,這群中國年輕人重構了AI記憶

文章圖片

19歲,常青藤輟學,這群中國年輕人重構了AI記憶

文章圖片

19歲,常青藤輟學,這群中國年輕人重構了AI記憶

文章圖片

19歲,常青藤輟學,這群中國年輕人重構了AI記憶

文章圖片

19歲,常青藤輟學,這群中國年輕人重構了AI記憶

文章圖片


聞樂 發自 凹非寺
量子位 | 公眾號 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的檢索并不是向量搜索+圖數據庫的簡單疊加 , 圖本身就是檢索機制 。
中國記憶引擎后發先至?在國內 , 外置記憶遠沒有國外的關注度高 , 然而M-FLOW團隊不做同質化堆砌 , 實現了國產在該領域的從無到有 , 并且性能領先世界、還堅持開源開放……
其實很多初次接觸記憶引擎的人都會有一個直觀困惑 , 人類的回憶難道不是尋找相關信息嗎?為什么AI的記憶 , 卻總是在找文本形態相似的信息?
這個最普遍的問題 , 恰恰是AI記憶解決方案的核心癥結 。
從初代全量上下文硬塞式記憶 , 到第二代向量+關鍵詞的檢索式記憶 , AI始終停留在文本形態匹配 , 離真正的理解與聯想相去甚遠 。
而M-FLOW用圖結構重構了AI記憶的底層邏輯 , 解決了記憶圖譜的粒度與聯系問題 , 讓AI記憶完成了從形態相似匹配到聯想與推理的跨越 。
而且值得一提的是 , 這個項目是由一支平均年齡19歲、從常青藤輟學的團隊獨立開發的 。
在AI圈里 , 天才少年的故事總是備受矚目 。 在這次技術突破之后 , 我們也想知道:
這群年輕人 , 未來又可以走多遠呢……
【19歲,常青藤輟學,這群中國年輕人重構了AI記憶】項目地址:https://github.com/FlowElement-ai/m_flow產品網站地址:https://m-flow.ai公司地址:https://flowelement.ai

    推薦閱讀