我們給 Agent 在上下文窗口裡塞了一百萬個 Token,但它們還是運作不了。
把這篇存下來吧。
你給一個有能力的模型一些工具和一個長任務。前十五步,它表現出色。專注且精準。好好回答問題並詢問使用者。
然而,隨著對話開始擴展,Agent 開始偏離。Agent 開始與自己十步前做出的決定矛盾。它開始用虛構的資訊汙染上下文窗口。它知道使用者偏好存在,但無法可靠地擷取它們。而你則在努力搞清楚哪裡出了問題。
於是你開始尋求更多。一個有更大上下文窗口的模型,來更長時間地承載任務。嘗試優化 RAG 流程。在網路上尋找 Agent 記憶解決方案。
但沒有任何東西按照你預期的方式運作。
了解這背後的原因,直接將我們引向整個 Agent 堆疊中最有價值、卻最不被理解的一層。
失敗是一個循環
Agent 退化的原因不是能力不足。它是一個反饋循環,有四個環節。一旦你看清這四個環節,那些常見的補救措施就不再像是解決方案了。

環節一:模型無法平等地使用整個上下文,而且隨著上下文填充,情況會變得更糟。
這是大多數人從未真正內化的部分。模型使用資訊的能力在其上下文窗口中並不一致。模型可靠地使用最開頭和最結尾的內容,而系統性地忽略中間部分,即使它們是專門為長輸入而構建的。塞入更多內容,可靠性就會進一步下降。即使是在像重複一串單詞這樣微不足道的任務上,這一點也會顯現出來。加入一個干擾項,性能就會明顯下降。加入多個複合干擾項,情況更糟。
因此,有效上下文——模型實際能夠可靠推理的部分——遠小於盒子上的數字。而且隨著你塞入更多內容,它會縮小。
現在想想一個 Agent 在做什麼。它在積累。每個工具結果、每個步驟的歷史、每個給自己的備註都會被附加到上下文中。這意味著 Agent 在穩步降低它每一步的品質。增長中的上下文正在製造每一步的錯誤。
環節二:這些每一步的錯誤不是相加,而是相乘。
如果 Agent 只執行少數幾個步驟,那麼一點點每一步錯誤是可以接受的。但它們會執行幾十步。而失敗是複合疊加的,而不是簡單累積。一個在五步任務中 95% 可靠的 Agent,在一個二十步的任務中並不能保持 95% 可靠。執行足夠多的步驟,你就會接近拋硬幣的概率。
情況甚至更糟,因為錯誤是自我強化的。一個稍微偏離軌道的工具調用會使下一個調用更有可能偏離。疊加在環節一之上,基礎錯誤率本身隨著窗口填充而上升,你就得到了長週期 Agent 的典型失敗模式。它們不會優雅地退化。它們會保持住,然後突然斷崖式下跌。
環節三:任務很長,模型是無狀態的,所以你必須將狀態放在模型之外。
語言模型在調用之間不保留任何東西。每次調用都從空白開始。模型知道的唯一東西是你反饋給它的內容。因此,對於任何長任務,你必須將狀態外部化。草稿本、進度文件、檢查點、向量儲存。專門的記憶層,用於提取事實並在會話之間重新提供。
這是正確且必要的。而且它看起來像一個乾淨的修復。Agent 不會忘記任何重要的事情,因為所有重要的事情都存在於持久存儲中。
環節四:存儲的記憶是惰性的,將其拉回會反過來加劇它本想解決的問題。
這就是循環閉合的地方。模型無法推理一個數據庫。它只能推理其上下文窗口中的內容。所以記憶只有在被拉回的那一刻才有用。而每次檢索都會增加 Token。Agent 為追蹤進度而寫的每次摘要,都是它之後必須重新閱讀的 Token。每次壓縮歷史以騰出空間的壓縮步驟都是有損的,它丟棄的細節往往是很微妙的,其重要性只有在後來才會顯現。
因此,你為了克服上下文限制而構建的記憶系統,最終反而加劇了問題。更多記憶意味著更多檢索,這意味著窗口中的更多噪音,這意味著更多每一步錯誤,這些錯誤複合疊加,而這正是最初促使你尋找記憶的原因。
這個循環是真實的。而且它不在乎你的上下文窗口有多大。
容量從來就不是關鍵軸線
一旦你看清這個循環,標準修復的徒勞就顯而易見了。

更大的上下文窗口無法打破它。 它只是提高了在斷崖之前可以積累的腐爛程度的上限。與此同時,每一項關於有效上下文的研究都在展示同樣的事情:可靠可用的部分增長得遠比廣告數字慢。你在購買你實際上無法使用的容量。
更多記憶無法打破它。 它增加了競爭重新進入一個已經無法容納所有內容的窗口的材料量。
下一個架構也無法打破它。 挑戰注意力機制的後繼者,例如 Mamba 及其混合體,通過將過去壓縮成一個固定大小的狀態而不是保留每個 Token 的可定址性來取勝。這換來了線性時間推理和一個不隨序列增長的記憶足跡。但它無法換來回憶。一個固定大小的狀態無法容納所有內容,因此它會故意遺忘。在大規模下,純狀態空間模型在外部記憶存在的確切事項上落後於 Transformer:將一個特定事實從序列中任意前面的點拉回來。這就是為什麼嚴肅的後注意力努力是混合體,它們保留少數注意力層來執行回憶,這是狀態模型做不到的。當你改變架構時,這堵牆不會移動。你只是從另一邊觸及它。
所以教訓不是「選一個更大的數字」。而是容量從來就不是制約因素。
制約因素是在每一步,關於哪些 Token 佔據窗口的決策品質。
這就是整個遊戲。不是最大的可用上下文,而是最小的足夠上下文。相關性勝於回憶。有意的遺忘成為一個頭等操作,而不是截斷的意外。研究直接支持這一點:保留順序地檢索幾千個精心選擇的 Token,勝過將整個 128K 窗口倒入模型。優勢在於選擇什麼進入,而不是能進入多少。
而這正是困住大多數團隊的陷阱,因為他們用來做選擇的工具是錯誤的形狀。
相似性不是相關性
決定拉回哪些上下文的默認方法是相似性搜索。將所有內容嵌入,當 Agent 需要上下文時,檢索距離當前查詢最近的向量。
但相似性回答的是錯誤的問題。它返回的是接近的內容,而不是相關的內容。而這是兩件非常不同的事情。
Agent 實際上需要回答的問題從來不是「什麼與此相似」。它是「鑑於這個任務和當前的狀態,什麼與重要的事情相關」。這是一個關係性問題。它關乎依賴關係、出處、什麼取代了什麼、哪個決定導致了哪個結果。一個調整為檢索相似向量的存儲會交給模型一堆接近但不準確的結果。而接近但不準確的結果正是環節一中的干擾項,那些會驅動每一步錯誤、進而複合疊加為斷崖的因素。
這就是為什麼修復方案不能是嵌入存儲前面的一個薄緩存。智慧不在於查找。它在於結構。
沒有人定價的那一層
Agent 堆疊中最重要的一層不是模型,也不是存儲。是兩者之間的那一層。那個決定模型關注什麼的層。

而要真正做好這項工作,它必須具備三個特質。
它必須是中立的。 內部機制不斷在腳下變化。從 Transformer 到狀態空間再到混合體。一個前沿模型到下一個,每幾個月就有新的價格性能領導者。一個焊接在單一模型上的上下文策略是一場針對移動目標的賭注。你的組織真正積累價值的東西是它的上下文,那個你 Agent 知道和做過的、來之不易的結構化記錄。將其鎖定到一個供應商的記憶功能上,你就把你最持久的資產變成了別人路線圖上的人質。一個存在於任何單一模型之外的選擇層,讓同一個組織化的上下文服務於你運行的每個模型,以及你尚未採用的下一個模型。
它必須是橫向的。 一個框架的檢查點只知道一次運行。一個模型的內建記憶只知道一個模型的對話。一個向量索引只知道一個語料庫。當你運行真實工作負載時,沒有一個能持有真正重要的畫面:許多 Agent、許多會話、許多模型,都需要一個統一、可查詢的上下文視圖。這個記錄系統的角色不是一個應用程式、一個框架或一個實驗室適合持有的,因為每個都只看到自己的片段。它是自己的一層,橫跨所有這些。
它必須是結構化的。 這就是它與「只是一個更好的數據庫」的區別。選擇是一個相關性問題,而相關性是關係性的。上下文上的結構,關係和依賴關係,出處和取代關係,將檢索轉變為選擇。這是一個根本上不同於存儲的原語,而它是循環所要求的。
「實驗室難道不會直接推出這個嗎?」
一個明顯的反對意見是模型實驗室會吸收這個。他們一直在推出記憶和上下文功能,而且他們對模型自身的注意力有特權訪問。
他們會,而且這個反對意見一半是對的。對於一個包裝單一應用的單一模型,讓實驗室處理通常就足夠了。這沒問題。
但實驗室的激勵是讓自己的模型更有黏性。這與可移植性相反。與一個模型內部機制融合的策展無法服務於多模型、全組織的案例。一個真正的上下文基礎設施不會與那些功能正面競爭。它存在於實驗室在結構上不傾向於服務的情況:你跨多個 Agent 和團隊運行幾個模型,並且你拒絕讓決定你的 Agent 思考什麼的層由你當前碰巧運行哪個模型的供應商來擁有。
而趨勢只會加劇這一點。模型越有能力,它們被使用得越多。它們被使用得越多,一個組織運行的 Agent 就越多。一個組織運行的 Agent 越多,一個中立、橫向、結構化的選擇層就越有價值。
誰在建造這個?
這就是 Hydradb 登場的地方。中立、橫向且結構化。它持有相似性搜索所抹平的關係、依賴關係、出處和取代關係。它按時間版本化並知曉偏好,因此不僅知道什麼是真實的,還知道什麼取代了它。它解鎖了對 Agent 隨時間學到了什麼的可視性。這種結構將檢索轉變為選擇。
在底層,HydraDB 運行在分層存儲上:一個用於活躍上下文的熱記憶體快取,用於溫數據的 NVMe,用於冷數據的對象存儲。上下文根據新近度和重要性被提升和降級,因此模型推理的工作集保持小而有意。介於模型和它可能知道的一切之間。
每個 Agent 都必須回答的問題
剝離架構辯論、記憶產品、上下文窗口軍備競賽。在這些之下,每個長期運行的 Agent 在每一步都回答同一個問題。
在它知道的一切中,它現在應該思考什麼?
一個更大的窗口無法回答這個問題。它只是給了 Agent 更多可以忽略的東西。這個循環是真實的,它是永久性的,沒有多少容量可以關閉它。
這個行業仍在試圖用容量買一條出路。它做不到。那些內化這始終是一個選擇問題的團隊將推出能工作的 Agent,而其他人則推出 幾乎 能工作的 Agent。
這從來不純粹是模型的限制。任何在有限預算下運作的東西都必須選擇它關注什麼。選擇不是對今日限制的變通。它是推理在限制下一直以來的要求。
如果你覺得這有用,追蹤我 @eng_khairallah1 獲取更多類似 AI 內容。我每週發布分析、課程和工具。
希望這對你有幫助,Khairallah ❤️





