GitHub Repo
langchain-anthropic 1.7.4 支援對話中途增刪工具
新版透過系統訊息傳遞工具變更,讓代理分階段調整可用能力,並有機會保留既有提示快取。功能仍受模型、訊息位置與快取設定限制,尚無效能測試數據。

LangChain 於 9 月 23 日釋出 langchain-anthropic 1.7.4,讓 ChatAnthropic 能透過對話中的 `SystemMessage` 傳送工具增刪資訊,PyPI 也已提供套件。對需要分階段開放能力的長任務代理,這補上了框架與供應商原生介面之間的缺口。[發布紀錄](https://github.com/langchain-ai/langchain/releases/tag/langchain-anthropic==1.7.4)、[套件頁面](https://pypi.org/project/langchain-anthropic/1.7.4/)
合併提案指出,先前這類內容可能在轉換時遺失,或引發難以判讀的 HTTP 400 錯誤。新版保留 `tool_addition`、`tool_removal` 區塊,接受原生字典與 `non_standard` 包裝。開發者可在使用者提問後追加工具定義,供模型於後續步驟呼叫。[合併提案](https://github.com/langchain-ai/langchain/pull/40758)
工程上的意義是減少工具切換對提示快取的干擾。Anthropic 文件說明,頂層工具清單位於快取前綴開頭,修改它會使後續快取失效;把變更追加在對話後方,則可保留既有前綴。據此,代理可按任務進度提供工具,而不必每次重寫初始清單;實際節省仍取決於是否啟用快取及命中情況。[快取與工具變更文件](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages)
實作會檢查送出的系統訊息:若區塊直接攜帶新工具定義,就自動加入 inline-tools 的測試版標頭;若只引用工具來增刪,則在需要時補上較早的工具變更標頭。新增的整合測試使用 Claude Opus 5.5,確認模型回傳指定工具呼叫,但這項測試並未量測長對話延遲、成本或跨模型成功率。[程式碼與測試](https://github.com/langchain-ai/langchain/pull/40758/files)
升級還有相容性變化:系統訊息中無法辨識的內容區塊,如今會被移除並發出警告;若對話中途的工具變更被移至頂層,也可能遭捨棄。維護者應檢查實際送出的請求與警告紀錄,避免只看最終回答就判定工具設定已生效。[轉換邏輯](https://github.com/langchain-ai/langchain/pull/40758/files)
部署前須核對模型及訊息位置限制。快取也有例外:若初始清單沒有任何非延後載入工具,首次在訊息內定義工具仍會造成一次完整快取未命中。[官方限制](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) 工程團隊可用同一段歷史重播升級前後請求,驗證新增、撤回與重試流程,再比較快取讀取量、輸入成本與首字延遲。對已有長對話紀錄的服務,也應確認工具集合與錯誤處理一致,藉此分辨介面接通的收益,以及模型選擇、快取設定造成的差異。