Zubnet AI學習Wiki › Structured Output
Using AI

Structured Output

JSON Mode, Constrained Generation
讓 AI 模型以特定的、機器可解析的格式回應 — 通常是 JSON、XML,或定義好的 schema。不是自由文字,模型產出你的程式能可靠解析的資料。大多數供應商現在原生支援結構化輸出:你定義一個 schema,模型保證它的回應符合這個 schema。

為什麼重要

當你從聊天機器人轉向應用的那一刻,你就需要結構化輸出。你的程式沒法解析「當然!這是結果:」後面跟一個項目列表。你需要 {"results": [...]}。結構化輸出就是讓 AI 可以作為軟體元件使用的東西,而不只是文字生成器。

Deep Dive

There are three levels of structured output support. Prompt-based: you ask the model to "respond in JSON" and hope it complies (unreliable for complex schemas). Constrained decoding: the provider modifies the sampling process to only allow tokens that keep the output valid according to your schema (reliable, but can affect quality). Schema-validated: the provider guarantees conformance by retrying or repairing invalid outputs before returning them.

JSON Schema Is the Standard

Most providers (Anthropic, OpenAI, Google) converge on JSON Schema as the way to define structured outputs. You specify the expected fields, their types, which are required, and any enums or constraints. The model then generates JSON that matches. This works well for flat structures and moderately nested ones. Very deeply nested or recursive schemas can confuse models, and extremely large schemas eat into your context window.

When Not to Use It

Structured output isn't always the right choice. For creative writing, summarization, or explanations, free-form text is better. For data extraction, classification, or API integrations, structured output is essential. The middle ground — extracting structured data from unstructured input — is where it shines brightest. "Read this resume and extract: name, email, years of experience, top 3 skills" with a JSON schema is a solved problem.

相關概念

← 所有術語
← Streaming Suno →