登录
No.58核心2 条来源

流式响应Streaming

课堂投屏

一句话

流式响应是结果生成一部分就先发一部分,让用户边等边看,而不是全部完成后才一次返回。

大白话

流式响应像看直播而不是等录播:现场拍一点就传一点,你不用等整场节目结束、剪辑完成,才看到第一个画面。

比喻的边界

直播断了你知道断了;流式传输中断时,页面上只剩半段内容,看起来可能像完整回答,所以程序要明确区分“完成”“中断”和“出错”。

拿去就能用

开始做

我的现在要等全部结果生成完才显示。帮我改成流式输出,让内容一段段出现,并处理完成、用户中途停止和网络中断三种情况,改完告诉我怎么逐个测试。

还差:功能,发给 AI 前记得换掉

出错了

流式回答有时写到一半就停了,页面没有任何提示,看起来像答完了。帮我先区分是模型超时、服务器断开还是浏览器取消,给中断的回答加上“不完整”标记,先别加自动重试。

想做深

我的流式接口部署上线后,内容不再一段段出现,而是最后一次性显示。帮我排查是哪一层把数据攒起来了,比如代理缓冲或响应头设置,说明原因后再改。

别这样说 → 这样说

别这样说

AI 回复太慢了,改成打字机那种。

这样说

我的聊天页要等模型全部生成完才显示,常常空白 10 秒。帮我改成流式显示,同时加一个“停止生成”按钮,网络中断时提示“回答不完整”,改完告诉我怎么模拟断网测试。

差别:说清了现在的体验问题,并把停止、中断这些边界情况一起提出来。

容易误解:

误解流式响应能让 AI 生成得更快。

其实是它让你更早看到第一段内容,总生成时间通常不会变短;而且数据按块到达,不保证一个字一个字地来。

展开专业理解

流式传输把数据拆成小块,逐块发送和处理。调用模型接口时打开流式选项,服务器常用服务器发送事件(SSE)逐段推送生成的内容,前端边收边显示。要处理的状态有正常结束、用户取消、超时和连接中断;中断的半截结果不能当成完整回答保存。中间的代理如果缓冲了响应,流式效果就会消失。

来源

  1. MDN:Streams API 核对于 2026-09-26
  2. Claude 文档:流式消息 核对于 2026-09-26