流式返回与格式配合
JSON 全文才能解析 / MD 逐字显示 / XML 捕获标签即渲染,动态演示
本页解决的问题
先给结论「流式返回与格式配合」要解决的关键问题是什么?
JSON 全文才能解析 / MD 逐字显示 / XML 捕获标签即渲染,动态演示
让这个结论先证明自己值得留下。 把这一页当成决策工具,而不是需要背下来的定义。把概念连到一个真实任务、一个可观察结果,以及一个能改变你判断的失败上。
写下一个问题:试完这个方法后,你能用什么证据回答它?
结论听起来很完整,却没有检查最关键的假设。
流式过程中 JSON 是残缺的,
无法中途解析渲染
但无法从 Markdown 中
可靠提取结构化字段
「选择演示场景」如何改变一次回答
「JSON 全文才能解析 / MD 逐字显示 / XML 捕获标签即渲染,动态演示」说明,模型处理的不是我们眼中的“字数”,而是一段段 Token。Token 的切分方式会影响输入长度、上下文能放下多少内容,以及一次请求要花多少计算。
长度、信息量和上下文不是一回事
当「JSON 全文才能解析 / MD 逐字显示 / XML 捕获标签即渲染,动态演示」变长时,先要分清三件事:文字被切成多少 Token、哪些内容真正参与当前判断、以及旧内容是否已经超出上下文窗口。删掉重复说明通常比单纯把窗口开得更大更有效。
先保留会改变判断的内容
可以用「JSON 全文才能解析 / MD 逐字显示 / XML 捕获标签即渲染,动态演示」做一次对照:保留同样的问题,分别删掉重复背景、压缩格式和移除无关历史,比较答案质量、延迟与 Token 数量。
从「选择演示场景」走到「三种格式实时对比」
「选择演示场景」先把问题落在「工具推荐 结构化列表输出 3 个工具,包含名称/类型/亮点 分析报告 多字段结论输出 结论/原因/建议/置信度 开始播放流式输出 重置」上;到了「三种格式实时对比」,讨论继续推进到「JSON 等待中 原始流 Token(逐字累积) ⏳ 等待完整 JSON 到达后才能解析… 流式过程中 JSON 是残缺的, 无法中途解析渲染 ✓ JSON 解析完成(全文到达后) Markdown 等待中 渲染区域(逐字显示) ⚠️ 虽然逐字显示流畅, 但无法从 Markdown 中 可靠提取结构化字段 XML 自定义标签 等待中 增量解析渲染(捕获到 即渲染)」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。
把这条判断带到下一个场景
处理长文本时,先保留会改变结论的内容,再决定如何压缩格式和历史;上下文更长只有在新增信息真正有用时才值得付出代价。
- 「选择演示场景」:工具推荐 结构化列表输出 3 个工具,包含名称/类型/亮点 分析报告 多字段结论输出 结论/原因/建议/置信度 开始播放流式输出 重置
- 「三种格式实时对比」:JSON 等待中 原始流 Token(逐字累积) ⏳ 等待完整 JSON 到达后才能解析… 流式过程中 JSON 是残缺的, 无法中途解析渲染 ✓ JSON 解析完成(全文到达后) Markdown 等待中 渲染区域(逐字显示) ⚠️ 虽然逐字显示流畅, 但无法从 Markdown 中 可靠提取结构化字段 XML 自定义标签 等待中 增量解析渲染(捕获到 即渲染)
- 「核心结论」:JSON 流式 后端友好但流式不佳: 必须 等全文 才能解析, 用户看到的是 loading 状态 Markdown 流式 用户体验最流畅: 逐字显示有打字感, 但 无法提取字段 做程序处理 XML 流式 两全其美 :流式 + 结构化 捕获到 立刻渲染, Claude 原生推荐此方式 核心结论: XML 捕获标签 → 立刻渲染字段;JSON 等全文 → 解析一次;MD 逐字显示 → 无法提取字段
最后的「核心结论」把讨论落到「JSON 流式 后端友好但流式不佳: 必须 等全文 才能解析, 用户看到的是 loading 状态 Markdown 流式 用户体验最流畅: 逐字显示有打字感, 但 无法提取字段 做程序处理 XML 流式 两全其美 :流式 + 结构化 捕获到 立刻渲染, Claude 原生推荐此方式 核心结论: XML 捕获标签 → 立刻渲染字段;JSON 等全文 → 解析一次;MD 逐字显示 → 无法提取字段」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。
我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。
读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。
如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。
还没有这篇文章的讨论。