D
AI
学习工作台
Agent 落地2026-05-221 分钟阅读

延迟优化与流式输出

首 Token 时间、并行工具、流式 UI 与缓存

延迟流式SSEAgent 性能记笔记标记疑惑

延迟构成

端到端延迟 ≈ 排队 + 预填充(prompt 处理) + 解码(逐 Token) × 输出长度 + 工具往返 × 轮数。优化应先看追踪瀑布图,再动刀。

| 阶段 | 手段 | |---|---| | Prompt 过长 | 截断、摘要、RAG 精选 | | 模型慢 | 换更快模型、降低 max_tokens | | 多轮工具 | 并行、合并工具、减少轮数 | | 冷启动 | 连接池、保活、区域就近 |

流式(Streaming)

使用 SSE 或 WebSocket 推送 delta 事件,前端增量渲染 Markdown(注意未闭合代码块防抖)。

# 概念示例:OpenAI 风格 stream
for chunk in client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    stream=True,
):
    delta = chunk.choices[0].delta.content
    if delta:
        yield delta  # 推给前端

注意:流式下工具调用可能在末尾一次性给出 tool_calls,UI 需区分「思考中」与「执行工具中」。可在检测到 tool_calls 时切换状态条。

并行与流水线

  • 并行工具:查天气 + 查股价无依赖 → asyncio.gather
  • 推测执行:对高概率工具预取数据(慎用,浪费配额)。
  • Prompt 缓存:厂商支持的 prefix cache 对固定 system 段省钱省时。

感知优化

  • 首包前展示骨架屏或「正在分析…」。
  • 长任务用进度事件(第 2/5 步)。
  • 分块交付:先给摘要,再异步补详细报告链接。

指标

监控 P50/P95 TTFT、整轮完成时间、每会话 Token、工具 P95。优化目标通常是 P95,因为 Agent 长尾由慢工具决定。

延迟优化与流式是产品体验核心:技术上线流式 API,产品定义何时展示工具结果、何时允许用户打断,两者需一起设计。

知识卡片

问题

TTFT 指什么?

点击翻转查看答案

答案

Time To First Token,从发起请求到收到第一个输出 Token 的时间,决定用户感知的「是否卡住」。

问题

流式输出对体验的好处?

点击翻转查看答案

答案

边生成边展示,降低等待焦虑;可提前终止无效长回答;结合打字机 UI 提升交互感。

问题

多个独立工具调用如何降延迟?

点击翻转查看答案

答案

无依赖时并行 asyncio/gather 执行,总耗时接近最慢一个而非求和;有依赖则 DAG 调度。