GitHub Repo
LangChain 社群回報串流解析問題,截斷參數可能被視為有效工具呼叫
10 月 17 日的 LangChain 社群回報指出,串流中斷後,不完整的工具參數可能被自動補成有效 JSON,進入工具執行流程。已有另一名貢獻者回報重現,但修補提案因貢獻流程檢查遭自動關閉,尚未合併。

LangChain 社群於 10 月 17 日提出工具呼叫解析問題:模型串流若在參數尚未傳完時結束,最終訊息仍可能包含看似有效的 tool_calls,而 invalid_tool_calls 留空。回報環境使用 langchain-core 1.6.12,另一名貢獻者也表示已重現。這項發現涉及代理如何判定工具輸入已完整接收。問題回報
最小範例模擬文件編輯工具:參數在字串 hea 處截斷,經 generate_from_stream 彙整後,卻形成包含該殘缺字串的參數物件。回報者表示,實際案例曾將半份文件編輯內容當成完整編輯套用;這仍是社群陳述,尚無完整影響範圍或維護者確認。重現程式與討論
關鍵在於串流預覽與最終輸入驗證共用了寬鬆解析。官方文件說明,parse_partial_json 能處理缺少結尾括號的 JSON;這有助於介面顯示逐步生成的參數。依回報分析,最終彙整路徑也沿用此行為,因此資料傳輸結束時,語法被補完整,內容卻可能仍不完整。官方解析器文件
當日提出的修補主張,在 message_chunk_to_message 最終轉換時重新嚴格解析,將失敗項目連同原始字串放入 invalid_tool_calls,串流途中則保留寬鬆解析。作者表示已加入回歸測試,涵蓋截斷參數、完整參數及串流中的行為。不過,該提案因作者尚未獲指派問題而遭機器人關閉;這是流程結果,不能解讀為修補已被接受或技術方向遭否決。修補提案
對工程團隊而言,這揭示了工具執行邊界的風險:參數能轉成物件,未必代表模型完整產生了操作意圖。依上述機制推論,文件修改等具副作用的工具尤其需要檢查原始參數完整性與業務條件。後續應觀察維護者是否採納最終階段重新解析,以及哪些串流入口會納入修復;目前尚無可確認的正式修復版本。