Claude Code 学习站

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

在 Structured Outputs 特性中,哪一种机制是把 Claude 的最终响应约束到某个 JSON schema,而不是校验函数/工具调用的参数?

  1. A在请求所发送的那个 tools 数组里面,为其中的每一个 tool definition 都设置上 strict: true。
  2. B在 system prompt 的那段提示文本当中的随便某个地方,加上 additionalProperties: false。
  3. C在你发出的每一个请求上都要发送 tool_choice: { "type": "tool", "name": "..." }。
  4. D在整个请求的最顶层传入 response_format: { "type": "json_object" } 这样的一个参数。
  5. E配合 { "type": "json_schema", "schema": { ... } } 使用的 output_config.format。

正确答案:E

解析

Anthropic 的 Structured Outputs 特性有两种互补的模式,二者都通过受语法约束的(constrained)解码来实现。

  • E把 Claude 的最终 assistant 响应约束到某个 JSON schema 的是 JSON outputs,它通过把顶层的 output_config.format 对象设为 { "type": "json_schema", "schema": { ...} } 来配置;当前规范的参数名是 output_config.format,更早的写法 output_format 是遗留别名,在过渡期内仍然可用,所以该选项是准确的。
  • Astrict tool use(在工具定义上设置 strict: true)只是依据 input_schema 校验工具/函数调用的参数——正是本题用来作对比的那种情况。
  • BadditionalProperties: false 是一个 JSON Schema 关键字,不是 system prompt 指令。
  • Ctool_choice: { "type": "tool", "name": "..." } 只是强制调用哪个工具,并不约束模型文本输出的 schema。
  • Dresponse_format: { "type": "json_object" } 是 OpenAI 风格的参数,不是 Anthropic 的。

延伸阅读

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