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