跳到主要內容
AI News HubLIVE
站內改寫4 分鐘閱讀

網絡研討會回顧:從數據到向量再到上下文

文章摘要

Pinecone 工程副總裁 Jörg Schad 在 11 月 4 日的網絡研討會上回顧了檢索技術的演進,並指出:當 AI 代理調用檢索時,真正決定答案對錯的往往不是召回率,而是檢索之上的“上下文與決策層”。

網絡研討會回顧:從數據到向量再到上下文
報告錯誤

更正渠道尚未開通,可先複製下方文章資訊留存。

查看更正說明
直接讀正文

Pinecone 工程副總裁 Jörg Schad 在 11 月 4 日的一場網絡研討會上,完整梳理了檢索技術從關鍵詞搜索到 RAG 的演進路徑,並重點討論了當 AI 代理而不是人類來消費檢索結果時,整個系統需要補上哪一層能力。這場分享由 Pinecone 官方博客整理成文,以下為核心內容的重述。

研討會上給出的第一個例子頗具代表性:讓代理預測第四季度移動業務的增長,代理生成 SQL、執行查詢,然後返回 +16% 的結果。問題在於,9 月 8 日當天有一次僅持續一天的合作伙伴促銷活動,代理把這個流量尖峯當成了真實需求。如果按正確口徑處理——把促銷從預測中剔除、但仍保留在已報告的總量裏——同樣的趨勢得到的結論是 +6%。數據本身都在,SQL 也完全合法,錯的只是判斷。

Schad 用這個案例説明,檢索的每一代技術都在修補上一代的短板,但每一代也都有自己的天花板。關鍵詞搜索依賴倒排索引,用 IDF(可追溯到 1972 年)和 BM25(1994 年)等相關性指標排序,能夠在大規模數據上實現精確匹配,可它永遠匹配不到“取消”和“終止訂閲”之間的語義聯繫。語義搜索藉助 word2vec(2013 年)、用於近似最近鄰搜索的 HNSW(2016 年)以及 BERT(2018 年),跨越詞彙差異找到語義相關的內容,其侷限則變成了“設計文檔問題”:兩篇文檔可能都與查詢高度相似,但只有一篇描述的是今天真正運行的代碼,而相似度分數無法告訴你哪一篇才算數。

2020 年 Lewis 等人提出的 RAG,讓模型可以在查詢時把答案錨定在知識庫上,此後幾乎每一個聊天演示都離不開它。但 Schad 強調,這種錨定是不受校驗的:模型拿到檢索返回的一切,卻沒有任何步驟去檢查它是不是正確結果,也沒有人去核對模型是否真的使用了它。

檢索質量通常用 Recall@K 衡量,例如 Recall@10 表示相關文檔出現在前十條結果中的比例。它是一個衡量“信息在不在”的好指標,卻無法衡量“信息對不對”。假設某條政策已被新版本取代,檢索會把兩個版本都返回,召回率把兩條都算作相關;一個基於舊版本做出的、看似合理的回答,實際得分是零,而 Recall@K 依然好看。同樣的問題也出現在權限上:某份文檔與查詢高度相關,但調用方根本沒有權限查看它,召回率不會因此扣分。

那麼,如何讓語義搜索更準確?Schad 的答案是:很多時候搜索本身已經完成了它的工作,缺的是搜索之外的信息。他舉了一個併購場景:兩家公司合併後,一家財年從 1 月到 12 月,另一家從 2 月到次年 1 月,同一個“季度”在兩側對應着不同的月份。對於任何跨越兩家公司的問題,語義搜索都能找到全部相關文檔,卻無法説明這些文檔該如何組合。再調檢索器也無濟於事,因為沒有任何相似度分數能承載“兩套財年日曆如何對齊”這樣的規則。

研討會上用一組對比表格把問題講得很清楚:預測第四季度增長時,檢索返回了包含 9 月 8 日尖峯的完整數據,真正做決定的是“那天是一次性促銷、應從預測中剔除”這條規則;詢問某個功能如何工作時,檢索同時返回三年前的設計文檔和當天早晨的代碼掃描結果,決定答案的是“哪份材料描述的是當前運行的代碼”;併購後的跨公司數字,需要“1 月至 12 月如何對齊 2 月至 1 月”的規則;而“政策允許什麼”,則取決於新舊兩個版本中哪一個正在生效。換句話説,檢索按 Recall@K 評分,上下文則按基於它做出的決策來評分。

當答案由人閲讀時,這種缺失尚可彌補:一個人看到明顯偏高的預測,或者在不應下滑時出現下滑,會皺起眉頭重新核對。但當自主代理來讀答案時,它可能直接把結果發出去,而且代理調用檢索的規模是任何人類搜索都無法比擬的。高併發下的代理未必能察覺結果不合理或已過期,也未必會主動為答案尋找依據——它缺的正是能告訴它這些的上下文。

那麼為什麼不乾脆把全部信息都交給模型,讓它自己判斷相關性?Schad 引用了 Chroma 的“上下文衰減”報告:該研究評估了 18 個大語言模型,發現在輸入長度增加時,模型表現會越來越不可靠,即便任務被刻意設計得很簡單。在 LongMemEval 上,平均約 300 個 token 的聚焦提示優於平均約 113,000 個 token 的完整提示。對代理同樣如此:把與任務無關的信息灌進去,結果只會更差。於是問題從“正確的文檔有沒有被召回”變成了“代理還需要知道哪些內容是有效、可信、被允許且適合當前任務的”。

在架構上,Pinecone 的做法是把檢索保留下來,並在其上疊加一層“決策層”。檢索側,Pinecone 在同一個索引中同時提供稠密向量、稀疏向量和基於 BM25 排序的全文檢索,三種能力都內建於數據庫而無需外掛。Schad 表示,不同任務需要不同的檢索工具,很多任務需要不止一種,而關鍵詞搜索在需要精確匹配的場景中依然不可替代。

決策層為每個任務維護一份“任務上下文”,其中包含摘要、實體、策略與規則,以及在查詢到來之前就在後台整理好的知識製品。上下文負責判斷哪些製品與當前任務相關,再根據需要向索引發起詞法、向量或混合查詢。回到併購的例子:搜索已經找齊了所有文檔,缺失的是“一套財年日曆如何映射到另一套”這種語義信息,它被放在任務上下文中,與策略和規則並列。被取代的政策、以及數據機器人遇到的一次性促銷,處理方式如出一轍——索引提供數據,上下文中的規則決定如何對待它。

這也是 Pinecone Nexus(面向代理的知識引擎)的定位。Nexus 的整理流程會維護一份已處理來源的賬本,以內容哈希追蹤,因此一次運行只觸碰發生變化的內容。答案會附帶引用,標明每個結論背後的文件、頁碼和原文片段。優先級同樣被明確寫下來:上下文的默認指令相當於針對該上下文每次查詢的系統提示,可以規定模型如何處理相互衝突的來源,例如哪一版政策勝出。

Schad 也坦率地劃出了邊界:Nexus 並非適合所有工作負載。如果檢索模式簡單、你有把握前十條結果裏就有答案、沒有複雜的規則或政策來決定哪個來源勝出,並且你願意自己負責錨定環節,那麼 RAG 已經夠用。像大型在線商店裏每一筆購買這樣每秒都在變化的運營數據,更適合實時動態視圖,全天被就地編輯的實時流和記錄目前也不適合 Nexus;它最適合數據變化節奏較慢的場景,例如合同和研究資料。

他給出的最後建議是:在花一個迭代週期去調嵌入或重排之前,先檢查檢索是否其實已經找到了文檔。如果答案是肯定的,那麼真正需要修補的,是那個負責做決定的上層。完整回放已發佈在 YouTube 上,想動手搭建這一層的讀者可以從 Nexus 文檔或申請試用開始。

展開要點與分析

文章情報

工程師進階

要點

  • 檢索的侷限在不斷演進:關鍵詞搜索、語義搜索、RAG 各自解決了上一代的問題,但都無法判斷“相似”是否等於“權威”或“有效”。
  • Recall@K 只能説明文檔是否被找到,無法處理被取代的政策、越權文檔或跨公司財年對齊等需要規則判斷的問題。
  • Chroma 的上下文衰減報告顯示,輸入越長模型表現越不可靠,因此“把一切都塞給模型”並非良策。
  • Pinecone Nexus 在檢索之上增加任務上下文層,負責整理摘要、實體、策略與規則,並記錄來源與優先級。

技術影響

可能影響 Agent 架構、工具調用、工作流自動化和產品集成。

要點與分析由自動化流程生成,可能有誤,請結合原始來源核實。