题目重点:检索召回、证据质量和答案忠实性要拆开测量,权限贯穿所有阶段。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 员工对内部文档提问,要求文档权限与版本;训练以retriever→reranker/evaluator→generator为主,agent多步工具访问另有预算和权限约束。
- 不能承诺某架构/optimizer在所有企业数据最优。先建立标签与基线,再讨论训练;生成答案需要引用可追溯证据且允许不知道。
解题路线
- 文档ingestion存source/version/ACL,解析去重、分块及引用坐标。chunk长度按文档结构/上下文预算选,表格/标题不能盲切;删除/权限变化既更新索引也在回答前再鉴权。
- retriever比较BM25与dense/hybrid,dense双塔用query-positive文档及hard negatives做contrastive loss。负例避免实际相关或不同版本同答案,训练/test按文档和时间隔离;recall@k/MRR按任务切片评估。
- reranker用cross-encoder对query/chunk相关性打分,训练pairwise或pointwise标签;evaluator若评证据充分性与冲突须另定义标签,不把模型置信当真值。算延迟/候选数决定仅rerank有限K。
- generator基线先固定模型加检索prompt;需要微调时使用可验证question-evidence-answer、拒答和无证据样本,loss为监督token CE。优化器/学习率/冻结策略依参数量与资源预算,用验证集选择,不凭模型名字定超参。
- 分层失败分析:未召回、召回但排序差、证据过时/无权限、生成不忠实。最终eval同时看答案正确、citation支持、拒答质量、权限泄露及latency/cost,人工审查校验LLM judge偏差。
手动走一遍
用户问政策v3,但top1是v2,generator再流畅也会答错;需按版本检索或明确冲突,不靠更长prompt补救。一个员工无权限看财务文档,即使embedding命中也不能在prompt或引用里泄露。训练切分以同一文档所有chunks为一组,随机按chunk切会让近重复内容跨test。
规模与取舍
online检索/重排/生成延迟分项,reranker成本随候选K增加,生成成本随context与输出tokens增。索引体积≈chunks×(embedding bytes+metadata),还含倒排与副本;训练数据标注及权限维护是持续成本。
易错点与追问
容易失分的边界
- 只测最终答案分数无法定位retrieval瓶颈。
- 把生产用户query直接全部训练而无数据用途/敏感性处理。
- 无证据还要求模型总给肯定答案。
继续深挖
- 文档每天更新,怎样决定重新embedding范围与模型版本回滚?
- agent多跳检索如何限制循环、工具预算和每步权限?
