GitHub Repo
LangChain 社群回報摘要驗證缺口,空白回覆可能使代理遺失工作上下文
10 月 20 日的 LangChain 社群回報指出,摘要模型回傳空白文字時,中介軟體仍可能移除原始訊息,讓代理無聲遺失上下文。回報附有最小重現程式與修補構想,但尚無維護者確認或可核實的正式修復版本。

LangChain 的對話壓縮機制出現新的邊界情況。10 月 20 日提交的回報指出,SummarizationMiddleware 若收到空白摘要,仍可能執行訊息替換,讓代理帶著缺少關鍵資訊的上下文繼續運作。回報環境為 langchain 1.4.6、langchain-core 1.6.12,目前議題仍開啟,不能推定所有版本都受影響。社群回報
這項中介軟體原本用來支援長時間對話:達到設定門檻後,把較早訊息壓縮成文字摘要,並保留近期內容。官方文件提供 token 數、訊息數與上下文比例等觸發條件;keep 則控制保留多少近期內容。因此,摘要本身承擔了保存舊資訊的責任,並非可有可無的附加文字。官方文件
回報者使用固定回傳空字串的假模型,將觸發門檻設為六則訊息、保留兩則。範例先讓代理讀取檔案並記住代碼,再要求讀取另一檔案;輸出的更新只剩摘要標頭與末端工具互動,先前代碼及最新使用者指令均未保留,而且沒有拋出錯誤。這是可檢查的最小案例,尚非真實模型服務上的發生率統計。重現程式與輸出
技術上的關鍵,是模型呼叫成功與摘要內容有效之間仍有一道驗證。依回報分析,相關路徑取得文字、去除首尾空白後,未先拒絕空結果便進入歷史替換。參與者提出在建立刪除訊息前拋出例外,並讓同步、非同步及自訂摘要器共用檢查;另一選項是略過當輪壓縮,但會留下上下文持續增長的取捨。目前這些仍屬修補提議。技術討論
對工程團隊而言,這個案例提示壓縮流程需要獨立的成功條件。依上述機制推論,驗證時應檢查空白摘要是否保留原始狀態,也應測試壓縮後能否追溯使用者指令與工具結果。後續值得關注維護者採用的失敗處理策略,以及修補是否涵蓋各種執行路徑;現有證據不足以宣稱持久化資料庫中的完整對話遭到永久刪除。