Say "structured content", not "structured output"
The spec never uses the phrase "structured output". It defines two separate things under Tool Result: "Structured Content" (the `structuredContent` field) and "Output Schema" (the `outputSchema` field). Collapsing them into "structured output" conflates the two. It is also actively confusing here. In LLM tooling "structured output" means constrained decoding — making the *model* emit conforming JSON. These clients call a model API, so a reader could reasonably take the phrase to mean the tool constrains the model's response, which is the opposite of what is going on: the tool describes the shape of its own result. Headings and prose now say "structured content". References to real identifiers are left alone: the Python SDK's own docs page is called Structured Output and lives at docs/servers/structured-output.md, and its decorator parameter is `structured_output`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
d6cf28629f
commit
506e1f70de
1 changed files with 4 additions and 4 deletions
|
|
@ -68,7 +68,7 @@ struct ForecastPeriod {
|
|||
detailed_forecast: String,
|
||||
}
|
||||
|
||||
/// One element of `get_alerts`' structured output. Declaring `Vec<Alert>` as
|
||||
/// One element of `get_alerts`' structured content. Declaring `Vec<Alert>` as
|
||||
/// the output schema makes `structuredContent` a top-level JSON array rather
|
||||
/// than an object wrapping one, which revision 2026-07-28 is the first to allow.
|
||||
#[derive(Debug, Serialize, JsonSchema)]
|
||||
|
|
@ -85,7 +85,7 @@ pub struct Alert {
|
|||
instructions: String,
|
||||
}
|
||||
|
||||
/// `get_forecast`' structured output: the object case.
|
||||
/// `get_forecast`' structured content: the object case.
|
||||
#[derive(Debug, Serialize, JsonSchema)]
|
||||
pub struct Forecast {
|
||||
/// Latitude the forecast is for.
|
||||
|
|
|
|||
Loading…
Reference in a new issue