VibeAPI

400 无效请求

报 400 错误(Tool Calling ID 不匹配)怎么办

错误示例

status_code=400, Invalid request

常见原因

1. 基础参数错误

  • 不支持的模型名称
  • JSON 格式损坏
  • 缺少必填参数

2. Tool Calling ID 不匹配(最常见)

Tool Calling 至少需要两次请求才能跑完一轮:

  1. 请求 1:模型生成 tool_use_id
  2. 请求 2:客户端带着 tool_use_id 回传 tool_result

这是一个强关联的有状态过程

触发场景:如果你在客户端或代理层配置了多个渠道,请求 1 被打到 A 渠道(返回 toolu_bdrk_xxx 格式的 ID),请求 2 触发了负载均衡轮询被打到 B 渠道(只识别 tool_1req_xxx 格式),B 渠道不认识 A 渠道的 ID,直接报 400。

解决办法

  1. 代理层:将 Tool Calling 的模型设定为「固定单一渠道」,不要轮询或多渠道分发
  2. 代码排查:确认 Tool Calling 流程中没有触发 Base URL 切换逻辑
  3. 清理缓存:新建空白对话测试。如果之前用过其他服务商,客户端可能缓存了旧的 tool_use_id