MLE / ML Systems · ML System Design

Microsoft RAG架构与优化:召回、权限和延迟逐层验证

先定位检索或生成瓶颈,再改变索引、模型与上下文策略。

题目重点:先定位检索或生成瓶颈,再改变索引、模型与上下文策略。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 题目仅给RAG架构与优化策略,训练为内部文档问答,权限/规模/具体模型必须进一步确认。
  • 不是某实际产品内部设计,不承诺某现有服务版本支持特定API。

解题路线

  1. 文档版本、ACL和source offsets贯穿解析/chunk/index,query走词法+向量召回,rerank再将有出处证据给generator。引用前重新鉴权,不让模型负责访问控制。
  2. 优化从分层eval开始:retrieval recall@K、ranking、证据完整性、citation支持和拒答。若未召回正确段,换更强generator不能修根因;若已有证据但答案错,查prompt/packing/模型行为。
  3. chunk选择按结构和跨段关系,去重减少context浪费;query rewrite用受限模型并留原query防漂移。长问题不能简单截断关键条件,output reserve需算进token预算。
  4. 延迟拆embedding/ANN/rerank/generation/排队,候选K、模型大小、batching与缓存分别实验。cache含tenant/auth/corpus/model版本,权限变化能失效,不能用快缓存换取信息泄漏。
  5. 对照无RAG/词法/hybrid等基线,固定held-out并做真实用户任务评价。索引增量更新、删除tombstone和双版本切换保证优化可回滚,online监控尾延迟/成本/答案可靠性。

手动走一遍

正确文档被索引但topK没有它,先调召回与chunk,而不是全库塞模型context。同用户权限撤销后旧答案缓存仍含敏感内容,auth版本失效是必要条件。

规模与取舍

索引体积按chunks×dimension/metadata及倒排估,online成本按候选K与输入/输出tokens。离线embedding与onlinequery容量分开;ANN近似召回率需测。

易错点与追问

容易失分的边界

  • 只报生成相似度,无法定位系统失效层。
  • 缓存不包含权限/文档版本。

继续深挖

  • 权限过滤后ANN候选不足如何补召回?
  • 优化延迟却降低证据完整性,怎样决定可接受取舍?
✓已复制微信号!