Claude Code 学习站

CCA-F 练习题库· Prompt Engineering & Structured Output

关于在 messages.create() 上配置 JSON 结构化输出,以下哪个说法是正确的?

  1. AJSON 输出通过顶层 response_format 参数配置,取 { "type": "json_object" },与别家一致
  2. Boutput_format 是唯一受支持参数,直接接收 schema;Messages API 中不存在 output_config
  3. C结构化输出要求每个请求都发送 structured-outputs-2025-11-13 beta header,缺少它就返回 400
  4. Doutput_config.format 是当前的规范参数;较早的顶层 output_format 参数已弃用,但在过渡期内仍被接受
  5. 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-13 beta header。
  • A错是因为 response_format 是另一家提供商(OpenAI)的参数名,不是 Anthropic 的。
  • E错是因为 strict: true 管的是工具参数校验,与 output_config.format 相互独立;两者互不要求,因此并不强制把它们组合使用,同时不设置它们也不会导致 400。

延伸阅读

本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。