Skip to content

一句话总结:流式输出(SSE)解决"等太久"——逐块推送让首字节更快、体验更顺;结构化输出解决"不可靠"——JSON Mode 只保证语法合法,Structured Outputs 用 strict schema 强制字段类型与完整性,约束解码则从生成源头保证合法。

流式输出(SSE)

  • 原理:Server-Sent Events + Chunked Transfer Encoding,逐块推送 chat.completion.chunk
  • 每块含 delta:content 增量文本、reasoning_content 思维链增量
  • 收益:更低首字节时间(TTFB)、资源利用率高、前端打字机效果
  • 流式函数调用:tool_call 也走 delta 增量(index/name/arguments 片段)——客户端需按 index 拼接完整参数再执行

结构化输出:三种方案(面试对比)

方案机制保证适用
JSON Moderesponse_format={'type':'json_object'},prompt 须出现 json 字样仅语法合法 JSON只要合法 JSON
Structured Outputsresponse_format={'type':'json_schema',...} + strict: true每个 required 键存在、类型正确强类型契约(前后端对接)
约束解码解码时按 schema/grammar 采样(vLLM)从根上保证合法本地/自部署
  • Structured Outputs 的 schema 约束:根类型必须 object、所有 object 层 additionalProperties: false、所有 properties 列进 required
  • 用途:数据提取、分类、为工具/API 生成结构化输入(Agent 工作流)

为什么重要(工程视角)

  • 前端直接渲染结构化数据,不用正则解析
  • 让 LLM 输出成为"API 契约"——这是 LLM 从聊天玩具变成可集成组件的关键
  • 流式 + 结构化组合:流式拿速度,结构化拿契约

面试要点

  • 能说 SSE 原理与收益(TTFB、逐块 delta)
  • 能对比 JSON Mode vs Structured Outputs(语法合法 vs 类型强制)
  • 能说出结构化输出的三个 schema 约束
  • 能举 Agent 场景(为工具生成结构化输入、数据提取)

相关概念

  • [AI基础概念-LLM API与Function Calling协议](/学习笔记/AI技术/AI基础概念/AI基础概念-LLM API与Function Calling协议) — 请求/响应基础
  • [AI-Agent-工具调用](/学习笔记/AI技术/AI Agent/AI-Agent-工具调用) — 结构化输出服务工具参数
  • [AI-Agent-可观测性与评估工程](/学习笔记/AI技术/AI Agent/AI-Agent-可观测性与评估工程) — 流式场景的监控
  • AI基础概念-大模型推理与解码 — 采样与生成的底层