常见问题(FAQ)

本文记录客户反馈中的两类参数问题。排查背景:相关请求底层使用 AWS Bedrock Runtime。官方支持范围核验日期:2026-09-10;模型能力可能变化,请以 AWS 最新文档和实际使用的模型为准。

为什么 output_config.format 返回 400?

output_config.format: Extra inputs are not permitted

请求传入了 output_config.format,用于指定结构化输出格式。Bedrock Runtime 本身支持 Structured Outputs,但需要具体模型支持。

本次排查中使用的 Claude Sonnet 5 和 Claude Opus 5 暂不在所引 AWS 官方文档列出的 Structured Outputs 支持模型范围内;相关请求传入 output_config.format 后返回了 400 参数错误。这是本次请求的排查结论,并不表示 Runtime 整体不支持结构化输出。

处理建议: 使用上述模型时移除 output_config.format;如果业务必须依赖 Structured Outputs,请先确认目标模型和调用方式在 AWS 支持范围内,并确认当前接入已支持,再切换。仅在提示词中要求 JSON 不等同于受 schema 约束的结构化输出。

AWS 官方文档:Claude Messages:Structured Outputs

为什么工具调用提示缺少 toolConfig?

The toolConfig field must be defined when using toolUse and toolResult content blocks.

该报错表明请求包含 toolUse / toolResult 内容块,但缺少对应的 toolConfig 工具定义。在客户端请求中,应检查是否仍传入对应的 tools 定义;toolConfig 是 Bedrock Converse 的字段名称,不要直接用它替换客户端协议的 tools

本次排查的本地对照测试结果:携带 tools 时正常,去掉 tools 后出现相同报错

处理建议: 检查工具调用的后续请求,尤其是回传工具结果或重发包含工具调用历史的请求,确保仍携带对应的 tools 定义。检查 SDK 或请求封装是否只在第一轮传入 tools,后续轮次将其遗漏。

AWS 官方文档:使用工具完成 Amazon Bedrock 模型响应

更多状态码说明见错误码