完整题目
在高并发查询的Agent系统中,如何优化召回阶段和生成阶段的延迟?请从架构设计、算法优化和工程实现等角度阐述具体策略。
本文目录
先拆瓶颈
高并发 Agent 的召回和生成是两类不同瓶颈,应分别测量排队、计算、存储和网络时间,再做端到端预算。
召回阶段
- 用元数据或 BM25 做安全的候选过滤,再用稠密检索补充语义召回;过滤规则必须通过召回回归,避免提前丢失正确文档。
- HNSW 通过搜索宽度在延迟与召回间取舍;IVF 通过桶数和探测数取舍;PQ 可减少向量存储与带宽,但会引入量化误差。
- 热点 query、embedding 和结果可以按语料与模型版本缓存;更新后必须正确失效。
- 检索服务独立扩缩容,并记录 Recall@K、P95/P99、缓存命中和资源使用。
生成阶段
- continuous batching 提高 GPU 利用率,但要按长度或截止时间调度,避免长请求拖累短请求。
- KV Cache 避免重复计算历史 token,同时需要容量、隔离和淘汰策略。
- speculative decoding 是否有收益取决于草稿模型接受率与额外开销,必须在目标流量上验证。
- 可用上下文压缩、路由小模型或提前拒答降低无效计算,但必须做质量回归。
假设实验
固定 query 集、语料、模型、硬件和并发曲线,逐项改变索引参数、缓存、批处理或解码策略;同时报告端到端任务成功率、召回、首 token、每 token、P95/P99、吞吐和单请求成本。预设降级路径:检索超时走受控缓存或拒答,生成过载走限流或低成本模型,不能静默返回未经验证的结果。