跳转到主要内容

多步 Agent 的延迟预算:为什么 P50 会说谎,而 P99 才是用户的真实感受

阅读需 2 分钟Tian PanTian Pan

仪表盘显示智能体很快。P50 停留在 1.2 秒,团队开会庆祝,然后放弃率却在持续攀升。没有人关注用户真正体验到的那个图表。

这是生产环境中多步智能体可靠的失效模式:中位数是你能够达到的指标,而尾部延迟才是你用户感受到的指标。随着你在流水线上不断增加子调用,这两者之间的差距会呈非线性增长。一个包含四个步骤的智能体,即使每一步在“中位数表现”上都很快,其 P99 通常也会比任何单步操作糟糕 6 到 8 倍。用户体验到的不是中位数,而是他们那次特定请求中最慢的一步。

如果你的团队优化了错误的分位线,你交付的系统将拥有出色的基准测试表现和精美的演示效果,但在你从未监测的长尾场景中,用户正不断流失。

数学逻辑:为什么组合会惩罚中位数

以一个包含五个步骤的智能体为例:意图分类、文档检索、重排序、生成、验证。每一步的中位数(P50)为 200 毫秒,P99 为 2 秒 —— 也就是中位数与尾部之间有 10 倍的差距,对于基于 LLM 的步骤来说,这还是保守估计。直观的错觉会认为端到端的 P50 是 1 秒,端到端的 P99 是 10 秒,事情就结束了。

这种直觉在两个方向上都是错误的,而且错得最离谱的那个方向正是最伤人的。

对于独立延迟的加和,均值相加,方差也相加。标准差随步骤数量的平方根增长,因此平均而言,随着步骤的增加,系统看起来会更可预测 —— 这正是陷阱所在。平均化只在均值处起作用。总和的尾部是由任何一个组件的尾部主导的。具体来说:你的流水线中某一步落入其自身 1% 尾部的概率是 1 - 0.99^N。对于 N=5,这大约是 5%,这意味着用户可见的 P95 被拉低到了接近单步 P99 的水平。对于 N=10,用户可见的 P90 就会被拉低到单步 P99 的水平。

翻译一下:随着步骤的增加,“出现一个慢步骤”的分位线会向左移动,吞噬掉分布中越来越大的比例。Jeff Dean 和 Luiz Barroso 的《Tail at Scale》为扇出(fan-out)系统阐述了这种数学逻辑的经典版本 —— 一个平均延迟 10 毫秒、P99 为 1 秒的服务器,如果每次请求查询 100 次,产生的分布中 63% 的用户请求将超过 1 秒。同样的逻辑也适用于串行组合,只是坡度稍缓,而且它永远不会向着有利于你的方向弯曲。

这就是为什么在生产环境中观察中位数延迟的团队会被系统性地误导。他们的仪表盘测量的是最可靠的用户体验。而最不可靠的用户体验 —— 那些导致用户流失的体验 —— 在他们选择的分位线上是不可见的。

为什么 LLM 的尾部延迟比数据库更糟糕

经典分布式系统中的尾部放大源于排队、垃圾回收、网络波动和“嘈杂邻居”。这些尾部是真实存在的,但也是有界的 —— P99/P50 比例通常在 5-10 倍。而在 2026 年,基于 LLM 的步骤常规性地显示出 20-50 倍的比例,且原因更为复杂:

  • 输出长度的波动。 一个在中位数情况下生成 50 个 token 的模型,当它决定“详尽”一点时,可能会生成 2000 个 token。逐 token 生成的延迟与输出长度呈线性复合关系,而输出长度是输入的属性,你无法仅凭输入就预测它。同一类 prompt 可能在 800 毫秒内返回,也可能耗时 28 秒,这取决于模型的决定。
  • 提供商端的排队。 托管推理是多租户的。当提供商的 GPU 池饱和时,你会陷入一个你看不见的队列。状态页显示绿色并不代表尾部延迟也是健康的。
  • 工具冷启动。 如果某一步调用了沙盒代码执行环境、无服务器函数或刚刚缩容的向量数据库,冷启动路径的耗时是热启动路径的 5-30 倍。
  • SDK 内部的重试风暴。 许多提供商的 SDK 会在遇到 429 和 500 错误时使用指数退避算法透明地进行重试。除非你接入了正确的钩子,否则第一次失败的尝试及其退避过程在你的追踪(trace)中是不可见的,但在用户的等待中却非常明显。
  • 流式 TTFT 与完整生成。 首字生成时间(TTFT)可能很合理,但完整生成时间可能非常糟糕。如果下游步骤阻塞并等待完整输出,你继承的是完整生成的延迟,而不是 TTFT。

实际意义在于:你无法通过阅读模型卡片或供应商的基准测试来估算端到端延迟。你必须针对你真实的 prompt 分布,测量每一步从端到端的尾部延迟。

“延迟预算”到底意味着什么

预算是系统与用户之间的一种契约。它表明:在 99% 的情况下,我们将在 X 秒内做出响应,并在剩下的 1% 情况下优雅降级。预算不是愿景。它是每一步都必须满足的约束。没有预算,“让它更快”就是无边界且无法确定优先级的口号。

一个有效的预算包含三个部分:

  1. 端到端的目标分位线和数值。 选择用户真实感受到的指标。对于交互式 UX,这通常是 P95,有时是 P99。选择一个产品层面可以承诺的数值(“95% 的回答在 4 秒内完成”),而不是团队目前能达到的数值。
会员专享

余下内容仅对会员开放。

会员可读完整内容 —— 每一个公开发布的观点背后,那些框架、决策与推理的全貌。

  • 完整文章,包含未公开存档的部分
  • 可落地的工作框架,附带权衡与决策依据
  • 新文章抢先看,先于公开发布

随时取消 · 一次订阅,畅读全部

参考资料

保持联系,关注我获取更多内容

阅读需 11 分钟

30 秒都去哪了:APM 无法察觉的 Agent 步骤内部延迟归因

传统的 APM 将 Agent 的一个步骤视为单一的粗粒度 Span,导致值班工程师只能靠猜。通过将其分解为七个阶段,区分首字延迟 (Prefill) 与解码 (Decode),并追踪关键路径而非总 Span 时间。

insider
observability
阅读需 10 分钟

MCP 冷启动税:工具服务器开销如何在智能体第 7 步发生累加

为什么 200 毫秒的 MCP 工具调用会演变成 4 秒的智能体循环,冷启动税究竟存在于何处,以及如何通过预热池规范将数秒的惩罚降低到 100 毫秒以下。

insider
mcp
阅读需 10 分钟

现在,推理速度已经快过你的数据库了

模型在请求延迟中所占的份额已经大幅下降。你自己的特征存储、身份验证和 Postgres 调用现在成了性能的长尾——而大多数 AI 架构甚至还没察觉到这一点。

insider
ai-infrastructure
阅读需 9 分钟

工具延迟尾部:为什么 p99 重塑了智能体架构而 p50 掩盖了问题

基于单个工具中位数构建的智能体延迟预算在生产环境中会悄无声息地失效:经过 7 个步骤后,尾部延迟开始占据主导地位,导致尽管单个工具的仪表盘显示为绿色,用户却仍在等待。本文将深入探讨为什么 p99 会重塑智能体架构,相关的工程规范是什么样的,以及哪些具有 40 年历史的分布式系统技术可以直接应用。

insider
ai-agents
阅读需 10 分钟

你的编排器在规划步骤上消耗的延迟预算

智能体的大部分延迟都消耗在了决定下一步该做什么,而不是执行上。将规划器的开销视为一等公民的 SLO 指标,优化方向就会变得显而易见。

agents
llm