流式输出(Streaming)指大模型每生成一小段内容(通常一个词元)就立即推送给客户端,而不是等全文生成完再一次性返回。用户几乎瞬时看到首字,整体等待感大幅下降——尽管总生成时间并未缩短,但“感知速度”完全不同。
技术实现
主流方案是 SSE(Server-Sent Events)——HTTP 长连接上服务器持续推送增量数据块;主流模型 API 都支持 stream=true 参数,客户端逐块拼接渲染。WebSocket 也可实现,SSE 因更简单、单向场景够用而更常见。
为什么有效
自回归生成天然是逐词产出的,流式只是把“生成节奏”直接透传给用户,把长回复的等待时间从“黑盒等待”变成“持续反馈”。首字延迟(TTFT)是流式场景的核心指标——KV 缓存、提示词缓存、更快的首词元优化都在为它服务。
工程要点
客户端要处理断流重连与乱序;界面渲染注意 markdown 增量解析(半截代码块的处理);计费按最终完整输出统计,与流式无关。
适用建议
面向人的对话、写作类应用默认开流式;机器对机器的调用(Agent 内部步骤)通常无所谓,批量任务反而适合非流式。