为什么需要流式
想象 AI 需要 30 秒才能生成完整回答——如果等 30 秒后才一次性显示,用户体验是灾难性的。 流式响应让用户实时看到 AI 的思考过程:- 文字逐字出现,用户能提前判断方向是否正确
- 工具调用的参数在生成过程中就能预览
- 长时间任务不会让用户觉得”卡死了”
流式与工具调用的交织
一次 AI 响应中可能同时包含文字和工具调用。流式系统需要处理这种交织:流式工具执行
更进阶的是,工具本身的执行也可以是流式的:- 运行一个长命令(比如
npm install),输出逐行显示 - 搜索大型项目时,匹配结果逐条呈现
- AI 在等待工具结果的同时,已经开始规划下一步
多 Provider 适配
Claude Code 支持多个 AI 服务提供商,每个提供商的流式协议略有不同:| Provider | 特点 |
|---|---|
| Anthropic Direct | 原生 SSE 流,延迟最低 |
| AWS Bedrock | 通过 AWS SDK 包装的流式接口 |
| Google Vertex | gRPC 流转换为事件流 |