2026-08-14 AI 流式生成恢复
定义
AI 流式生成恢复,是在客户端连接、业务服务或模型请求中断后,分别恢复用户订阅、已生成内容和模型推理进度的系统工程。它至少包含三层:
- 连接恢复:客户端重新订阅仍在运行的生成任务。
- 内容恢复:补发未送达的事件,或基于已有文本重新续写。
- 推理恢复:加载 Token 序列、KV Cache 和采样状态,继续原任务计算。
三种「继续」
- 事件重放:内容已生成,只是客户端未收到;可精确补发,成本最低。
- 语义续写:原模型请求已经失败,使用已有文本发起新推理;可能重复、漏写或改变结论。
- 推理状态恢复:恢复模型的计算现场;依赖自建推理服务以及模型、Tokenizer、缓存格式和采样状态兼容。
可靠恢复的系统边界
- 生成任务与客户端连接解耦,客户端只是订阅者,不是任务所有者。
- 服务端持续记录带
generation_id、revision、seq的输出事件。 - 客户端以最后连续收到的序号重连,并按任务、版本和序号去重。
- 用户主动停止应调用独立取消接口,不能把网络断开等同于取消任务。
- 长输出使用「文本快照 + 少量增量」,避免每次从第一个 Token 重放。
半成品处理原则
半成品可以展示,但不能在完成校验前解析、执行或提交:
- JSON 保存原始增量和解析状态,完成后再做 Schema 校验。
- HTML 先清洗并在受限环境预览,完成后再正式渲染。
- Markdown 的临时闭合只存在于显示层,不写回真实内容。
- UTF-8 分片使用流式解码器,避免跨 chunk 字符被拆坏。
- 代码先进入草稿或临时文件,通过语法和测试后再原子落盘。
- 工具调用等待参数完整后执行,并用幂等键防止重复副作用。
事件日志与 KV Cache
- 事件日志保存用户应该收到什么,解决内容不重不漏。
- KV Cache保存模型处理历史 Token 的中间计算结果,减少恢复后的前文重算。
KV Cache 不能替代事件日志,也不自动等于断点续传。第三方模型 API 通常不开放缓存管理,因此产品侧一般优先保证任务持久化和事件重放,再把语义续写作为降级方案。
来源与关联
- AI 生成到 90% 突然断了:你的解决方案是?
- Claude Code 常见工作流(
--continue/--resume与会话恢复习惯) - 大语言模型工作原理概览
- AI 辅助开发
维护:Cursor Agent,2026-08-12。