GitHub Repo
LangChain Core 1.6.4 棄用對話歷史類別,導向圖狀態檢查點
新版將兩個對話歷史類別標示為棄用,預告於 2.0.0 移除。既有操作仍受支援,遷移需重新核對對話識別碼、儲存格式與恢復流程。

LangChain 於 9 月 21 日發布 Python 套件 langchain-core 1.6.4,將 `BaseChatMessageHistory` 與 `InMemoryChatMessageHistory` 標示為棄用,移除目標設為 2.0.0。這讓仍以舊類別保存多輪對話的應用有明確遷移訊號;現有訊息操作繼續受支援,升級此修補版不代表歷史功能立即消失。[版本公告](https://github.com/langchain-ai/langchain/releases/tag/langchain-core==1.6.4)、[PyPI 發布紀錄](https://pypi.org/project/langchain-core/1.6.4/)。
這兩個類別原本提供訊息讀取、追加與清除介面。此次合併請求導向官方短期記憶文件,並特別處理棄用裝飾器對多重繼承的影響:透過沿繼承鏈呼叫的初始化流程保留 Pydantic 初始化。對自行擴充歷史儲存類別的團隊,建構物件與欄位驗證也因此值得納入升級檢查。[合併請求說明](https://github.com/langchain-ai/langchain/pull/40711)。
官方建議的方向是把對話放進代理的圖狀態,再交由 checkpointer 儲存。建立代理時傳入檢查點儲存器,呼叫時指定 `thread_id`;同一對話可延續先前狀態,不同識別碼則分開保存。短期記憶會隨代理呼叫或工具步驟完成而更新,下一步開始時再讀取,讓記憶生命週期與執行流程連結。[短期記憶文件](https://docs.langchain.com/oss/python/langchain/short-term-memory)。
技術差異在於保存範圍擴大到圖狀態。LangGraph 的完整檢查點位於 super-step 邊界,亦另存已完成節點的中間寫入;同一步驟若有其他節點失敗,恢復時可沿用成功節點的結果。這套機制支援人工介入、狀態回看與故障恢復,但實際耐久性仍取決於寫入模式及儲存後端。[檢查點機制](https://docs.langchain.com/oss/python/langgraph/checkpointers)。
開發環境可用 `InMemorySaver`,正式部署文件則建議資料庫後端,例如 `PostgresSaver`。長對話仍須設計截斷或摘要策略;存下完整歷史不會擴大模型的上下文視窗。[部署與記憶管理建議](https://docs.langchain.com/oss/python/langchain/short-term-memory)。
就遷移而言,工程上的重點是盤點舊類別的呼叫位置、對話識別碼與既有資料格式,再驗證重啟後續接、工具回覆順序和清除行為。若同時維護同步與非同步儲存實作,兩條路徑都應以實際對話資料測試。這些是依兩套介面差異提出的檢查方向,並非此次版本提供了自動搬移保證。後續應追蹤 2.0.0 的移除範圍及整合套件相容性,而非只替換類別名稱。