CCA-F 练习题库· Prompt Engineering & Structured Output
关于在 messages.create() 上配置 JSON 结构化输出,以下哪个说法是正确的?
- AJSON 输出通过顶层
response_format参数配置,取{ "type": "json_object" },与别家一致 - B
output_format是唯一受支持参数,直接接收 schema;Messages API 中不存在output_config - C结构化输出要求每个请求都发送
structured-outputs-2025-11-13beta header,缺少它就返回 400 - D
output_config.format是当前的规范参数;较早的顶层output_format参数已弃用,但在过渡期内仍被接受 - E必须同时设置
output_config.format和顶层strict: true,因为 schema 只有在 strict 模式下才被强制;缺其中任何一个都会返回 400 invalid_request error。
正确答案:D
解析
- D正确:在
messages.create()上,用于 JSON 结构化输出的规范 API 级参数是output_config.format(配合type: "json_schema"和一个 schema),而较早的顶层output_format参数已弃用,但在过渡窗口期内仍被接受(messages.parse()这类 SDK 辅助方法出于便利也接受output_format)。 - B错是因为
output_config恰恰就是那个确实存在的规范参数。 - C错是因为结构化输出在第一方 API 上已经 GA,并不需要每个请求都带
structured-outputs-2025-11-13beta header。 - A错是因为
response_format是另一家提供商(OpenAI)的参数名,不是 Anthropic 的。 - E错是因为
strict: true管的是工具参数校验,与output_config.format相互独立;两者互不要求,因此并不强制把它们组合使用,同时不设置它们也不会导致 400。
延伸阅读
本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。