题目重点:把检索缺失、上下文冲突和生成失真分开测量,建立有来源的回答与拒答机制。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 训练场景是对有权限的内部/产品文档回答事实性问题;若任务是开放创作,‘幻觉’和拒答的定义须重设。
- 有可以标注的测试问题、相关证据段和可接受答案,语料按版本管理;题目未提供任何评估集或基线数字。
解题路线
- 先定义失败类型:相关证据未被召回、召回的版本过时或相互冲突、证据存在但生成内容超出了证据、答案本应拒答却猜测。每类由不同环节负责。
- 检索侧建立带文档版本/权限/时间戳的分块与索引,测试 recall@k、相关片段覆盖和 reranker 增益;对术语精确匹配可做关键词与向量混合。
- 生成侧要求回答句子映射到引用片段,证据不足时表达不确定或拒答;引用存在本身不等于内容被支持,需检查 claim 与 citation 对应。
- 构造离线集覆盖可回答、不可回答、过期、冲突、权限隔离和多跳问题。分别报告 retrieval recall、回答正确性、证据支持率、错误拒答率、延迟与成本。
- 先做人评的分层抽样与误差分析,再用自动评审扩大覆盖;自动评审要对照人工标注校准,并记录判题器自身偏差。上线后按版本做小流量对照与人工升级通道,监测资料更新后质量漂移。
手动走一遍
员工问‘最新报销上限是多少’:若检索到去年政策,问题在索引版本/时间过滤;若检索到今年正确表格却回答了表中没有的数字,是生成 grounding 失败;若员工无权访问财务文档,任何准确数字都不应泄露。三类失败不能只靠加大模型解决。
规模与取舍
设计评估成本随问题数 Q、每题检索候选 K 与人工标注深度增长;线上检索、重排和生成的延迟/成本须分别预算。无法从题目推出唯一召回阈值或幻觉率目标。
易错点与追问
容易失分的边界
- 只报最终回答准确率,不知道检索与生成哪个环节坏了。
- 把有 citation 的回答都判为可信,未查引用是否真的支持句子。
- 用合成问题同时构建索引和评测,形成来源/答案泄漏。
- 未处理权限和版本,旧文或无权文被用作‘正确证据’。
- 以单一 LLM judge 分数替代人工校准和分层误差分析。
继续深挖
- 若检索 recall 很高但 groundedness 低,优先调哪一层?
- 当两个权威文档互相矛盾,系统该如何回答?
- 怎样让无法回答的问题在测试集中占合适比例?
- 数据更新后如何防旧缓存回答继续被引用?
