目前仅在
langchainjs (JavaScript/TypeScript) 中使用。ToolMessage 对象时,会发生此错误。
该错误源于一个基本要求:带有 tool_calls 的 assistant 消息后面必须跟有响应每个 tool_call_id 的工具消息。
当模型返回带有工具调用的 AIMessage 时,您必须为每个工具调用提供恰好一个对应的 ToolMessage,并具有匹配的 tool_call_id 值。
常见原因
- 响应不足: 如果模型请求两个工具执行,但您只提供一个响应消息,模型将拒绝不完整的消息链
- 重复响应: 为同一个工具调用 ID 提供多个
ToolMessage对象会导致拒绝,ID 不匹配也会导致拒绝 - 孤立的工具消息: 发送一个
ToolMessage而没有包含工具调用的前置AIMessage违反了协议要求
故障排除
要解决此错误:- 计算匹配对: 确保前置
AIMessage中的每个工具调用都有一个ToolMessage - 验证 ID: 确认每个
ToolMessage.tool_call_id与实际的工具调用标识符匹配
将这些文档连接 到 Claude、VSCode 等,通过 MCP 获取实时解答。

