五厂面经真题集快手面经高频延迟优化大模型推理Agent速答 · 约 5 分钟更新 2026-09-29

系统延迟优化怎么做?

一句话结论

系统延迟优化先拆构成,分别看首 token 和吐字速度,再通过 profile 找出大头,针对模型、检索和链路逐项优化,避免盲目修改。

先这样答

系统延迟优化,先拆延迟构成,再用 profile 找出大头,分别优化首 token 和吐字速度,最后按模型、检索、链路逐项处理。不要一开始就盲目做整体改动。先确认用户感受到的慢来自哪里,再选对应手段。

模型侧先看是否能用更小模型,再利用 KV Cache 和投机解码减少生成等待。输出过程可以采用流式,让结果更早开始返回。这里要把首 token 和后续吐字速度分开测,否则容易把不同问题混在一起。

检索侧可以缓存热查询,并行执行召回,减少串行等待。rerank 阶段可以降低候选数量,控制检索耗时。链路侧可以做预取和流水线化,并给不同环节分配超时预算。每项改动都要回到 profile 结果上验证,优先处理占比最大的部分。

面试官会怎么追问

  • 「为什么要把首 token 和吐字速度分开看?」 首 token 反映请求到第一次输出的等待,吐字速度反映开始输出后的生成过程。两者慢的环节可能不同。分开看,才能分别选择模型、缓存、流式等方法。

  • 「你会先优化模型,还是先优化检索?」 我不会先入为主。先 profile,确认延迟大头在模型、检索还是链路,再处理对应部分。若检索占比高,先看热查询缓存、并行召回和 rerank 候选数量;若模型占比高,再看更小模型、KV Cache 和投机解码。

  • 「链路侧除了调超时,还能做什么?」 可以做预取和流水线化,减少环节之间的等待。超时预算要按不同环节分配,避免某个环节占用过多时间。具体先看 profile,再决定改哪一段。

回答的坑

  • 只盯着平均总延迟,忽略首 token 和吐字速度的差异,就难以定位该优化的环节。
  • 没有先 profile 就同时修改模型、检索和链路,容易把时间花在延迟大头之外。

这家公司的面经实录

—— 本题完 ——