","error":{"type":"invalid_request_error","message":"***.***.content.0: unexpect...

2026年03月01日 17:24 processing

错误信息

{"type":"error","error":{"type":"invalid_request_error","message":"***.***.content.0: unexpected `tool_use_id` found in `tool_result` blocks: tooluse_AEWdfDxjSmmbmzot12ayuo. Each `tool_result` block must have a corresponding `tool_use` block in the previous message."},"request_id":"req_011CYc7j61xJq7J6VqjtrYvU"}(traceid: 2abbb2e74aad9818ea5be94970fe90ce) (request id: 20260301092310460570461xJggOAD8)

AI 解决方案

报错分析报告

1. 错误翻译


原文:***.***.content.0: unexpected `tool_use_id` found in `tool_result` blocks: tooluse_AEWdfDxjSmmbmzot12ayuo. Each `tool_result` block must have a corresponding `tool_use` block in the previous message.
译文:***.***.content.0:在`tool_result`块中发现意外的`tool_use_id`(值为tooluse_AEWdfDxjSmmbmzot12ayuo)。每个`tool_result`块必须在前一条消息中存在对应的`tool_use`块。

2. 原因分析


  • 根本原因tool_result块引用了未在前一条消息中定义的tool_use_id(tooluse_AEWdfDxjSmmbmzot12ayuo)。

  • 发生位置..content.0处的tool_result块,上下文是工具调用的结果与前序工具使用不匹配。
  • 3. 解决方案


    确保tool_resulttool_use_id与前一条消息的tool_use一一对应。以下是正确示例(以JSON为例):

    // 前一条消息(含tool_use)
    {
      "role": "assistant",
      "content": [
        {
          "type": "tool_use",
          "id": "tooluse_AEWdfDxjSmmbmzot12ayuo", // 需与后续tool_result的id一致
          "name": "your_tool_name",
          "input": { /* 工具参数 */ }
        }
      ]
    }
    
    // 当前消息(含对应tool_result)
    {
      "role": "user",
      "content": [
        {
          "type": "tool_result",
          "tool_use_id": "tooluse_AEWdfDxjSmmbmzot12ayuo", // 必须匹配前序tool_use的id
          "content": "工具执行结果"
        }
      ]
    }
    

    修复步骤

  • 找到tool_result中的tool_use_id: tooluse_AEWdfDxjSmmbmzot12ayuo

  • 检查前一条消息是否有相同idtool_use块;

  • 若无,则删除该tool_result块或补充对应的tool_use块。
  • 4.️ 预防措施


  • 最佳实践1:编写工具调用逻辑时,先定义tool_use块并保存其id,再生成对应的tool_result块(强制配对)。

  • 最佳实践2:使用IDE插件(如VS Code的「JSON Schema Validation」)校验工具调用的id一致性。

  • 推荐工具:Postman(模拟API请求时检查工具块配对)、curl(手动验证请求体结构)。