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

