题目重点:先定位检索或生成瓶颈,再改变索引、模型与上下文策略。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 题目仅给RAG架构与优化策略,训练为内部文档问答,权限/规模/具体模型必须进一步确认。
- 不是某实际产品内部设计,不承诺某现有服务版本支持特定API。
解题路线
- 文档版本、ACL和source offsets贯穿解析/chunk/index,query走词法+向量召回,rerank再将有出处证据给generator。引用前重新鉴权,不让模型负责访问控制。
- 优化从分层eval开始:retrieval recall@K、ranking、证据完整性、citation支持和拒答。若未召回正确段,换更强generator不能修根因;若已有证据但答案错,查prompt/packing/模型行为。
- chunk选择按结构和跨段关系,去重减少context浪费;query rewrite用受限模型并留原query防漂移。长问题不能简单截断关键条件,output reserve需算进token预算。
- 延迟拆embedding/ANN/rerank/generation/排队,候选K、模型大小、batching与缓存分别实验。cache含tenant/auth/corpus/model版本,权限变化能失效,不能用快缓存换取信息泄漏。
- 对照无RAG/词法/hybrid等基线,固定held-out并做真实用户任务评价。索引增量更新、删除tombstone和双版本切换保证优化可回滚,online监控尾延迟/成本/答案可靠性。
手动走一遍
正确文档被索引但topK没有它,先调召回与chunk,而不是全库塞模型context。同用户权限撤销后旧答案缓存仍含敏感内容,auth版本失效是必要条件。
规模与取舍
索引体积按chunks×dimension/metadata及倒排估,online成本按候选K与输入/输出tokens。离线embedding与onlinequery容量分开;ANN近似召回率需测。
易错点与追问
容易失分的边界
- 只报生成相似度,无法定位系统失效层。
- 缓存不包含权限/文档版本。
继续深挖
- 权限过滤后ANN候选不足如何补召回?
- 优化延迟却降低证据完整性,怎样决定可接受取舍?
